From 032cc497ca5aaca862dc926a93c2a45ed8017737 Mon Sep 17 00:00:00 2001 From: David Williams Date: Sat, 9 Dec 2023 10:33:12 -0800 Subject: [PATCH 001/745] Updating CMake version to 5.0 so libraries are correctly versioned (#3615) --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4335bda5c..919efeb4d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,7 @@ # Setup the project and settings project(raylib C) -set(PROJECT_VERSION 4.5.0) -set(API_VERSION 450) +set(PROJECT_VERSION 5.0.0) +set(API_VERSION 500) include(GNUInstallDirs) include(JoinPaths) From 28bdaa2da6ca66306d89b75bdf727746effb11ad Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Mon, 11 Dec 2023 07:29:19 +0000 Subject: [PATCH 002/745] Update projects/CMake/CMakeLists.txt to raylib 5.0 (#3623) --- projects/CMake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt index cc606a4a2..ee258d604 100644 --- a/projects/CMake/CMakeLists.txt +++ b/projects/CMake/CMakeLists.txt @@ -5,7 +5,7 @@ project(example) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Dependencies -set(RAYLIB_VERSION 4.5.0) +set(RAYLIB_VERSION 5.0) find_package(raylib ${RAYLIB_VERSION} QUIET) # QUIET or REQUIRED if (NOT raylib_FOUND) # If there's none, fetch and build raylib include(FetchContent) @@ -40,4 +40,4 @@ if (APPLE) target_link_libraries(${PROJECT_NAME} "-framework IOKit") target_link_libraries(${PROJECT_NAME} "-framework Cocoa") target_link_libraries(${PROJECT_NAME} "-framework OpenGL") -endif() \ No newline at end of file +endif() From ed8a18ea6413d06a423ec8bb8b00daecf4ebc2f9 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Mon, 11 Dec 2023 04:57:51 -0300 Subject: [PATCH 003/745] [rcore] Fix real touch gestures for `PLATFORM_DESKTOP_SDL` (#3614) * Fix touch gestures for PLATFORM_DESKTOP_SDL * Complement note and optimization * Events optimization * Optimize gesture handling * Reverts previous commit and fixes GESTURE_DRAG to not trigger GESTURE_SWIPE* when it ends * Reapply previous gesture handling optimization also fixing GESTURE_DRAG to not trigger GESTURE_SWIPE* when it ends --- src/platforms/rcore_desktop_sdl.c | 37 ++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 8cb0c1be8..e1e6e4c9a 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -996,7 +996,7 @@ void PollInputEvents(void) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE - bool gestureUpdate = false; // Flag to note gestures require to update + bool realTouch = false; // Flag to differentiate real touch gestures from mouse ones // Register previous keys states // NOTE: Android supports up to 260 keys @@ -1141,7 +1141,6 @@ void PollInputEvents(void) CORE.Input.Touch.currentTouchState[btn] = 1; touchAction = 1; - gestureUpdate = true; } break; case SDL_MOUSEBUTTONUP: { @@ -1155,7 +1154,6 @@ void PollInputEvents(void) CORE.Input.Touch.currentTouchState[btn] = 0; touchAction = 0; - gestureUpdate = true; } break; case SDL_MOUSEWHEEL: { @@ -1178,32 +1176,38 @@ void PollInputEvents(void) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; touchAction = 2; - gestureUpdate = true; } break; // Check touch events // NOTE: These cases need to be reviewed on a real touch screen case SDL_FINGERDOWN: { - CORE.Input.Touch.currentTouchState[event.tfinger.fingerId] = 1; + const int touchId = (int)event.tfinger.fingerId; + CORE.Input.Touch.currentTouchState[touchId] = 1; + CORE.Input.Touch.position[touchId].x = event.tfinger.x * CORE.Window.screen.width; + CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 1; - gestureUpdate = true; + realTouch = true; } break; case SDL_FINGERUP: { - CORE.Input.Touch.currentTouchState[event.tfinger.fingerId] = 0; + const int touchId = (int)event.tfinger.fingerId; + CORE.Input.Touch.currentTouchState[touchId] = 0; + CORE.Input.Touch.position[touchId].x = event.tfinger.x * CORE.Window.screen.width; + CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 0; - gestureUpdate = true; + realTouch = true; } break; case SDL_FINGERMOTION: { - CORE.Input.Touch.position[event.tfinger.fingerId].x = (float)event.motion.x; - CORE.Input.Touch.position[event.tfinger.fingerId].y = (float)event.motion.y; + const int touchId = (int)event.tfinger.fingerId; + CORE.Input.Touch.position[touchId].x = event.tfinger.x * CORE.Window.screen.width; + CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 2; - gestureUpdate = true; + realTouch = true; } break; // Check gamepad events @@ -1228,7 +1232,7 @@ void PollInputEvents(void) } #if defined(SUPPORT_GESTURES_SYSTEM) - if (gestureUpdate) + if (touchAction > -1) { // Process mouse events as touches to be able to use mouse-gestures GestureEvent gestureEvent = { 0 }; @@ -1243,7 +1247,7 @@ void PollInputEvents(void) gestureEvent.pointCount = 1; // Register touch points position, only one point registered - if (touchAction == 2) gestureEvent.position[0] = CORE.Input.Touch.position[0]; + if (touchAction == 2 || realTouch) gestureEvent.position[0] = CORE.Input.Touch.position[0]; else gestureEvent.position[0] = GetMousePosition(); // Normalize gestureEvent.position[0] for CORE.Window.screen.width and CORE.Window.screen.height @@ -1252,6 +1256,8 @@ void PollInputEvents(void) // Gesture data is sent to gestures-system for processing ProcessGestureEvent(gestureEvent); + + touchAction = -1; } #endif } @@ -1404,6 +1410,11 @@ int InitPlatform(void) //if (platform.gamepadgamepad == NULL) TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); } + // Disable mouse events being interpreted as touch events + // NOTE: This is wanted because there are SDL_FINGER* events available which provide unique data + // Due to the way PollInputEvents() and rgestures.h are currently implemented, setting this won't break SUPPORT_MOUSE_GESTURES + SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0"); + SDL_EventState(SDL_DROPFILE, SDL_ENABLE); //---------------------------------------------------------------------------- From 44eeda247597b7d89b93612495c3b7f291604b61 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Mon, 11 Dec 2023 04:58:55 -0300 Subject: [PATCH 004/745] Optimize gesture handling for PLATFORM_DRM (#3616) --- src/platforms/rcore_drm.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index e9493d721..2fec53f58 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -612,7 +612,6 @@ void PollInputEvents(void) struct input_event event = { 0 }; int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE - bool gestureUpdate = false; // Flag to note gestures require to update // Try to read data from the mouse/touch/gesture and only continue if successful while (read(fd, &event, sizeof(event)) == (int)sizeof(event)) @@ -631,7 +630,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; } if (event.code == REL_Y) @@ -645,7 +643,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; } if (event.code == REL_WHEEL) platform.eventWheelMove.y += event.value; @@ -661,7 +658,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0].x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; } if (event.code == ABS_Y) @@ -670,7 +666,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0].y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; } // Multitouch movement @@ -706,7 +701,6 @@ void PollInputEvents(void) platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 0; touchAction = 0; // TOUCH_ACTION_UP - gestureUpdate = true; } if (event.value && !previousMouseLeftButtonState) @@ -714,7 +708,6 @@ void PollInputEvents(void) platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 1; touchAction = 1; // TOUCH_ACTION_DOWN - gestureUpdate = true; } } @@ -730,7 +723,6 @@ void PollInputEvents(void) if (event.value > 0) touchAction = 1; // TOUCH_ACTION_DOWN else touchAction = 0; // TOUCH_ACTION_UP - gestureUpdate = true; } if (event.code == BTN_RIGHT) platform.currentButtonStateEvdev[MOUSE_BUTTON_RIGHT] = event.value; @@ -759,7 +751,7 @@ void PollInputEvents(void) } #if defined(SUPPORT_GESTURES_SYSTEM) - if (gestureUpdate) + if (touchAction > -1) { GestureEvent gestureEvent = { 0 }; @@ -774,7 +766,7 @@ void PollInputEvents(void) ProcessGestureEvent(gestureEvent); - gestureUpdate = false; + touchAction = -1; } #endif } From 39457ace2f8048aa82d180040b1bce9ca59a6b74 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Mon, 11 Dec 2023 05:11:20 -0300 Subject: [PATCH 005/745] [rcore] Add `ToggleBorderlessWindowed()` implementation for `PLATFORM_WEB` (#3622) * Add ToggleBorderlessWindowed() for PLATFORM_WEB * Fix coding convention --- src/platforms/rcore_web.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index ae210853b..c322a1d52 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -211,7 +211,33 @@ void ToggleFullscreen(void) // Toggle borderless windowed mode void ToggleBorderlessWindowed(void) { - TRACELOG(LOG_WARNING, "ToggleBorderlessWindowed() not available on target platform"); + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + EM_ASM(document.exitFullscreen();); + + CORE.Window.fullscreen = false; + CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; + } + + if (!IsWindowState(FLAG_BORDERLESS_WINDOWED_MODE)) + { + // NOTE: 1. The setTimeouts handle the browser mode change delay + // 2. The style unset handles the possibility of a width="100%" like on the default shell.html file + EM_ASM( + setTimeout(function() + { + Module.requestFullscreen(true, true); + setTimeout(function() + { + canvas.style.width="unset"; + }, 100); + }, 100); + ); + + CORE.Window.flags |= FLAG_BORDERLESS_WINDOWED_MODE; + } + else CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; } // Set window state: maximized, if resizable From a2e45239c314f970ada62ef08bee72e6574d8808 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Mon, 11 Dec 2023 05:11:42 -0300 Subject: [PATCH 006/745] [rcore] Complement `SetWindowState()` and `ClearWindowState()` for `PLATFORM_WEB` (#3625) * Complement SetWindowState() and ClearWindowState() for PLATFORM_WEB * Add FLAG_WINDOW_RESIZABLE to SetWindowState() and ClearWindowState() for PLATFORM_WEB --- src/platforms/rcore_web.c | 206 +++++++++++++++++++++++++++++++++++++- 1 file changed, 204 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index c322a1d52..8ffceafdc 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -261,13 +261,215 @@ void RestoreWindow(void) // Set window configuration state using flags void SetWindowState(unsigned int flags) { - TRACELOG(LOG_WARNING, "SetWindowState() not available on target platform"); + // Check previous state and requested state to apply required changes + // NOTE: In most cases the functions already change the flags internally + + // State change: FLAG_VSYNC_HINT + if ((flags & FLAG_VSYNC_HINT) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_VSYNC_HINT) not available on target platform"); + } + + // State change: FLAG_BORDERLESS_WINDOWED_MODE + if (((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) != (flags & FLAG_BORDERLESS_WINDOWED_MODE)) && ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0)) + { + ToggleBorderlessWindowed(); // NOTE: Window state flag updated inside function + } + + // State change: FLAG_FULLSCREEN_MODE + if ((flags & FLAG_FULLSCREEN_MODE) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_FULLSCREEN_MODE) not available yet on target platform"); + } + + // State change: FLAG_WINDOW_RESIZABLE + if (((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) != (flags & FLAG_WINDOW_RESIZABLE)) && ((flags & FLAG_WINDOW_RESIZABLE) > 0)) + { + glfwSetWindowAttrib(platform.handle, GLFW_RESIZABLE, GLFW_TRUE); + CORE.Window.flags |= FLAG_WINDOW_RESIZABLE; + } + + // State change: FLAG_WINDOW_UNDECORATED + if ((flags & FLAG_WINDOW_UNDECORATED) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_UNDECORATED) not available on target platform"); + } + + // State change: FLAG_WINDOW_HIDDEN + if ((flags & FLAG_WINDOW_HIDDEN) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_HIDDEN) not available on target platform"); + } + + // State change: FLAG_WINDOW_MINIMIZED + if ((flags & FLAG_WINDOW_MINIMIZED) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_MINIMIZED) not available on target platform"); + } + + // State change: FLAG_WINDOW_MAXIMIZED + if ((flags & FLAG_WINDOW_MAXIMIZED) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_MAXIMIZED) not available on target platform"); + } + + // State change: FLAG_WINDOW_UNFOCUSED + if ((flags & FLAG_WINDOW_UNFOCUSED) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_UNFOCUSED) not available on target platform"); + } + + // State change: FLAG_WINDOW_TOPMOST + if ((flags & FLAG_WINDOW_TOPMOST) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_TOPMOST) not available on target platform"); + } + + // State change: FLAG_WINDOW_ALWAYS_RUN + if ((flags & FLAG_WINDOW_ALWAYS_RUN) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_ALWAYS_RUN) not available on target platform"); + } + + // The following states can not be changed after window creation + // NOTE: Review for PLATFORM_WEB + + // State change: FLAG_WINDOW_TRANSPARENT + if ((flags & FLAG_WINDOW_TRANSPARENT) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_TRANSPARENT) not available on target platform"); + } + + // State change: FLAG_WINDOW_HIGHDPI + if ((flags & FLAG_WINDOW_HIGHDPI) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_HIGHDPI) not available on target platform"); + } + + // State change: FLAG_WINDOW_MOUSE_PASSTHROUGH + if ((flags & FLAG_WINDOW_MOUSE_PASSTHROUGH) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_WINDOW_MOUSE_PASSTHROUGH) not available on target platform"); + } + + // State change: FLAG_MSAA_4X_HINT + if ((flags & FLAG_MSAA_4X_HINT) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_MSAA_4X_HINT) not available on target platform"); + } + + // State change: FLAG_INTERLACED_HINT + if ((flags & FLAG_INTERLACED_HINT) > 0) + { + TRACELOG(LOG_WARNING, "SetWindowState(FLAG_INTERLACED_HINT) not available on target platform"); + } } // Clear window configuration state flags void ClearWindowState(unsigned int flags) { - TRACELOG(LOG_WARNING, "ClearWindowState() not available on target platform"); + // Check previous state and requested state to apply required changes + // NOTE: In most cases the functions already change the flags internally + + // State change: FLAG_VSYNC_HINT + if ((flags & FLAG_VSYNC_HINT) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_VSYNC_HINT) not available on target platform"); + } + + // State change: FLAG_BORDERLESS_WINDOWED_MODE + if (((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0) && ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0)) + { + ToggleBorderlessWindowed(); // NOTE: Window state flag updated inside function + } + + // State change: FLAG_FULLSCREEN_MODE + if ((flags & FLAG_FULLSCREEN_MODE) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_FULLSCREEN_MODE) not available yet on target platform"); + } + + // State change: FLAG_WINDOW_RESIZABLE + if (((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) > 0) && ((flags & FLAG_WINDOW_RESIZABLE) > 0)) + { + glfwSetWindowAttrib(platform.handle, GLFW_RESIZABLE, GLFW_FALSE); + CORE.Window.flags &= ~FLAG_WINDOW_RESIZABLE; + } + + // State change: FLAG_WINDOW_HIDDEN + if ((flags & FLAG_WINDOW_HIDDEN) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_HIDDEN) not available on target platform"); + } + + // State change: FLAG_WINDOW_MINIMIZED + if ((flags & FLAG_WINDOW_MINIMIZED) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_MINIMIZED) not available on target platform"); + } + + // State change: FLAG_WINDOW_MAXIMIZED + if ((flags & FLAG_WINDOW_MAXIMIZED) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_MAXIMIZED) not available on target platform"); + } + + // State change: FLAG_WINDOW_UNDECORATED + if ((flags & FLAG_WINDOW_UNDECORATED) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_UNDECORATED) not available on target platform"); + } + + // State change: FLAG_WINDOW_UNFOCUSED + if ((flags & FLAG_WINDOW_UNFOCUSED) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_UNFOCUSED) not available on target platform"); + } + + // State change: FLAG_WINDOW_TOPMOST + if ((flags & FLAG_WINDOW_TOPMOST) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_TOPMOST) not available on target platform"); + } + + // State change: FLAG_WINDOW_ALWAYS_RUN + if ((flags & FLAG_WINDOW_ALWAYS_RUN) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_ALWAYS_RUN) not available on target platform"); + } + + // The following states can not be changed after window creation + // NOTE: Review for PLATFORM_WEB + + // State change: FLAG_WINDOW_TRANSPARENT + if ((flags & FLAG_WINDOW_TRANSPARENT) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_TRANSPARENT) not available on target platform"); + } + + // State change: FLAG_WINDOW_HIGHDPI + if ((flags & FLAG_WINDOW_HIGHDPI) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_HIGHDPI) not available on target platform"); + } + + // State change: FLAG_WINDOW_MOUSE_PASSTHROUGH + if ((flags & FLAG_WINDOW_MOUSE_PASSTHROUGH) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_WINDOW_MOUSE_PASSTHROUGH) not available on target platform"); + } + + // State change: FLAG_MSAA_4X_HINT + if ((flags & FLAG_MSAA_4X_HINT) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_MSAA_4X_HINT) not available on target platform"); + } + + // State change: FLAG_INTERLACED_HINT + if ((flags & FLAG_INTERLACED_HINT) > 0) + { + TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_INTERLACED_HINT) not available on target platform"); + } } // Set icon for window From 31d3ed97c75b4492cea55b458459946f7c739938 Mon Sep 17 00:00:00 2001 From: riadbettole <118698087+riadbettole@users.noreply.github.com> Date: Mon, 11 Dec 2023 09:12:30 +0100 Subject: [PATCH 007/745] Update audio_raw_stream.c (#3624) AudioInputCallBack has this audioFrequency += 1.0f; audioFrequency -= 1.0f; cancels out each others --- examples/audio/audio_raw_stream.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/audio/audio_raw_stream.c b/examples/audio/audio_raw_stream.c index 6befa765a..b3173ab97 100644 --- a/examples/audio/audio_raw_stream.c +++ b/examples/audio/audio_raw_stream.c @@ -38,8 +38,7 @@ float sineIdx = 0.0f; void AudioInputCallback(void *buffer, unsigned int frames) { audioFrequency = frequency + (audioFrequency - frequency)*0.95f; - audioFrequency += 1.0f; - audioFrequency -= 1.0f; + float incr = audioFrequency/44100.0f; short *d = (short *)buffer; From 6f3c87a99969e92ada46e54258b1653994c24903 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 11 Dec 2023 09:21:30 +0100 Subject: [PATCH 008/745] Fix #3613 --- src/rtextures.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rtextures.c b/src/rtextures.c index 8742b0c9c..c78b0ebf4 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3706,7 +3706,7 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color // Draw text (default font) within an image (destination) void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color) { -#if defined(SUPPORT_MODULE_RTEXT) +#if defined(SUPPORT_MODULE_RTEXT) && defined(SUPPORT_DEFAULT_FONT) // Make sure default font is loaded to be used on image text drawing if (GetFontDefault().texture.id == 0) LoadFontDefault(); From c5ebdb8ba77afa5745eb01032cf1909b5a03bffa Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 11 Dec 2023 09:33:21 +0100 Subject: [PATCH 009/745] REVIEWED: Issue in sequence generation #3612 --- src/external/rprand.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/external/rprand.h b/src/external/rprand.h index c9b460cd6..7e27d980f 100644 --- a/src/external/rprand.h +++ b/src/external/rprand.h @@ -200,8 +200,7 @@ int *rprand_load_sequence(unsigned int count, int min, int max) for (unsigned int i = 0; i < count;) { - value = ((int)rprand_xoshiro()%(abs(max - min) + 1)) + min; - value_is_dup = false; + value = ((unsigned int)rprand_xoshiro()%(abs(max - min) + 1)) + min; for (int j = 0; j < i; j++) { @@ -217,6 +216,8 @@ int *rprand_load_sequence(unsigned int count, int min, int max) sequence[i] = value; i++; } + + value_is_dup = false; } return sequence; From 9322ad0f9bbc7ce1a7f94109dd89c5082ac483fe Mon Sep 17 00:00:00 2001 From: 2Bear Date: Wed, 13 Dec 2023 06:05:14 +0800 Subject: [PATCH 010/745] Ignore compiled dll binaries. (#3628) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 559f9f0d9..6ff0e2346 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ packages/ *.bc *.so *.so.* +*.dll # Ignore wasm data in examples/ examples/**/*.wasm From a57a0ecd96fd64c1202a2ba289e735fffcc54fd1 Mon Sep 17 00:00:00 2001 From: lipx <120847863+lipx1508@users.noreply.github.com> Date: Wed, 13 Dec 2023 17:19:14 -0300 Subject: [PATCH 011/745] Update audio_stream_effects.c (#3618) * Update audio_stream_effects.c This may slightly improve performance and be more welcoming for new users despite being an more advanced feature. void * usually throws an error in most compilers and it would be better to just avoid it. Also added because booleans are, sometimes, not defined by . * Update audio_stream_effects.c --- examples/audio/audio_stream_effects.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/audio/audio_stream_effects.c b/examples/audio/audio_stream_effects.c index 219305057..2262d41f9 100644 --- a/examples/audio/audio_stream_effects.c +++ b/examples/audio/audio_stream_effects.c @@ -2,7 +2,7 @@ * * raylib [audio] example - Music stream processing effects * -* Example originally created with raylib 4.2, last time updated with raylib 4.2 +* Example originally created with raylib 4.2, last time updated with raylib 5.0 * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software @@ -13,7 +13,7 @@ #include "raylib.h" -#include // Required for: NULL +#include // Required for: NULL // Required delay effect variables static float *delayBuffer = NULL; @@ -149,13 +149,17 @@ static void AudioProcessEffectLPF(void *buffer, unsigned int frames) static const float cutoff = 70.0f / 44100.0f; // 70 Hz lowpass filter const float k = cutoff / (cutoff + 0.1591549431f); // RC filter formula + // Converts the buffer data before using it + float *bufferData = (float *)buffer; for (unsigned int i = 0; i < frames*2; i += 2) { - float l = ((float *)buffer)[i], r = ((float *)buffer)[i + 1]; + const float l = bufferData[i]; + const float r = bufferData[i + 1]; + low[0] += k * (l - low[0]); low[1] += k * (r - low[1]); - ((float *)buffer)[i] = low[0]; - ((float *)buffer)[i + 1] = low[1]; + bufferData[i] = low[0]; + bufferData[i + 1] = low[1]; } } @@ -176,4 +180,4 @@ static void AudioProcessEffectDelay(void *buffer, unsigned int frames) delayBuffer[delayWriteIndex++] = ((float *)buffer)[i + 1]; if (delayWriteIndex == delayBufferSize) delayWriteIndex = 0; } -} \ No newline at end of file +} From 6083d2b9f3a508c87bf88ceeb29e603b00a9a7e8 Mon Sep 17 00:00:00 2001 From: Benjamin Schmid Ties <76067254+benjibst@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:20:13 +0100 Subject: [PATCH 012/745] fixed coding style in function TextToFloat (#3627) * function to convert string to float * fix code to match coding conventions --- src/raylib.h | 1 + src/rtext.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index fd870c188..d5eafe7f3 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1481,6 +1481,7 @@ RLAPI const char *TextToUpper(const char *text); // Get upp RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported) +RLAPI float TextToFloat(const char *text); // Get float value from text (negative values not supported) //------------------------------------------------------------------------------------ // Basic 3d Shapes Drawing Functions (Module: models) diff --git a/src/rtext.c b/src/rtext.c index 1ab45277a..a919fa4ad 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1421,6 +1421,28 @@ int TextToInteger(const char *text) return value*sign; } +float TextToFloat(const char *text) +{ + float value = 0.0f; + float sign = 1.0f; + + if ((text[0] == '+') || (text[0] == '-')) + { + if (text[0] == '-') sign = -1; + text++; + } + int i = 0; + for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) value = value*10.0f + (float)(text[i] - '0'); + if (text[i++] != '.') return value*sign; + float divisor = 10.0f; + for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) + { + value += ((float)(text[i] - '0'))/divisor; + divisor = divisor*10.0f; + } + return value; +} + #if defined(SUPPORT_TEXT_MANIPULATION) // Copy one string to another, returns bytes copied int TextCopy(char *dst, const char *src) From 222f6f787791af858da5416ebb528dab0e9ce5dc Mon Sep 17 00:00:00 2001 From: Romash <33938415+rmn20@users.noreply.github.com> Date: Wed, 13 Dec 2023 23:21:08 +0300 Subject: [PATCH 013/745] Fix box blur symmetry & simplify code (#3631) --- src/rtextures.c | 46 ++++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index c78b0ebf4..92efcfe06 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1959,29 +1959,24 @@ void ImageBlurGaussian(Image *image, int blurSize) { float avgG = 0.0f; float avgB = 0.0f; float avgAlpha = 0.0f; - int convolutionSize = blurSize+1; + int convolutionSize = blurSize; - for (int i = 0; i < blurSize+1; i++) + for (int i = 0; i < blurSize; i++) { avgR += pixelsCopy1[row*image->width + i].x; avgG += pixelsCopy1[row*image->width + i].y; avgB += pixelsCopy1[row*image->width + i].z; avgAlpha += pixelsCopy1[row*image->width + i].w; - } + } - pixelsCopy2[row*image->width].x = avgR/convolutionSize; - pixelsCopy2[row*image->width].y = avgG/convolutionSize; - pixelsCopy2[row*image->width].z = avgB/convolutionSize; - pixelsCopy2[row*image->width].w = avgAlpha/convolutionSize; - - for (int x = 1; x < image->width; x++) + for (int x = 0; x < image->width; x++) { - if (x-blurSize >= 0) + if (x-blurSize-1 >= 0) { - avgR -= pixelsCopy1[row*image->width + x-blurSize].x; - avgG -= pixelsCopy1[row*image->width + x-blurSize].y; - avgB -= pixelsCopy1[row*image->width + x-blurSize].z; - avgAlpha -= pixelsCopy1[row*image->width + x-blurSize].w; + avgR -= pixelsCopy1[row*image->width + x-blurSize-1].x; + avgG -= pixelsCopy1[row*image->width + x-blurSize-1].y; + avgB -= pixelsCopy1[row*image->width + x-blurSize-1].z; + avgAlpha -= pixelsCopy1[row*image->width + x-blurSize-1].w; convolutionSize--; } @@ -1999,7 +1994,7 @@ void ImageBlurGaussian(Image *image, int blurSize) { pixelsCopy2[row*image->width + x].z = avgB/convolutionSize; pixelsCopy2[row*image->width + x].w = avgAlpha/convolutionSize; } - } + } // Vertical motion blur for (int col = 0; col < image->width; col++) @@ -2008,9 +2003,9 @@ void ImageBlurGaussian(Image *image, int blurSize) { float avgG = 0.0f; float avgB = 0.0f; float avgAlpha = 0.0f; - int convolutionSize = blurSize+1; + int convolutionSize = blurSize; - for (int i = 0; i < blurSize+1; i++) + for (int i = 0; i < blurSize; i++) { avgR += pixelsCopy2[i*image->width + col].x; avgG += pixelsCopy2[i*image->width + col].y; @@ -2018,19 +2013,14 @@ void ImageBlurGaussian(Image *image, int blurSize) { avgAlpha += pixelsCopy2[i*image->width + col].w; } - pixelsCopy1[col].x = (unsigned char) (avgR/convolutionSize); - pixelsCopy1[col].y = (unsigned char) (avgG/convolutionSize); - pixelsCopy1[col].z = (unsigned char) (avgB/convolutionSize); - pixelsCopy1[col].w = (unsigned char) (avgAlpha/convolutionSize); - - for (int y = 1; y < image->height; y++) + for (int y = 0; y < image->height; y++) { - if (y-blurSize >= 0) + if (y-blurSize-1 >= 0) { - avgR -= pixelsCopy2[(y-blurSize)*image->width + col].x; - avgG -= pixelsCopy2[(y-blurSize)*image->width + col].y; - avgB -= pixelsCopy2[(y-blurSize)*image->width + col].z; - avgAlpha -= pixelsCopy2[(y-blurSize)*image->width + col].w; + avgR -= pixelsCopy2[(y-blurSize-1)*image->width + col].x; + avgG -= pixelsCopy2[(y-blurSize-1)*image->width + col].y; + avgB -= pixelsCopy2[(y-blurSize-1)*image->width + col].z; + avgAlpha -= pixelsCopy2[(y-blurSize-1)*image->width + col].w; convolutionSize--; } if (y+blurSize < image->height) From 387506faab0339dea6854dd79b80282d528428c8 Mon Sep 17 00:00:00 2001 From: Matthew Oros <32916949+orosmatthew@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:22:44 -0500 Subject: [PATCH 014/745] [rcore] Remove unused vScreenCenter (#3632) --- examples/core/core_vr_simulator.c | 1 - src/raylib.h | 1 - 2 files changed, 2 deletions(-) diff --git a/examples/core/core_vr_simulator.c b/examples/core/core_vr_simulator.c index fc2dee6b9..9acea1972 100644 --- a/examples/core/core_vr_simulator.c +++ b/examples/core/core_vr_simulator.c @@ -39,7 +39,6 @@ int main(void) .vResolution = 1200, // Vertical resolution in pixels .hScreenSize = 0.133793f, // Horizontal size in meters .vScreenSize = 0.0669f, // Vertical size in meters - .vScreenCenter = 0.04678f, // Screen center in meters .eyeToScreenDistance = 0.041f, // Distance between eye and display in meters .lensSeparationDistance = 0.07f, // Lens separation distance in meters .interpupillaryDistance = 0.07f, // IPD (distance between pupils) in meters diff --git a/src/raylib.h b/src/raylib.h index d5eafe7f3..206b26573 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -484,7 +484,6 @@ typedef struct VrDeviceInfo { int vResolution; // Vertical resolution in pixels float hScreenSize; // Horizontal size in meters float vScreenSize; // Vertical size in meters - float vScreenCenter; // Screen center in meters float eyeToScreenDistance; // Distance between eye and display in meters float lensSeparationDistance; // Lens separation distance in meters float interpupillaryDistance; // IPD (distance between pupils) in meters From cec2261e968bfc554d7b1639dd4d55ab4e2235e6 Mon Sep 17 00:00:00 2001 From: Matthew Oros <32916949+orosmatthew@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:24:24 -0500 Subject: [PATCH 015/745] [rcore] Flip VR screens (#3633) --- src/rcore.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index a85b0971f..8691be304 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1192,8 +1192,8 @@ VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device) // NOTE: Camera movement might seem more natural if we model the head. // Our axis of rotation is the base of our head, so we might want to add // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions. - config.viewOffset[0] = MatrixTranslate(-device.interpupillaryDistance*0.5f, 0.075f, 0.045f); - config.viewOffset[1] = MatrixTranslate(device.interpupillaryDistance*0.5f, 0.075f, 0.045f); + config.viewOffset[0] = MatrixTranslate(device.interpupillaryDistance*0.5f, 0.075f, 0.045f); + config.viewOffset[1] = MatrixTranslate(-device.interpupillaryDistance*0.5f, 0.075f, 0.045f); // Compute eyes Viewports /* From 88db11fda4421c66a6043011b36a3f13494b98e5 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 14 Dec 2023 15:30:48 +0100 Subject: [PATCH 016/745] Update rtextures.c --- src/rtextures.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index c78b0ebf4..a7632f3d3 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -213,14 +213,14 @@ #define STBIR_MALLOC(size,c) ((void)(c), RL_MALLOC(size)) #define STBIR_FREE(ptr,c) ((void)(c), RL_FREE(ptr)) #define STB_IMAGE_RESIZE_IMPLEMENTATION -#include "external/stb_image_resize2.h" // Required for: stbir_resize_uint8_linear() [ImageResize()] +#include "external/stb_image_resize2.h" // Required for: stbir_resize_uint8_linear() [ImageResize()] #if defined(SUPPORT_FILEFORMAT_SVG) - #define NANOSVG_IMPLEMENTATION // Expands implementation - #include "external/nanosvg.h" + #define NANOSVG_IMPLEMENTATION // Expands implementation + #include "external/nanosvg.h" - #define NANOSVGRAST_IMPLEMENTATION - #include "external/nanosvgrast.h" + #define NANOSVGRAST_IMPLEMENTATION + #include "external/nanosvgrast.h" #endif //---------------------------------------------------------------------------------- From 38626dcffdf03b031491bdc6b6df97d9aee2a6e3 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 14 Dec 2023 15:32:53 +0100 Subject: [PATCH 017/745] REVIEWED: HighDPI support on Web platform #3372 -WIP- NOTE: The code is commented until the build system gets updated to latest emscripten. --- src/platforms/rcore_web.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 8ffceafdc..76e7dba3e 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -944,8 +944,13 @@ int InitPlatform(void) if ((CORE.Window.flags & FLAG_WINDOW_TOPMOST) > 0) glfwWindowHint(GLFW_FLOATING, GLFW_TRUE); else glfwWindowHint(GLFW_FLOATING, GLFW_FALSE); - // NOTE: Some GLFW flags are not supported on HTML5 - // e.g.: GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_SCALE_TO_MONITOR, GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_MOUSE_PASSTHROUGH + // NOTE: Some GLFW flags are not supported on HTML5 + // e.g.: GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_MOUSE_PASSTHROUGH + + // Scale content area based on the monitor content scale where window is placed on + // NOTE: This feature requires emscripten 3.1.51 + //if ((CORE.Window.flags & FLAG_WINDOW_HIGHDPI) > 0) glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_TRUE); + //else glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_FALSE); if (CORE.Window.flags & FLAG_MSAA_4X_HINT) { From 10c82595b0b239f34baf34ae0faa5bca9d5088c8 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:55:33 -0300 Subject: [PATCH 018/745] Add GetMonitorWidth() and GetMonitorHeight() implementations for PLATFORM_WEB (#3636) --- src/platforms/rcore_web.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 76e7dba3e..57fd7656f 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -572,15 +572,17 @@ Vector2 GetMonitorPosition(int monitor) // Get selected monitor width (currently used by monitor) int GetMonitorWidth(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorWidth() not implemented on target platform"); - return 0; + int w = 0; + w = EM_ASM_INT( { return screen.width; }, 0); + return w; } // Get selected monitor height (currently used by monitor) int GetMonitorHeight(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorHeight() not implemented on target platform"); - return 0; + int h = 0; + h = EM_ASM_INT( { return screen.height; }, 0); + return h; } // Get selected monitor physical width in millimetres @@ -946,7 +948,7 @@ int InitPlatform(void) // NOTE: Some GLFW flags are not supported on HTML5 // e.g.: GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_MOUSE_PASSTHROUGH - + // Scale content area based on the monitor content scale where window is placed on // NOTE: This feature requires emscripten 3.1.51 //if ((CORE.Window.flags & FLAG_WINDOW_HIGHDPI) > 0) glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_TRUE); From 1e7b99562a398cf5a41fda557297a41f65aeb1f4 Mon Sep 17 00:00:00 2001 From: Braedon Lewis Date: Fri, 15 Dec 2023 10:23:35 -0500 Subject: [PATCH 019/745] Add new raylib-beef binding (#3640) --- BINDINGS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/BINDINGS.md b/BINDINGS.md index 4cd22013d..c66c12808 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -7,6 +7,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | name | raylib version | language | license | repo | |:------------------:|:---------------:|:---------:|:----------:|-----------------------------------------------------------| | raylib | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | https://github.com/raysan5/raylib | +| raylib-beef | **5.0** | [Beef](https://www.beeflang.org/) | MIT | https://github.com/Starpelly/raylib-beef | | raylib-boo | 3.7 | [Boo](http://boo-language.github.io/)| MIT | https://github.com/Rabios/raylib-boo | | Raylib-cs | **4.5** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | | Raylib-CsLo | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/NotNotTech/Raylib-CsLo | From 489f0b93f9cbb05af889a3412a8490d6640168c0 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Fri, 15 Dec 2023 12:24:45 -0300 Subject: [PATCH 020/745] [rcore] Add `GetWindowPosition()` implementation for `PLATFORM_WEB` and fixes #3636 style/format (#3637) * Add GetWindowPosition() implementation for PLATFORM_WEB and fixes #3636 style/format * Remove double space --- src/platforms/rcore_web.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 57fd7656f..6387420f9 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -572,17 +572,19 @@ Vector2 GetMonitorPosition(int monitor) // Get selected monitor width (currently used by monitor) int GetMonitorWidth(int monitor) { - int w = 0; - w = EM_ASM_INT( { return screen.width; }, 0); - return w; + // NOTE: Returned value is limited to the current monitor where the browser window is located + int width = 0; + width = EM_ASM_INT( { return screen.width; }, 0); + return width; } // Get selected monitor height (currently used by monitor) int GetMonitorHeight(int monitor) { - int h = 0; - h = EM_ASM_INT( { return screen.height; }, 0); - return h; + // NOTE: Returned value is limited to the current monitor where the browser window is located + int height = 0; + height = EM_ASM_INT( { return screen.height; }, 0); + return height; } // Get selected monitor physical width in millimetres @@ -616,8 +618,11 @@ const char *GetMonitorName(int monitor) // Get window position XY on monitor Vector2 GetWindowPosition(void) { - TRACELOG(LOG_WARNING, "GetWindowPosition() not implemented on target platform"); - return (Vector2){ 0, 0 }; + // NOTE: Returned position is relative to the current monitor where the browser window is located + Vector2 position = { 0, 0 }; + position.x = (float)EM_ASM_INT( { return window.screenX; }, 0); + position.y = (float)EM_ASM_INT( { return window.screenY; }, 0); + return position; } // Get window scale DPI factor for current monitor From 9bdc21798792a251ac7d8df828d13ef7b206519c Mon Sep 17 00:00:00 2001 From: devdad Date: Fri, 15 Dec 2023 17:13:44 +0100 Subject: [PATCH 021/745] basic PBR example (#3621) * basic pbr example pbr implementation includes rpbr.h and few shader files header only file, which self contain everything needed for pbr rendering. Few textures and one model of the car which is under free licence which is included inside basic_pbr.c example file currently supported shader versions are 120 and 330 , version 100 has small issue which I have to resolve * Unloading PBRMAterial I forgot unloading PBRMaterial * fix small issue with texOffset assigment. value was Vector4 at first but I found out it would be unclear for and users, so I change to have two Vector2 instead, but forgot to assign offset . * Changed size of textures and file name changed Changed size of textures from 2048x2048 to 1024x1024 and file name changed to shaders_basic_pbr.c , Added the function PBRModel PBRModelLoadFromMesh(Mesh mesh); but GenMeshPlane(2, 2.0, 3, 3) culdn't be used because it crash once GenMeshTangents() is used with that plane mesh --- .../shaders/resources/models/old_car_new.glb | Bin 0 -> 467788 bytes examples/shaders/resources/models/plane.glb | Bin 0 -> 1144 bytes examples/shaders/resources/old_car_d.png | Bin 0 -> 1684886 bytes examples/shaders/resources/old_car_e.png | Bin 0 -> 1775 bytes examples/shaders/resources/old_car_mra.png | Bin 0 -> 1136009 bytes examples/shaders/resources/old_car_n.png | Bin 0 -> 1287246 bytes examples/shaders/resources/road_a.png | Bin 0 -> 638390 bytes examples/shaders/resources/road_mra.png | Bin 0 -> 673099 bytes examples/shaders/resources/road_n.png | Bin 0 -> 660787 bytes .../shaders/resources/shaders/glsl100/pbr.fs | 156 ++++++ .../shaders/resources/shaders/glsl100/pbr.vs | 75 +++ .../shaders/resources/shaders/glsl120/pbr.fs | 156 ++++++ .../shaders/resources/shaders/glsl120/pbr.vs | 75 +++ .../shaders/resources/shaders/glsl330/pbr.fs | 159 ++++++ .../shaders/resources/shaders/glsl330/pbr.vs | 49 ++ examples/shaders/rpbr.h | 466 ++++++++++++++++++ examples/shaders/shaders_basic_pbr.c | 171 +++++++ 17 files changed, 1307 insertions(+) create mode 100644 examples/shaders/resources/models/old_car_new.glb create mode 100644 examples/shaders/resources/models/plane.glb create mode 100644 examples/shaders/resources/old_car_d.png create mode 100644 examples/shaders/resources/old_car_e.png create mode 100644 examples/shaders/resources/old_car_mra.png create mode 100644 examples/shaders/resources/old_car_n.png create mode 100644 examples/shaders/resources/road_a.png create mode 100644 examples/shaders/resources/road_mra.png create mode 100644 examples/shaders/resources/road_n.png create mode 100644 examples/shaders/resources/shaders/glsl100/pbr.fs create mode 100644 examples/shaders/resources/shaders/glsl100/pbr.vs create mode 100644 examples/shaders/resources/shaders/glsl120/pbr.fs create mode 100644 examples/shaders/resources/shaders/glsl120/pbr.vs create mode 100644 examples/shaders/resources/shaders/glsl330/pbr.fs create mode 100644 examples/shaders/resources/shaders/glsl330/pbr.vs create mode 100644 examples/shaders/rpbr.h create mode 100644 examples/shaders/shaders_basic_pbr.c diff --git a/examples/shaders/resources/models/old_car_new.glb b/examples/shaders/resources/models/old_car_new.glb new file mode 100644 index 0000000000000000000000000000000000000000..119995ca76a83cd1394a555de0511dbd87e683a4 GIT binary patch literal 467788 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%0AK+2Ps#ogPRCGza9|Az2YuXmd| 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�(IY6?}lB^ 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

Re@k}Cz6UEH@}2@k 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

EpXN$Sq z?6TtA{4T@8{`Z#9Gry7b4%72gza3JQ6Xq$tb>TQw_ED%xuJbhW zwe;spnpMS5&bTG2X{j%xZ)w+LB60SgZCW+^3bQ3|kNkYq5R`ZDgYK$rF~2;f9a^0A zW}DyZ<2sl6)bBhCkpFOMZ`PbT|GPX&EMOG>%}J*n=HI^noGpYxAabpp@&21WWHPM zh8c3(cg|!opMA-!`Df^wk2@cHoq7KD!;+hN>8hUHr>;yXwB=3sBolVWVEPixU7bgE zKKGlpW0~d`MV9M77v*;OJK9dWGI3qe|6PkyKUoRQF4?!=!Y6Kx=I&z)>s1!c=+X=F zF!{aYiul$W+KeVYSFx456vrA)_1u2;Tw!sMc~g#(PQ!{I0fk*Zr!4d;m^6!}`24%l zyr9_^g2GHCc89co%-Lw4-DhU^`^0`})iYvol`p?7@6fkCuCMztz4PXt=EQdQ^cP`? zYWMWF-M+hPWu#O4cFk{wm#PaiE3$U4^8KWvwW|8%fz{9L%x@bcPJX)Q#jhzzHXlT% z6-WC1p1f4zcrWkc&E4u7_m@``-jKa#xo>H^P~D@*ZJxeJtobL4#${~7Ch>bZo6@BX~} z?ONvkvnA;TZN~O|m9v)R+f?NLj^4d`x%qv|pS8E&-g>KTpKkVS`QqH7+}(Dnv7J{x zdcCeZ@p$_CIrj6`F8^Ax&+c~p>+k#2K3=Q1T9$j!CWb5SY>S%5=bzW}{yNQ0Dmue5 zbxNPKqQ{r04O#D$uC93}DGL1)|9oY??9OK$f7rYGPR-}rcWOUc zZhP3E{@MTIgCCY@)1NjI9PZC?lC#?$@0FatxAchP zeTSHjCBZ)){E=awm3Hp%*#ny=2Y)yv9$z>0d7p8<{V%@$b8|OqzmVn-{P6lAABVjF zyNE{gjoq8iciVrx+>yHNwysiJ$DfUCN7Yo12}JC8?7*gU%piJk$s3nURb{>Ug+2dY z8HoIg*y7MB+V8~B;#KNuAR};qb$kw*QKpruq|nF{m_ui@$KY!hXY3r zK8RZM*n(?|!_$8ELah%HJ3hN_i7Aa~aq!ns=3~$)KD4?>udn;Ubg@M5zy(|i_6koK zlI}M!_)L%uVoqdJY?9=Z zOpp9HnU;mD4>4C*l-2UuOz44M$%#ON!YiV}4Gya=tVrfK$>smJOSo{;78aS~h1?z` zN4TCfSTuUA^5bmUbzwn>`MMzgX)b}Rt$C+*NNt_H(81pK%`Asbfo?`G8RN_u1|qMO zCMB5p(!m5K3SLqgwUm-bZ?SdS=Z_$W0rG<84F zc*Vxz!m_z*wqQs>`znT0HLIRv>^QOY{%PJqfd#7+q6*u))BN}t8I#Vwu-JGzUg0o@ z)CwuV;;e>P24<<|Cld+&1#Z78&ON^RnCoAI8%3E~a-JeVQ6hg|25_%;uO}nAy}7EO~L8 zqDR83D6_=lIpKl5SJF2G zp!a3&y{g}akFT{v`fq{l_=y|Ll(Mp15UoMTW(n2fJ-5{{>$Ok9+WR`#x?B zGnHxifB5!%ay^&7*Xj2Y*<(k2_2U2YZ~pV_|HO;R_ji8XUQzkG=ckIy8&jPI6N}Ak zS(h)}sp-9Xdi^4^z!eG|tmmXrXUa~|D&#rscQ+%12h_Hpkk4GdKPq{7u(9=&e-FaF zefCAmoT-w&zbA_?KmOR$^yeGjP2aY?bhdr=qu!TV5BDweQC76EoWZp5<@2Ra5VKrzDzfa#JgmcC3GFaqN}6=@HxGW?{>{3;QigSI#av=+u#G z9L<$EA#(TUj5zhldvqO}!}}i@s&-nQ2}zb-_Q+sq)dZJK{brV7Yx;ddGG`fYY*Q$^ zIN>VO-g3n&N$yjE&YaTN?3S_Umc?n$+lOS%M&~*`ZqvG2(5a_5(M2_6@s8Ld61>}| zcA5pIa6F!1*r}RzRp3SQ3eKvjS2BY-rS;>w*Vk;6zH|I-(*ML+XZ5b!J$|>Xd9nD; z|K)Z^Z{Pp>+-JA!=UUg>d}^+99%ya}zP_dBdG?mfG{v?Riu1PT`dmE~GUHQ#)Ab80 zoUJ2YhHPayQWZ48OW9F4$o=!CsTv-Oa@iJM-F8fXGi~yl_LIr8W_fumoI7jDx}?{$ zTr$6G`kLT)DK`G>H1@L}k3RgiZRS){$B>Jad*{?_-G1wsTJPfzOji_q&G*mw^g!>V zUb%Yojk&V#_V;*Xp5Oj_VNdY={RXEuUM?@byR|#$o!GLN*PjkQSlZ?DJ9c-$#4l_7 z&Rc$bl2ZTKZOzeZpDP|byA^+{?C*oDz2tKOYr* zbnDt@?m}+9%NA4Lu5LeH|Lot}*~ec;F+|Cp4qM^8%71f&uBnX9_GG)A#mj4-{@Xiy zzU6(p!1eQ()g5QMT0J+gj?3PVp?D&vw7Ts5wb*aJP5tNDIuJgG zXJkIVUhwyaNe|!jJY4>tZRyQ)8SZyeH$;6ZsGL80{_oc%`Tw~1CZDiU9WeVvFgLycI|zC zABsK?pQ`61ecd1_sRKyvzoUVCo=q)zfNjrO^tZhXYtO}JpcY5w|%w$ z?>otYWAjDrkNq(Bf9me~)1pbazUFZz5354fb!NV^4$%vICX_31O-h({K*o!WH-XKV zv3LU4X1qX~=}3%HmSgmtVq7}s4hc>Cc0;d}Fs-MgOJKKFY0+O6Lu-|gN1(%!!K zZ1d_1?~pIPgsV7T`It5C=FJq_X-U^az*o z73EmPdUeV=hj{L8&0sGDFR}E64F?n&97GkB6u1^!TupQoczcmSFtH@P>yV;!_u5Q3 zlPMy-j7t^YL@&xVSmw53Lxp=s^4UOBHr_d2q94w2lrts1ZR!qKQ?SXx`h3jy0v9Jy zy`{?69hPj6>0h%qQAno5#XG=_F`@7vOO^G89R}{~7b7y4b}R~gamY~c5UYx!(hBRd zbEckSIVPuE>8$MWaD|1hLUM$Kqw`@)7d02hW<4$5!!{BD9<~7t3p*b;s4R6AVB}q@ zePQddDJfdtc) z#Dg<8O^6BLHxacG`=+ARc~3g=)G1!208Xv=mnBOjyg`{pe7A{_z*zd0ocZcEjSL z!h=O+E_du6Z3tOo>He4V@@D=W|3A!$K7HnA*3nhE8ctpFEL)W4zburybs}fx9-oNx z7gmo$UtAH8o|%>&BNk-QzAky%M6V07oZs^fut#i_?t9%fz1{SEnRZ;oFVT5_-~Q+2 zm)m!)toE4x{x9j4E5p}>c*d%|U7s0PVEk>X!E!mLj8`!?&jh{=oI69OwOoJE01jr_{OVT!MO0ANZIk@GMaC;_3%-GQpBKU}QTpE;}--(#6C z>KtDoSXuq-*{7yEhxgw9XO;YCx6RK^d;ax%J-8ok{eC~`@6!3n-ybo@{r}MY;ghw; znh5{(g

E%UfE(Z#8=&M~SiD)6zQg;LU{ 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 S3&2x>@<9;nUCkN6S(@8lDt9@Bi~WGQLh|`>8c) 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

!T%~d=FN?~B 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 z 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ˈZU6aw%G4>R8y@HXkvhKr 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

|oi%^N1m-PjZcQhUBdDD|79vD;XE( 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

!=_w(WYb_X~AF1IW=x`}nt^e<9t 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 kfoxXzi^$nl5AMuNftL~d? zR~*)xQM=%!pW(^GzGoqZ&W!nS|8%^gjpFvT`>iW7tDfY#wO?O2gl*aE8&f3KpZ}nk z(AM|!nClsX^er|A)|{J>AD_Ipv^9q})67vc#&)U1`HrosF?$?scY91V+EqLAGyh+M z=i&1lk0!OTCf2vD6@4yTG;c+B>>|kwaoMz`9nCq8q7yob6O1elNMGPFbUgJTL%56Q z@>#>DpZ$~FMDOh4byQ$EV|-pAynfCWu~*I3J*9rO^|KenU+zDy^8UhX{lZ_5_%G!8 z8^*S8o$fhV)=BY4qVF2n(;wMZzx99gh3E6H>KB$4tx3#hB#O8vi7*y5U2%?bHe7qb z`?_QfbGPuFKODv1eLp>%^l;*d>4pNzJho?SJQ~a#Vwt#Zo9?M#3~H&?HaKv?Noa%Q z8|CHaR053NT`E0NaZUYu!EJF*f7|9OqKR8R8n8~@bmWWf+YGPmTRr1*Hmx$#aQ2S$ zop7khZPWUWuOg<|D(OwyncnTbjTfsrBNF#+_1w9!Uq07B#59C=nMAVB$rCP8?~~hSt*N)Zk6)vR8#D9=nvSWYMuSp+SZ9;`InFxlUfe{eP`R3J=8p zSFq&edCHQlbJ5CgyY1_@vS+edpB?!%vtRJr`~;Iv5zI-2#&i$~3En>hc3r%lWHGi;W23s&E;?};k66Vl7OWcOVpC&z$K zY@_m%KVo^imGWbk+Q&a$HR)Gp?w3cr&!Wu*JAYiYT)QzOTH0d!;SUdT&z-k=Q{uHo zHm$U2m*FF}SN;DOKAmCby#Lpza%QHNK>EW|sjs-rHJ7VCe9^K^W1|$Oel5#nk`*$Q`4OYMujC(Z>WO1yo)`P9rDoqaQu zPFpTC39(jgOOV*rIN@BU-vY_UM=r(eYg(&)>!{4hgi}J2(|!JMgio7eKGS4V%o_EO z)Ye_I7Ol9*w8(HtXumAeB(^2CORxCI`_~lGoMc=2*_MYF5ZMXdOtybuPPDkT});U$@`16cgzO1m}beo#| z{ZXmj-Vc$#oI1?sxzGF0GH33kyA_k3ew&>0Ha_j~snlJEf@A8N(zdmi$S%_;oSOc3 zYP_mz;}|n?87&5X**Ra zynPrw#oksq$z3@0_-Lc9z-ooIIF{~7tYH_E8jrcU9E?)!ND!zID*95v?Z(O?!o6t5 z6i?0%O`0r6CyINo`s_R_(0Auf$93F2T3d@d9Gn6QCC;wUI%&1UsDn``B|q`SM$O0O zWfQBq3g;balJI_Y{lu@9&%Kh)S0`xuhfmAU+2G1~P2rrO5z{2Yry{ny`@hJpl$-dB zy`YG_eBY8i#r^Ltv3}Y6UdaD^f%v+OU;ngkob~d4RqLm@*H2Cv>5+|S;AoJV|JqE`Qs#_ly2(vE%l zGUJ!_{R8sz1ootteQH<~-zXjN{_c@ylTN;5+*@*^{N8~%x{)zEJa61tWVh4x=ehEo z-<#`a)tRJy|Eg~oQ`Kd0^LXjR&9n6nykol}nx*r$SpMK#xlOu`J9-#rpO`_BKy`W9>d`YCm*mv9yTnai4PJ$=XTgZ3`FH~OzS zrlV)$AEzsy#{B$L(7pYx^R`dPR&d_%KuN~#FC*W&x+yn*+U{}dQCoAYT}?CK>^Dg< zZa@BaiEE$!ZE&AhUv!TDy18$22g8J-V^WDR5lKNpT~ow-C67FqySQjtU?#(hA~t3z z)@U0c=`*tDI2En@{MeZi*8Z-x`me~6lbNZ;yUXv-yXX5)%>Q}0zAgLuy26r@mJXY9 zUK`k6a|Lm&`Ncf#wCdZFOjj8ed4#Eywa84UQ?TvYwdR_7kNNkRKKdIr7B`;ukAHsa zv%W*>%pBi~7mDhHHmXLjv&eOS)|7BK5i&tdL;#Do{ zT+=pT!G;GtsUBTv49%rXmXl2vGc+6)ToiEi)RxYcCyWvL!f&;d!yFYEm73C2HC>G4 zYt1(9X4FibV`E~H(#50}+U#gh*2!=-WA?{mdP3(Iyr;=Jz0>GTe!<7Nrm(JOR&Lvb z%=3AIhlH}VgYqKJ_`keX@Sf+~GqG%uWQQlUW;ZUL|9i4tuXW!Py8yLRE1iq`oNE-s z+hz%!m7HC@iQ}47*;l)%FEx{nm)+hx*Saj}v_+a!@wsJsnMn(-%==q$$ZvnjW_b}@9n_1Dl zUhRzeeC0PWj|UazjNIo9WxAm+F7SMsDeg0F44!UK=7UX)nF*)cod3+H5B>%)e> z-_G{A#F*S?alc}ct6}mAw>7i4RpO1K=RUgL`1<(rHM!@1Zb>Zq!uRqA-{-Zt$J`3f z1!?l14^&NdK3(-#l81Tmjw4Tc__*iU{z+Z-w|a_O=4v1Gk^M7%ObQq`$b547F)2X4?a zoAI@8A;ZT*r$X1f=H#7ub_+|ev5~;(rW~EADQS9}FV8<*(!TTTg0`dAgnh)AH~(v> zvw9pMTe%9Mi@8^RKi=Ah>+O}+V zU7P(Vqj_sN&r=TTnIBdhmx;DBEOW}|x|QVh`nbyLjHOAh59YdkRm(Gaobz7t(Ho}D zS&CAB?(yZsRJ;h_f2yW@IbqJi_32wScdyx^{_WJGW_#!VPnN&K)#Z!J}r^_nym1aL)gXC2^Rh-lo%Z1;n67yn;@#NSr?e6JWL`SEjz zuNPRi=S0yS_xhh~pLPAi{dX3GO?n;cv$NGO`p)i8iIdDDLRs29B?B36H>|w4$f3sd zTjS^Db`F(qB~!wTa^GE?;j>?8PU)3s;jWu{cTdVJ4>)I2Sv=iZ|F6pGtjT5DIt`V5 zEEK&RuFGcfrZwDY4AhWiVLr-{)Hbm>dv`$93T7YP5L1nWY7L$nKRQ%a>a+^K;s2{y z@sj<*S56-FE8^=mt}uJa-QK7Er0CFw($>6U@vq8BTV2BfmbV19I&Zv|eA;J{&nIdA zlg(Sd@)#zqZlB-%^<3(uXJ$dYo#!5M_pfMbG7gw3c52cKo+YBISYM@w*geikFlf?U zE+VwDc-eF&(eA8cs}4qa7x5))_0%6>i98Xf@qYi|4OS1o91}kA$xhfaBlE(^o|8X> z7N1ltdCpY%U+d^MyU?eSS9$M6899Yc&sp>Cf!J{t`{o=?_26BL4v9`naeVAx(q#1D zv%~x2GZc${e(>G%cIWyH@)L$5ir_KTbZe^?668m}L! z2t0Ic%7fOt-&VDoUDuSoJgvF5@8P53Esr(Xx21eJ;{M>5dW6gO03DrNe~mQj8QSM3 zZocHD886qypxRdI?tMY?)CQB>~QhHE4KY_BG*jUIoy>Z{P;$&u5x9} z#HNEhee2={ezP9Ukgk51`6#2g&P-{l>8`wwUt8|Cn~Vp4l{E>jN7-Nv>uq zMM=eFE_0dQ{ju}4Ihq%{;O-5#)ol{hn;N9^FUH?t&z<>Aw9e*nPWhRSU$`s}mz26( zoWJ4U8TrHcaf?39{<1Eq^80QU&m}8<=v_?p2#cJ*-a|8a?cuMI+*4-Hn=SueFztM8 z-){fCE+03_AFX?H`N?VX!p+`Orq53^l72ilao-!sv)?q`g4^a8D4$qf9=TrpNVoV( zeH-tO2jv_1_xOB$Z14S<*}nNJ>#mB1Hr0)5622=f)v{Eda%8bd^`!}cg&CFyXE)_= zOCBxp zHuhsu$8y`gNo-N)Z~XdDkjMMYMcFG-DO-=sxu-sNk9+waxu>`DlVV)wv-{ouA?C?* zwSs@8c9@XIIl*G3l+;DKCnKep{ifJSyRh;{FegosXf55=p|UJX!&mJG-)yDW_(`H` zD!){2c#^Vm^U+5u^7eXeoOSu_+X+R>B!zq<1ywE_YlvJsVc~Ld?+Y$Z-70i)B~B;? zK4qG(driD$lfwp&4h6RRAwSN(ZRgvuYmx@*vKa|og04n6Q{^@?UvmlKOG&rzJGCn| z;JR|kwv%_9Ys~~^<(7QZliAb0woERqHDuYLn(x{?TYlU$ElHj}d97>}i@b2zF6VhM z2`3~kG6pR;VY;b)=Fw|>i>FLD*>UyA<72yZ^7kBgIrX{Z+3QCN58iaIn_+M}_3;nc zPa6)*^tfnZqL#dO`8iw5d6#$1IvxMBe8<-BBDves{zvb3{`gIImF~jYM~~N}n`fGB zdl~Ee`PBP@Kaco7o}F&T*`2)Yoos>0w=K@zToV(kS}%W8UB&)><4(JW*Z!4OP0rXp zFD)+LD08|@?VIx(GRiDZo2LIhUsUl{HK@GJx<_!+2)hX&c%GPskn=0 z-U_Gb*BE}hy13_X#5XhVB*TK5R|aBjIxD31Y}~`Ys6|9DePvBA_n{SAWX|>fJT-m) zp`(AjYaTr1-w>tCS$5!x9M78P>T|w4zf=2NZ*{Z7UQ5^Ca-2;ECvR!rqL6iR0ykT1 z(iJDU%iq#Nj1zYi%i3$-+_mZWQuX=IUkRTN7H$0ct7YB!6%D5!$j{uIz_KgJN9VYJ zu3D-bV-G_@@iB%;-Y5DzRNOeS-Q`>CR6`O&D!86^XiVK+Fi>_ zi!dL5*12%)p3V-J2eoE9e2ytd7|vL;CC(#h<`TJp95V@?y`Cw;8mhuu6xw=JCmQf% zePDWFnX2SEG2{xO*HZLerJIq~NYt~Q^W_f>!L>hvAFx+dq*nj4EJ3r+Xq$XyWb zJ}=kU%Gx#A-FEf_X8!9x4=uQ*+}7Ur_J*9`=}8PckuyYi9|@^*Sp5D_buLWyam>b& zd50|4Se%n_G0Z8MSj3TXQicC{8T(_S=rX^zSyOEP{OYON;=V>*rq6t5#dF(LPbd9+ zW2AjOU`67U^B>(_Zkw-gdy>WNx+5}XORA0-#V(JTyVolnjuwt1 z+mbI>zKKiuFnbBl{l6cAzmz)jS_nncwvraYeoQisFeJH0sYPW*`7VaFr!H<#*| zMSh)mG}!-;JFD%!)+LQ9Y|pu~MAo{k*t)`4KzJz!U*ZPV5Yb88EZv67cL)SzZn(=^`4&xDaW;T6s!PGnJ=HHhjih_2a3N>d_Hrl#H*j0 z{GO7}Kdvsm60vG_xMb|j#kY1J_;foy!NT%+&C(w?j~$-GS6|U$IX}7XkNgqa-?``b z_$MaJkefSknR3wP!x_&x_Ge}8T`qZ5#NV#@&&hhJ-w$$q79WXTe{t_;uG{)GP5-Wy zN0hWh*QRY2oLBYCGR@!itaiG(gka6e3q2iWE&0`-zKP8e@_oo*IoZwljC)H#ds#&}%vhfW2skMT4A4;xDzu>sn{AjlS8}TEr^$(|r3s0>n@Y%xrxL1}d z{=uv)^{B{IJ}N2m!@{FmWfR|XhP2q&FVNziH2*?> zx#uGTPeZ;nO&(6Zj$sF*+%-haxDPcKZ&G{JEBohLY7j?-CZ{WFulhD`m9!e;h0*#2 zsh!)MHYBvQT<*w7*$acSY;~0mYs@6(RdxM%GI>XS9eZ)b{F;}XYV!YOo?YMHVO!H)D9-s@cV)|j zmQcNwy#WFdcV7Rzmj9PY-$y?l*@`+Z-ucY*KYwaHhc8Od_Fwn5#IWqTd z``pwLSr4%q+eI}mQ`cy3P&{1WB*(Jn=uWoD3Lb8aYrK3I4+__|K5LoW@r)^uQ8dKH zth7TSCSr20YNxAcPT7nl9FnV@4hXDu_Hy1Evw`DdV*B(NQ{UyB-4H6cb+JFQYv#(P zMaL$&@jh|MV?V)s^`K&1om0mH{rE+9ZY7`S{1&~RcQt#)nv!JrSZU$S@ z`7b0ozO=3St2v2d<=f0tT{d4Hi0VJcR&3?beCYC`ZJLVY$0jw^FWNbVN*3M<4-YjQ zIj~rZbYw)bKNWVxp28#RLq_u?6bY#GOvVrhL1$T z_a}0zyvkon_T370`z$(jJCF42CA*UL@F_Ijv#3dxP*WE3mY6FmJiF`jS?Pc&F;&0I zZ~nPjKV7=~{icdXtbF$0IL&Sq|H(Plz5myA!-Jo`E&tD9UjMQF?2GV!V#oF8Z!o;8 z)>ZWWR_L|Ox;5u^urNB8)*ZTduJqpSZ%P+MP3|_SY3Q-7s+#_I(}QnEr7O<*Xf1qE z<@G!=uDa{rrPP}H#%6C1ziEEq{q9}d@#QXh_RhDeC$4Gw$~T?K?#r6hoX&B^ud46O zc~iXq=7W=0bKex5v%11_-R{JXU!@gKqxn78K0A2Z=WfrrsUqE<+f_S1&;PCS_M6_< zccNt=oZn*Z>A&E#G6{Il8j$;);A{rJ7jp|8VGB((FGPX_Zbi6b2MBD;(l8w3wZ zY`B-u+vs@GQ*iRhEKf&4&L5`&!zXOsl%;%A#A5!(rHLM19ZiDH*LWHfj!X$$u!e_E zak-0sN_KVk{abq)} zT69OQyBG5;W6i??qE}g#si-%KXy!O`=t@PM5SZr8m%raT&)V*ba(&0c>r?V;Uq;{H z>}WMQAmFHc!Q{tBzJ>A1mW>?!3ln&r@MuNIA52LyaOpjwu;QeIpg_bo&g6vbG{HbI zZs+|*JeCtoFJEER)chDIR&#DcgxWQs$nUnZgtmQo!JyG$nBkYg*sxsR%}sU9HL+v{ zhlWKS7Rx&X=M*nt2(p~Ee7j`s8)NBQ;jrT#Kdn*@Pw?ZoD|3J+8FytEzEnzjZKvI-#J@_p08?Hdc%CA72Pb`imMb zuHlgLd$oFpNx%^YA&t*-B6lBn!dhu^EUR$`=k8<1Z-u9Zy4`!=eEiJ=xlsEFYSRM* zub7tvZ91juYP?v(Ec0~ixn#R%*^a(W@MN{DO#q-i=e*iw=BzBJ}o)Qk3Zgs|=pn)E7Y~ z7X+^=I`hmReQRy=+@D<`rX7+S=e;T3w)^af-b@$ClMY#FQ_{arO!SoXpE2*=v6_$h z!oP*n7~QVwRo2TFSDjcSH}SZ&Md6oKHy9p&E-otXdUEDTO6yD6>}aF?KW!#2YC6fb zO`{;SbMv$u#~$Y+ig7o2bj>2F)aOVqEMvWF_ozo;t7@fpWZtFxc=vh#o*Wj74$>}q zD(tgGL(SUVWMIsen=J4nrMpCQD_u+pYSU;dbBBEoR0ksNS&L?Q2|rpvHzd z+u~+r=h0`u{8RVMF7S)e$(SuzmfgN;*MS|?2X@I_7PC$XUi9eXqmS!c)(YghsTgz% zaQUyw=6ZZ_@^(r2{hmd?J&Hu`T7LY+x+VO}?E7gSuawIDx%gkj+45MA`OK((%_#w~ z3*PuggtG3G3hZUwzwvO%>&&7)o^DH5M(bz?rjJe>8x|%gt!R8162Y_KO@i)*S1nbG z9o1NWK55zVo#of1=LMU2CHzlBi${c*PCm5p=K7C@o22rSxMpxpS*H;6Ag3`utLsv5 zbpPkJRmM}IglElCnHZD$=Eg&={)+aBgOZ6kqS~FMY|nY`Np1?9B(WxnE8ak?AjL^@ zij<=J9<7sFC#6DcS=p9z7Ix*^xY>p|2J*126?xp+siDefK09#rL53-!ODnwCw+N~x znk|=DS@3G(&4j&;PKF#SF8QbRI3?XWzwt5C%5158Mb;FF7c4b?KGV5(9hF?t!KX;vF{0b)Oo(O2;pkpO&-R#dyx8KCM&VW}LhbxH3TBk0aHYS7cekE*Jfn2RkH! z1#TLr&v>f&?}P8G$J{(IMjc7q0Byu`xAhjl^}YMBBPuu9ik; z-pL2eYP0$}^sBZo4bo|Hdc(s16U+4d@tk#x4=Gm*y^XgQ4OKIu?O`F}Hw?FtH z*Zz9<74f_RLpQGI2QOEa=?BErNKNlw>CX52&}otRzj(fG&7E~s@$50vQ{3h!W0jV_ zOSC+iVx?rJ+T44j(E08ekGHe#alX4X`9+G$ZoicH0CTbGYnS%_W_$hnebSYQ!AFkF ztJ>mkUDs82#UQD-*CDE*^GtEl-kqJAQd_zO6r>utr*FI+-N7C_J!7lm7SreVgw&*a zaym~wQ~a3K&80r=+7yvBfhTo()T5j|Bn??_^cb^cbDM}+XudpU*gSi|V$R8059ccS zZ}YghIO*alwO!mL&feQ?oz~Yj9rF9QujQ`pnXBnHj$Yg$cz5Y)k>%wY_x>2U-kucy z&v91$r~Pim_RIfAufLGvXmBCh&3D;`E@6wB;srALH-0Ugf6U_a(uX~Tae>|kmYGhK z>e0R()AlrK^UUn|#U|+OCAnmYf$Bb~J(h zoA{C&ZcH|9Hcg3ENO2J0%{bGs_CTf3Gy@lvts&O}t=mtZ`uKqJk;mOhdMS6RdV{-r z)Fqyu+<9E2OIhh}gQ@Dqf+L&Q9kdZw&t`UGNf$n9AW)=I<+1IErMr%e1KI{z`rHO*AZP2LA)+1sAhDm{KX)gPBy36G!{Pu|Ze&fPqb?F;7<)R|Y{N6p7zT79w zws!CFLd&Nm#q(X?YB(P}I+;D^&#V8PkITh+?pIIWdwu_rV{7lH{{Fh&n5*;Y+37Rx z{T5prwnkHP-{10?bM7{Z+nqjP-LtkJui2<{$K_(s8V#!tWY~~4^ z>WZE%zH@JFXM}i%=Z?+Bzt+ro^R9ST_1y1ybzO&7>kF8Dv%FQ=wSC@CmP2k08k)%@_E8c~xF5ma;?Zuurp__h*vMc!ZdB@EEux)Np{hq@YatvO! z-j@C?b4~eNYWL!2TCdMentZco^A+KuC-46GzO((!=;!8tQGbdOYfpm`1Bc{>l6S1{ z?nf3Bedlux{J^oGf19D$SKf2nmaa}+D>TkouPKx$Y$URxdzb> zOlr<6v@Si9JE!N^+Q7P)gNez>CB*ZX(B?%uRWlXRm^GZ70z?=*EGH(ZsVQb3%rd>e zYs=O1s_l?gEk}iJg~x;+O(Ka`zwy*6sj8+nZxmEX+;qGvb*}Q{$VcsVGM$pYmblbr zw5-{}wkPyk`m~ED47bR-NnhFL{Y>s`#q23nDV1%V>?NC&*gEpgDA?w{cyYZvLVix6 zm5kEc(BJrThO$_LBOW~;>XHj=nj8gc|8O}puxRu%HZ4%_I<|;GgG)gy zka3EgGlSXYRNXG2!kZUXJ{9r4TIq5iBT1vhK}p>BNVU%!O~GYJ9{b^gU)oO1)OT?;(s;WzJcn($g-r?jtE zHvgD>xLx?x9QLlomVcKV2+KA)wDW#iruhu1gR2yG&YI#D@^D6KWn62 z{X6aM91RKkxWvVHjbqg&ktIpZOWG_lJjL?mtQ&%B@fdi8#; z$%gOaDuwn|OnsHp=(l`Em5cq|g=ZQigoDgntWMcX`1r;3;DiNUoyE^LIzQ@^aL~y% zk~r#P_TejsG*fFuk)HzRM2BSWuD#N8WbDsJmig%4NhtfSw`xJ@!IQ@4ZA4xi65}cB z;rE`m!`QuN;j3_-vs1pT;QJ!to@={vo}tdWWHH@;mqM4FWqtLnXUW8SJ%*BNxR!=` zd720ba<5Ku>tUW)?4r{)OHtF+Z_Z7&`>bwfTgvM`$){!il#~A0^VD7Yn)rIB{R?z# z*J&uGerP+J|KDt~{(qx?mstJmKQ+rtouB%8d!3|V_9<`kg3r56^fpVhGjTi!jHkl;{U@Cz%Rg zZE!H^3Ovf8k}R=CakA!7fwjxE9b6p`CJ0W^k$kP2#Hz_%^zFq4x04M*rjK%Z^`+Xj zxH&PHTD`UJgqr6nv%+!x}--i^L zr=O-|Uf*cer=`XvyJ4~5>Cn@E-b~rB|MaeG&ix;y)Wl8fpRCl6JJu?<-Nx0pMO+M;G(7Oueo;HEPm^C>*kDq$Jq953(0kPcjjVV z6E>twiBgjkvzp+xd&fEG`duoxx`nV-Op7pT2{<#SvZwLN@BIEYhdS-8S>jU6}29I#kb3A%49*yyoR+OOIzcu zeF7&RW1Z6WM$3um@$nl^In~^c-T$NXn%h5VUHtM(ESB|XmuV=t6d9F-L`a_CP~=q8S~c-aqC;o%(MadSmZLSTlHwBil5KLAzfXx+ zb=L6h4h7{K!5!i8hjRQ9lIQQZtN6F;R%BOJ*D=1!XALL&Ry?yj75``d#l4l%c{OuB zUX>QH|I_}kJO0tX+wUi7ON4hWnIODi0q3N`E9dPF78Lkc+Nap_ez`isC|zv#?UIe@ zch?7oAG$dyLswI~%;QAKp$MZ}>O!3I!VHmBE;eqm$0VHI1@efwGHjS3B6v1MFhn$+ zSHjV>DWZoje=Mx#{0@UN34iLL`5q;@rpp~#}EHby0LO8My+rc32j}g=-_M0PJzLD z>iP^Pq#56-X}pU&n3pf`ld=ywS5r zL144wCf9ACA=0tS|i z8yB!Sp3n%>Rg?C4RcQFw$8mzsg%(3TPqwXH9%|_Up|e)8v@GcSS#oTyxLu>#!Q7k& z49b0C&a-k8)#Mg;6*AgO3kDrXo4_!a>vQ+?8{gEARI5K=(VtlvEEp=WN=o!#tDODq z1^I4I3`!(3(|@Pi9S*B*i%bvOl=S)TeKr4iid~Nrzd3J< z@#1!KmtFr`S7EVMNOy5xy74NR6~9HhtDJWI;>p{(L|3SE_ac36r>(A`5j8J3E)@jz zYc5Us{eki5pDCxEk7q?(WR8?FaVc6UM^x=YsYVGSnJir{lWMfV;;hKc z3++Dk8uvJkMVcHGV4qXUu%Kx(=j&-pUT_GCwCZqlt=eRGd&x?-KU4RA3$J+mP5Mvp z|0nhbyUp_ps;Z{1eJy*=e+l|n5kd++IsyXB@tE@MuxYJGE2_ZI-JyeFy}#$;~CC} zh6)QK1J9Ot3T#y16nOLaJp&6%z?7@2sxvqgyh5*wq#mp>bPv^($q*=LTIRyX`CLac zy(nyvrv!_Nvcwkgc{OSqw==gdS72J@z@~FWj;C+k`^;mqu7-=>pS!R~UG|>xw*5!1 zy=yOc^Kf;SjPkMTPu_IAowG0cf?ob&t%NBn(zm>vQrcqYaGP@#6UTx*@(Ii9U!DJ7 z%#^A>acQHM?4oJ6<|O*GXEh$&SSFWqTEuZuqJiv57Z({0hAFc=Evy8)b}TzHaqC*n z2p8Feh^|Yg8d!VWCaCfU-z!d#iCU!jqwTiR4Ue+UqP=OwS1(2?N_Ss(F)rzeNb>wr z>m-^MQqj8e{F)p`O+mraw?qQC=E^4DYS84hOY`{_Fzv~{)C-Mr1#C;A7q2$04HQbB zz98$sRFT^LNO|Y_QEfK*Qf1Cbyz%~Fv+#1;@2hsb-z%Qq z;CX%~*17wEXU}hkcf!naEK<`qS}t(d*5_z^`CZSP)*NrE>kIOHCiz^LxA&V~YTMHL z5Bzra^V_=0bsP(lmD}+3SGmS{{z#jjGR@|5e70+d>1H3BlN)nz^#m7z+Y?sF2JK%~ zF8t|*P@qopw;y%_r@I7CJ$$0HHDz1a`$;+$HVanpO49=(z3W4TC0 z;O>kNpNMyNQ%WC8p1SN@!us`Ds+fQMtj+26?Y2=DO0&bx8P9tAh+(?Y~wC9L)&LbW|!u4O)v@c zSkyIfrbF|>bEoR8~53(Z&m-X#k0KN zjGz63Txaun3Og4_+)w!UsDIJ)`3s`TeTt4vSC*Q7yt%?ZZT=w?lZWN^RZ&i$_~xPP6sT#gMBo+1)W2Kt{DHx zU~+9$bDewX@rh%~YE4@AB9;W?_*J}~dBbvJnU0x$U<&KmFQF&DO}HUtw6Nt^L{G&x zlMiuW`(n>(d|OvkR@AfeuU2I_^ESN+>=Dy>_kNyocFO0|`k(Gq9NP6hk=KyBm2<|r zr7jvhsTTYDLz}~9r_2>LDNb7M!{$9X`_&7BhM1daA6Sdt`yO*Ew7&j9+JEEioCn&8 zra~pZg}y#xz4J`WxB8IU%uOpLa^oH@ihgv?|HUZ>9rr7bvrYW%yjP^%NNe7+wSRw& zu=(1Z`zsq0|2toi)637>yt9^fm$TOHL)Pu$jmwTrHJ!aPeTtELwe^f_f5Yr!N4&!$ z?J8I!WhX9^GcP)0_peiPwn+S zvP>=0`-5b7&w^E*lN_`PRA;{qKJ~QrS(IS;y1@Ex{K2h9w(ffTssA5?XZ5@Nzu4|M zvK^Szbg0+&+yCVMrSmLa8t(rr+P7VQvjK1F)0wkQd|dy3^_TVajsJeRNACHh^|$$U zOM2WA5!dAI47Jo3h8CVjt_T+&kx*Ugk)PdUVZ%7FC-8#I#xE+KI-6YAsxIruI`&h{ zr~la`pU$gt=|bsqFRf*2PMfs(N};Qin2gT!Id|=kPZ7N&v1WdwwuSbB&rUvq#RYD! z*uo|Y8r^bO#c3$HNotYt7mn997rgp8JEu&!H-+Wnl0^q2-Szu+Y-|>87h2GN&iwNt& z{snz%k*5@so-LoVx~Sab=?b~xC@~$CNxK}p=IvZxnQ!*A?B&kOJ`!oWV`|=O=lnbO zf8y2Vz8Hr<2R{KW4_*oWkZITRYx+*kEuSf~_veP{GrQ;iI&N|EzrfSx_X&LW9#(u- zitT7A^WA8ZUQ{>x(I0{9^CrH(llJ&s?wbv1JLMue6F1o`v9NB|b38LA;`9Wi$JOPE zs(tFppQ;>7>ke&*csTv|ku`IcAKCRjVol=v7jn+)EV}v@U%4E)koVNCx0N@9OjxHG zZay(n%w3&TJ3Daogeffss*~0vin2~tYEL^9!Xx}~%E?C`A87aZzo=+h7nQS}E!#kY zX~v=ld!j$SdtbvStCXaBFHLK?OYr1iw{|{XTg_$PUov(GuGzT5{a~oTB&(#D$qedk za}s4+PKDn%l}x&3pHjj?h&>o=odbJn_58@`$JPbHp@@>xsRKeWe=~L>8`+ z5L~0rc!1|jTJXKf$Fcve-Tz~4Q}|b_{z?BI1)h24`@XW(zt#V{zOvwZ=rJb$x(~^F zJ}i`9U~lbM)aau6P5a1H7k)i`gM$keIu#s|Xo$X3_cVKrSmP$9Y{tfOj%;(}1-Gxi zY;EA&Z{WP7QY42-Wg(Mfhh$PuMwkmr!*Q>sCMKn(6vfFWEt7i|%n}r2ah!93*H$yF zr&OX)p=+53--56}kz}0}i?Tepj;T#jX^Bxd&|uU zzHHG6DvKipZPvvLuD#TK^to*;kqboeeG0NL)YBah~t^Y%Bshg z#9lhx&@U#;w&@yAspERCNJBMcOCyOFv988vP976tU9@gP&;m!wK?=a}=U zx8195GORf360LAdKzT)j;=?4R!_4Ry5n;(j@vxnQKP zJ}17eYxVbc!fypvznozrX*|OvzPf0`l)Fr?ZJ+DcwLDz0SR&WB!u@tmQFu$KO7`OkXoj{kkd5bMB&?{KWTnlIG9qc6EGp;7V}O+mnVtDW|)WpSHea zdG6ISf1=1KkqzQJu{P?@9d4i55o+O=(rjJ-IX>b4&+{M8u-CQupNoImd)4suh6j%_ zx=Z#Q3zNGz>+<$}2S07qU%1gR?nmOR+49OVd%WVWh^RdJCbs_V{v!clF}}rJr!Ma{ zyg8NS@+BLK2A*eJCFv9H%~ob!BA5|y=%!#^NV09k>lNnTGgePpeBpAAqv(P36|xcB zOB;+oyxM!_(=pLQ?Dpp@y`3zbd|fy2tybOqRMM@gEwJ~Iz~YiykG42J7V_2gP2YI4 z$R@X=)NyKc(J2wliNTL{#4B>`{TgyDXqB>L|1E};APEDNO`jDOFfp_BvYAe}GNI{G zX}W-N-V4do9HJ+ZPIA5bq36XvId_hPz(FZzKh7hMbZ0!-$l+N1OXB0sBQtywy%)J1 zb9Kz*u3|gEWHwoKVnKs|M}(l))(7%JtA5CE-n%eWE@Y4e=mZpZmMP8x7sS--ETa=U8m4xb&r zbi@v>=|3R8Lt;W*qs%_%Q_Pv0IPVGeDt0OuGIw2U=}?}@<2G@I0Q2Kz36?2E*6QuN zmlp5xabsg$6p~>3h%2B`!f>5Z8pmeMm2wl8M~B?rz2^74ZQo5&J6$;!tw=i(A>w?F zb9F-RLjQ?OhZ_zuHmNdu9b4gG#=vv$5%UTTHE9u7R->jaSCh$-8;%8twk=I7GV72! zpy1lMwa;XYLi&}|6P;6xJ3n-sxOHgm{e|@()c#&o|L}YIhwJkl<@U6%>(?m%w)4+M z{|~qB|6~nfc+IdeLFnvJ*;ljAU#R^lU2(QU_l0x6u>0$5zq;S~c4y)^c~4u^fr5nM}m?1>)$NCU#wi&RYRuT(ayD7+}&6yaB5YGh|#@eW!FLZ`9j;i zo&3rYS$^Z##3KgsEp0tleQu}kn#{UX)8MjTG24;K7zqWwBa7VDEM{_3N`HlNRR&&y73X*Q%~om(+JlC1F zcgc3uK!;6>B>N6Eq%B=^AR^Jr`__%LKgZrD>??A+!H~@0AR5HJvi-)PBTL%%{%*gh zc6e%fWL~^G-+i~=2lk%!->hhx+3`jC`ikf3bIkh!b8gPL|EOYz1J|i(-(;5S=4@B! z&1wqV_D=TkriV4zZud)h_AQVwD%|PvNO94x3xQ``8cOVOkTOBW^V*_gm-xIk@C7bBKTYbO!h$B>uC4-; znT2(4Rp-_GEngALe(ZyUV6R~E0u7PrQ)jUFYG2^t=u&X2xWdc85UTo=g-K0%&DIuy zK+`2UCcTa99maVgiNW5w-(mIEM zaY_o0l7dRmxrTzDr$W#9J^$nV|I_|sFMnE|kKK1H|Nq+kXFl#NpOM#RF?+oOi=zR9 z#DNBmuBJ~C9G=2jUR5Rklx$3dG#1=j;OaZawpEJxqlBn|;lh6t`8C>F7BI~+vP=(f z6jBgmsNC{+O#`c_Ysd-B$tNYwByVz1C}CvTQ*QCvz%3xqqiKy?&(&!oab37dsf^6Fn0;H0S+%nT7)F?<71kZOplfMa z(Y|Sy=gaaJ?W(We&5_7H!B@!4@LKGU!k5)eM^~ypWqi-7?A75kpLan&&mGsz6;pOS z*~oEIYpL5Y!7ANOww42NYYfi3cq7TR!^TNva?itwOU^9*6)Irl)%wX|tCNaQDT9N2 z?ZbJK5~O<4mR)obo6^L8)YM(g=;D!0AMSka%Vn9*qv27qMsQJJS(4i9Gl!&-HvIT1 z5w0TU>Ud_}IhRE@7rA^mwqel$i4{sO1Q?cXXp7Y0{5xr@XoyYnOU*-q-0ZV#UGFFz zZBlLb@ynmQTJ!Uv&DUHEx0ozSF`SVh*m`ig3iIL&&7%IYc8^fw`cI2>N=`2QXDz_C z%iw^4<6AjDo|{*BOwMc$I@Pjzb@|Byfyq0}|CxkJ8D{P8+svz{dn4lBGLJ(OcYCdw zmozbY!n~dPI~Y2dCbpz?_cj_bH!>|f^gaED1cU!`u1R}OH7gY)|K)ObJ)C(i$HIMD zSJ`)|uURKIy|t`+6dZ6pXWhNj#rx0RJ$Zb>o#2;U8Cq=nk9)CB=gqV^Ds-||McOr` z&A7kK*NFA`oNIk)S05xPNgm{?*qxMUYp8CL=9boa*7ky9&@)Y?YZq8OgkEyHo3Uyy z_F$XNv}oEY?i8K)>n&U7g`V4SwTpe98pG>vGWoLa8Chp$escM^c z-};K}k4fGz;SBj{)|a1~W27L#)U08qJx|E2yzpU9?_u^589_6%&Z}yMt{dc5&lH|w z-I{DT&mc~|s3^`bCqBW#F5$g&{GvU(j_&Q9c46M*q(wpPQtsL1D{7qe%mlJOl%1Ji zy!w%d_Qbh?%t@JVXPoU--?6pgK;q4$CwjC0%?Nl~^yBk?uG#v3S@iGy;duV>Lc z?k}PB->3asTdwi$URuS=DW9{g=j2*-U1eHn78$#vVaI_L@xtvMI#ajuep$%M^Y`@p zq+jpEU%Ydj#5hwjWul?22dkdz6@9~KfiA=Mdp^cW<=@;LF`>&)Z>!I*X-657`A_qF z?@u(5UU;}`b0xR+Qqi>FZi|dazMj72 z(af^vbJq1$BtPepJ|?)!L+|^Ijgpc4TkIxZ5m=MXz({V>*fs&MT~iK@e)Vsnh1`|v#auGxK{O{Pe{+U)VH zH*OI;vzH#OI`1hErzJgS{Yk?Dd#Nc+8cj2Jy;}76JYpt?Mntw77i%Rua)lV3G+8o7 zVB-o2m9mmu{$_HEWslcAShOzi^@S$~-%Z@%&f}G9ySVBM=S*g%xay|)7g~yAW)%fp ziTI|;*5CbH=WUCt(T)(q!_8|VTa?+R3rx>UI={qzajHuJn{Q{C)J)y?51dc#4n3Li z)InGFlw4zRXvv9`1)C>+G}v%%+IHhN>-!{)7p~pzQK}+5Lq{xun=8}s(Tg5+B^Gn0 z|3R7Vh4=!)sl;n-)7AI9Wq=^bEZ*@7jruby)*^JGzJ{piuw8j@HEBum6l2NL368Fk zK1UQJ9t#+maZZvpkaW$=_0&A&V&%lQVr77&;wul$iMdCzJSTHi^`2R}U_ytIgv{)f zOVlT-DrH5?c9|gTrn6w5pQZhQ`STu!tIw!#Ghoe~ZxJmSa!@sZyNgMn>B85(gHmC; zmXrzvh8S~3C!@_9Xp&po>_bR zNz28Kq=?ki&ZEbC>HaGMaYPpz_M&Dn~KbLJ`JYd(05 z3a+X%TUMkVm!7o!%cPUX6faIndLkmxbM#e1l;U?zUrCn>3OZ*RwzHkJWpO;ZKx*a^ zQ#H=hNlyBbD|u71CQePXE86l-XsdqVxuhT^#RU`1xQ~hb_^P=vRwzCA(%#!FIyc38 zq?&r6NBqik;JZe>oR(3iD3L3P{U|#O$V4S63>Hoq= z)9Dmv$b?OfyBcPU?7LFzG$dEHVG#f_FOawev~Egu9waty0!lk{5d5a4t|W@g_EC4bAq zy=*=k%zABc?Y)X$sr#zFwpToQq08{@ zeauqRCa;qP3spRm*2fo|mI&K-sCC}wMG0|N-n>_tRIzK!RC2>tj$Uq3~iHkao^cr!g|^EaC`h;*tQYKx znkj(?7!;V4npQDQC|>ryD##~er9}FLB^eAy8#F%a1x{`2J(m1t)|4rw>4iZ7yO}sT2PNB6Pm1$S9ZNZLX`Mjlg4t_U z%T`tLcVD<>n#HD^{$StzgOT15VhUoqd@KIUI25OrxG~Mqh4ZDr zbg?BhoQCf&u6wuH;`V}gi(jEBbx$Od`ad^iv1t~t`s6y=Yt+7DEI5{uBb38tIH8hf z!gpKYmg5G0{w{1_P-vLc>2km}PL0oW-Wo~Q4@|8aSGcjLDo7m2tgF$I%whV-#nhE* zkRY7Wk|BHTiTfhMKE-*;nV#E>mHJwaP847@6w{wJ$2d#+2%p5|#d8;JRkUPq7POW0 zzSL;v%9XrAIK{BTCTVBTk*=j4%#L1@z8(?rJSJGouNe?(dhmTvyU)VxYugSilPgjS zZjiL~N)J3$a4PYy$?VhLGY)A^Vh?HE{E7LE?tdXaF^zdL(wib5f0gN0OglP(!!0r+ zt=%PYfv%T|lca5=Q2JA~QYJ%IuTHDxj)mJE81QUcpzme%+A~N!MdDH!eEc zM;5sS_$5Gj$eN8n5X;Y1!OxxpB(Wh50K^Okj=;QxQqAF+BHi z`Fq0_WtN4h+y^iHWMR6z?dXw~YqM8;?>YZGWVLZl&yiIRC7k;@jm?vCrdYYMJiQPu z6M0x=+mxsasr<8Esx(h@7ry8-^ZE?|k9z?jUdr>Pt~Hosko589#NJfN>q}&ITAi8s zyX|tCi($!(!@{e+&iZ_j?V^NRC2!Q`iB&~rD$x&IUz!TLY6dTf(Jxr&+?)D+cl_e} zcbDzo;Tk?=hKQq1ti8L>Ne9oB4TUMbA*X*Y*>ym#|K^_WW)IK3KJvNv%#BCq&Rw{y zeC@Ghwy~R#313}m-MRIy$4`k$@a>2Z(YecEIIVyFelE+;@1A*U*jn?~O+J0Te$rx{ zKgVXzKfWyY%TD=(t+l=JRc}{+*}l&sHzDTkAu;83|1O+2IC0=$NxO}`N>03j32%}c z3(sT4fMbmeNDe1@m|rrJd$~Wp#NxHukU7zgY8fY_*X6M~~D1(W>_a=Qhrg7rg8+ zm3vK~R@jLZ54L2yXw2MyAVbZoS9;nFjz=xqWI85w1}UUyu_;_S$+6t2%&F(XQJ5;!lN2HFcXlps?d8urFQFSiUQZeGVC1-kqv9@NT z@*|#RfpVT?}Oe~fyTrQmv zJgq*^>hT90HA+s^_O%N_Jpl*}#y( zGn3`Mu@GnfLI*aU2XgP(kJ{87{r+qvV+0E`g9c}T1cQQ|RoyYWTlNi#jBE^|2D1cP zSsIca)E*E0QtNL1p<>dPjFXGq6_{tfXLtNz`@uGx?bGkL{qk(iZQo_>_x`_KQPXPh zVefs(Q{S6E{67ABziRD$JD&IL2?h=hCqDek4gB=jcGAW7#bz(R7p96%aQ}U>hCd|0 z)Mj6eWJAvc#@avGbs|#>IXDFa7z{bsTq;bqD=cnMXfSOGbY|*lFl}0~Kq5q@Uv2$@ z389{05-yIqt;GwRx?Sfw@vV@G(VVhM<>Zn>6P?taH!65JX?$YP@Z^p4lL%e2(P7zn zuh~LuOEtYhge}vby%Ol1VbkCc8MeTHhkMgTeqDypo*7dFE-PDJxFuNI;c;$CwDF;v zb4n^sxQQi2D!P=IxV`4QDK4@}ZP6B%u7yiKh~+f$^ED^uDOqX;#|E6_5?7Qyy|b5R z){GfU=`vDN9nu0+`I)m?);LWyI%auA;)>-FsSwu53r9RARmrq_ir0#bzFwL2vN)kbu=!{^ z+34)B$)Mu=84W*X9@#}+3#Z+^5bUnVcrkiXlObndg@BIjgj|Ne6P(kI z-`V$5(r(xP={I8!6*8MKOCFMPanRNAIrwJ#f76=B5%bqcywkkwegC1?AGYUe1Q3_CoP$sm&5^9c-R&S;P47*Q=JL`j)HJCn$e6-yWFmuuzVvW5QZxx8{cr zi}P}QDptv!h~zvrk+HKgAi~dk;hCBDH2N1RFwMAsT-GbVR6{|mNNken6&0pFo)^FG zv;Up7_^OT8!nd1#5n}gmOKORNEFXoo|z>d$+Ez>*6DN zik@;4S=gEutx_?KFq9AsGSgr?Ara~^bCcGNJ==Y6&;K-c@}%3vr+aVCTGa3{g=f_Y zrUoW2wdW_^y;J@4sb%}V-wo?)UyECwFFti>l0Uy?^p_JUUeAwzdCa-Z{^%NO55cpH z$ue&2M>v*gyx2WWF|y~YgkaH&lOidhUoL*#VzY1GIVq>ADY0`LSdK_>1z)(_?8GJ@ zz~aKdsBp~VROhNy0?Hz->MagI1t}q|8N4p63vz`$Wm7kwG;r{db*}cACYFA%s(UN1 z;d)Q)8NWrp-dN<>S$M$fbV`xr`|^T&4`Y^{*Ig##$n~V;+^+iG&&`sDizcU*pSoC? zww1?W*(#gA0uo8bIu?H5%;s5Xeq>4^gBf?00<$IO+=y$}lsOi3M4UU_G0SqRR{u16 zBZH(3S6o<+1{gf}DsxmJXHkTaR{$$ZccOCCJ8@QbKgp*ai8|`r9>gVjYAjFM;4+W% zd5`HrS7)Ja=>t!An7TGCJFxQTq|QY=Dn(*0tgBC1T%RNP)T33rX@Leu!y=7fpByT>6jW2J!TB;N&I+ZyMb-=LYaC213+<G?@I?Pm?fr}UG83N%)6?~`Gif-adCl;GntA$Pje92wnj+9Gw89a z#L=c=Uz06oJSwaY9c!$qo1P)ksl7*SO9uQtln1#<; zQd*-A%ang#Z6nJ5jwgTN``Aae*FXIE)UkT~zv`OLm(n*}l}J7KEAZ7X3yy9rrc-Oo z=j`m#>023_sH1W=M>5q z+;||ts)udcHE$Djv1`JcCY=_X)_C^Rq$2`bTqb?`P`mEHE#DrAyhoi{cdoL!&X)Ww zd8_ooJ*A&g%ssoUV?0!4=T#anoS|>ynQP8l+}iEdt^6hXT=H=Z*Ewmkjv6Y7s;!rtzvtw=zxe_6Tc7Wq z|08gkxt()qom1+y60XmB50jr2ZQ(K86lYy_jXlOdJtMU;JIrYBwxjty^B=yK^Iah) zv*FgaJ9UpTs}}3jB+NKdQK=haW1S*vysczU#Sg7n%Ikg8CRF9^`PAKEQKeh?_>kVV zdnwyuHYy3|*|}B}xNNmc|Nexhx}<;VoksQeV={RQKMU*mWli(1pP(#tf@}7?M>URj z9jCeI2(9er*?K%D=E;TXS3fzU<^LS+nQnjn&)VHBJQtmQ9^yTfdHm+`{~SjT9(Xdh zzE$t*jimO^S-#@hUyg~YsGOO5z2LR#TERJ@MW@zGlYN?Tbk~V5nT_6D>E)7P^D@ts zEaq)Hbm^Py+n1WlW+kYx-ut#DEIDW$=Q0u6r#x*S)Q`?eYo<-X7g8 zW)815u%X|pe6(PC zhVl3Ftc6@>#hmjaj)-onZhx8opLg4<*EQcSU7iyzd~D$(pT5lB*I(}Ya$4tn-p4b= z@{hlGpBLu6@zL(KnX&hAjcAih-en3M%FJ@9OE~)%q~yFhc~iJ|5fhuEAWN#beM089 z4xbx6{ik{(n0{->vG&L)E?TjMv00&kLGoyViSaqX<((>Gr#U9GI?hZvn!W6)-l^0% zZm&w5!edk>-Q?kyxZ@havuJ@5zi)s`Ux87Qb^pt?ODFqGGo9VwDmW#u?~0)!hxW+` z8R^1fM$=XL46Zb=AIM&GqO)a@#%#-tK`(y%yYSs|tLX;@RmMX;w!E^kO_e{QIN6N4 z7`(cli>zi#bh;!w>B<2+fj|~TW>zJI{%M*D9AUh(S`-8e=cRGnpReE$Fj;Ujn^(`5 zD=QB~xKDD=oR+pA>|ncCu*8%m7M=q-hi9IBznH(OD$6QLi>YZrN0p0OL?wTKLjcQn z4ev9aOU~(rHgRY$Fp3&%VtUD`*X-%@^2Jv58MCy$<)}Ds|H|VXJ>jxY0K=2NZVQ<_ zU!=57&UNleM@mZzqX_HS zh9uL)vm{^4^mLp!)yMss(9#9w6TNsGZ8Q2WyG-foQ8t>uH6!VQ%*B)wvm!lHUQH3X zzGks%Cwu6tEyrdyReqboG1Yj>%4V6DCoG7LZ&9Tb~qnOa}Ks(%a7R6^nxW@M4ri#QAx*CF~UTB zk?^FA7MFvUcldU_RFryHVRd+ojgBx6|AgQ784a&YpPw>EOGWFX#kGYj4{rT^KWUBQ z_iYA>Ldm{D-F?ed8ikE+a_lo#5D?ogsms6Na`y^ti~ejgf4`ejLVGvMl%GnpRr+lk z6SgX1(l1kOVT0F}-yYWKR(%&sx1Jr6o}O|4;5S#7#96I61#fJ>3UI7UF_<>>?M0Q8 z&=V80G_OQjmL4cNYyFu2?b=-!cVB3Etdyaetw zPC-XA+!%_Kq#yc48t^2z7^WOalThRF3@lU-3puFg=qmI4Mmo_J67678V%F);Q;2w0oe1o1IXwBUj_+ZOH+wj}^END;ddg zm&RUL8y%3EJ7vm&*+(8s5y*N~c&KXW`zbC5pK+Yp)A-FvNs(!3p#--YyAbDl-IC77 z>z<_W#zmj=6S^&Jdi;C(k*~8-{dNRCIkvR6?r-+}C-?tq|CjrIud4lL%|QoO%~Llt zC*M>H%9$W|O3#=__4JIDDi3>=^pYPpxH-=keQdKrajC;&bBQI2Tc2k{32S<2GEdkX zRMoxR>AJR7|87>J6s0afW~NpAypEb&{XfONfzH~Z*%0nI~WnS>bQ+8@9m%u*Y`fozW>Mk=C51tAAFym_GY=r z>S@0=CCB7F+g4dRo zsgtC9xKbW-S_&I4sXM^2W>T{2l7cpuUIT?$g-H&rU3`<7rmCH=oyOI@$*k?3)hoXX zJhw!S7#LXX?%yhxo$j)JiQYuh!hLa*f*p=W|48kA*%BdgV}XibkDAZ9IU#*IZJ`A` zT2s;zN{db%QwmI7cwe_Ou{TmS@lA)wa*s@dIYGxQk3z zu+8Moj()r(eUnw%ucPcG($;h0E84y;SvL91izjk%I_Z~X%^n?icCt1n^wX8-_~fl! zGWTja56_lYIC;SM{@>WLyuD|mud-fy9lXo?I_J6M-ADYY4>hxwN4B3y+jBm+yngPb zn5Q2O>wh@+%+;>0?A&Vc`47H5Q@g%>8%OBbhbc_4$4^;qdndoSuxR?rn~dq<^AZ=@ z^k}$0pOELb*XH=vIb#*68zqPNeKx%2qXr_^2C=L054%=FO9e)Q78 z$~Gb6*bl{^xoa*&=PP&fb#`8T>Du;kN|+Xp*ILO%oA{nTS(jRFdHnc^yU*><<%DeB z^H=K5-t#|Brbqt0V}G*hpV_iwDo=X)X9_G3^$x7qGmS$sSR?h@mq7Dq`c(-6*9*rh6?n4 zxt6f$k--xU1`FSiy9ZWSt5&)%SYS2#@>>7SW0$5>&tQ1@CHKw4)i=ug%y&E8xV2RD zMwEO&+6SXWucp75b4Q)Iwz@A<{L4~R(d3}&nfunvTzh_^M5fY|MBmL-{4O22{qLW@ znY!EO{PUbO@*8B%PFR&7$)uEBvtMaL>zC}D3`KRlJl~bOOfOgKTC=z3-1*BFYy7xi zi|Zd8Jc)UN* z*X82^rd9VJ&t9|UVD0-A4U7KlXY=Y`z_Fl3Ci80GtV!RQ*EGFmyCz<)$#-6Un^R8z zb)9!Q1{Mqs4h`>1|H$7;Zm_u&8pw0cI;rc)6b0KF{V<(WR;3M54H4`bhOd=Vs|1uK z<_j$5sdX!EKbSE0(a}p5%tq z5oe~>KmGqH-_X9f{(<}tZXa_qkGlsp%=*0k-~E4F|F7Nu6}@J9_BZpiH#zx}&vG~~ zTjYLpk%SAgn{0>jD#s%a*9sJ?DgSWeoD$(xbYjcjS&FOz&4$yav`i6-baXkuQR`9S z>>|q3rPRT|5&3mua9%)Y(5V%6zv@hkTR0pdtA716@ zKI-{uQ&@Au$iDq>>Z1(BIp@5u<+3O&_6Rwmu~h%#xsC6XG`Wr)+)=c{dgsBa9Y!g8 zw9b`Ji7Y%R@K*V2`s@=*9bAWgCvH+u+ES*#q%0$O`j+pBlM6W_dGy@Pl23PP2P8zQ zwJ8NAI6Ms$aVuQKF~OBVfYnuQ*5#fhq8BwJ4U{6L==`ka;&)*Tw7R|cX5dZ_4Yn5! zAq}Qf2kGFwsecId~ZudVm7~7T9&0qVf$F=Lq>(>>RjdkA(yluJn*5Kpw z7#}bHqc^zLakXqw5TB?1IJPFrV8(2ly#+Pb#bai#U)g@(;uE3sYx^Y+&2oO6Db~1r z`um5j7KZ*4);vGE>2Ql`aF))5B}b2)aJ!$p`N1jGTj_i`Cy!`bzh$xvyLVSl^S0>e z$EvThx_TwWuj}{;w>aFmrO>C9^}6u+ah)KC!X2Mo`Zt_mI~w$@(Jp<}CWWZOcl|b6 z8uUG1bL@7GoXo{Nzr}7R`fi){J#2P{@xm*To4O*56`0q=^mipJ3VL$J!Ii5`Ywe5n zc`rLReV7?OTe7-6Ke#k~&YSo|+u}KKdrqDE`1;CWzWBTKO&?EM&d&BOOg!{;`+kql z4|IRcWvYD|eMW3z=+@IK#T7oCdn*3p-PGkX&h^ifmH(8Mx?-29|2g(IHw{;t-+wym ztIn)>(MNrK%w$S;pSiYxU3;GOuh(nre-_K+@g2V75QJ`nrAN`*SCRn_o}Mh?^9~e2cZnFsb;7(c!XU*5|>(DmK*rj}~eBI`C+YUBOT3N&0`q)Wp#;yZ@FBh|g8-7!*-TzF5 zCqg+yGDEoC%`onR)XC4LD@`ooKO`(^*rd$sT69O3{Z`_F?#`uAZcK*hT=P9OH}a@= zNMz|2Fkg9Htm4`uqH!olW^d_}4F@=;IN;0oc9*zZ^s z(pJ(X^%ei!VkFaW|3OG0zX9;CFgjDb}d%2tuJS69I z?1b!*GXiNh{_rHFbF}wwzV_teiRPv`3u6A%PJLoqH|2e)SR}LVDHZ{S7MB433z~j5 zizc2;^wrQhcO>b>iA`>)!Xf*&CmM8l^xG*_vL3(Bzvw}8y6+(_i?1tY9e>`##N4%r zqp2qTkpn}+ic?Y21`M1J-dD=9sCKvSP+KNA@z?Km?vM``Cr+-6N$+xyd(qvJe6%d0 zXwjihzXdqwI;bU2`95{dfrb_C1}VNB9Lh%Ok(wF}d?HdOIlMv~PjsmDRIL$w7Up62 zSimd!LU9Cv+EUnB8k9IV6%|bGJIiP!m=e6XB9`S4w0FX`Lf0r*T*+ zq_eC`>CB5jQMTR%rmMO{k7jls>vEhrtuKnF)BP#4=R}zdl?lQVrmQ-dV9d(A_x^zw zEXs$xbS1lk&v(tb)x)vu*_A0bVvITz)fP^krM6z-ya2nb_7RP3uRHF}kzUR&AsUv) zqL_4u(^Bk;`gYAXEGLU6iH231XLL;}shfUd-lcX2IV-91zJQ|LGLM7(uUeUuUeJ}` zWsB5Zu{M2I!~-FbB+p|4xoR`pJm*d5e8ZQ{vq@>SQR!@*k8id<*t*=e%}mc@rLyPw zOPrOp2i|F2&W)^@|3M_>w!x%X#n~KTkt)oAnMDd+%f;OtRaU8{cPq^iw$Rs=U^JaG z-J$wSM%}4PPHa~i7-ltaERrm8Vi7nogtb3gm5K^lYek&wJE$gXE^h5ZiT$6F8C>?wPA4C^Mw6iW+oH z*s*|FsqOovhVE>)W1p9$cnPktTP77Ea`x1w)sc5=_`v$&KN;Ow$IlCJmp{Jr;6TOQN5xc8IYq=*m(^byO(BqXl9nS z=DP0x=k=fepL(5N-}?XF|2Ol~t2dple_8*}{&9Kz@A8{>ZziPId!3VHm>j<1Py)|A z%QY57+f>eG#3Wy8csA*4)wu~mdn0m8W+Ys=qv*JzU`?@ikSg;{(+H(!6CLDNDKM>S z5fDf==wD~6aV|nGHF;0IOQ+!@SIxBoThvpV%e^`#?rYyvGl%m+X`_Vj(v1xZUsoTp zn)q7ogT&gCuQ=IMxIg}3%uum>nvzovP-&qj;&0*Vh$G;mA2`8^}owW5cm;z7 zhtxOBu4|vXI|+*8^ie1#)Rc81Voq15UFU!NL2zv>$2)wpzJMRnEW zV;pB6&A2#syGDF{>z3e$Nk`W2cm4RKU*Y<^r8n*=_NYxM-{)y;|LDsh-yG?{Dd)^> zUK=a2t<%4*G4ndN;*pk>Mq4+>1h{j~kx;Z=c(U=>v=BFsyG`Ee+CCjM*_%%9x|ML+ zWz$+t;qD_YTV|G-Bo&qQ#Oq(IY6`Rd;&<}cgPM~DUsf>cw`IuQ8Bt*_q5S+BmWQ#S8eRQ}5@!>2U|uj>C*Qd=wN+q3`M?h9*Q zx>ft^`?=ks@@IRdetpl@_`q^qYj^b=nYl$r)s8)H56GP`IjP4zj9c%{-sZL3kCv#k zd#n`OZ-Iw7ecXxO7_PjeYwo zhv?pow+zpeDZ2hiVw5c6yA#JArWv$!lA>hO#}i5q!rWEDH-G(>Z&3Nw`_9_@N%Q}T zWR}e=vowfRIg{cwhyO)z^^NLmvAV9?w+iFn%%1@ED)yi@<5bR^krF@O~1FsFa9L@>xnzZUx)I#j^Nc_bFi^`|c54^V7|N8j9x;%Zea%9ofkM}JFzdt+M zziQsA^)J6wNZsy8+|aXu;b0Sc0%y|UuJVsv?hiRX@EvA4snDGAAtxa@r~kO^+jpKG?K*D8QMYn&h?`5BkzY#8T#M%|Osl8Ho4W0Bo?^o{?f>~8 z^^3dzKhv-I703Sj($*Y~`sX|LF+BcnUAp_(kL~+CZR;A^n9l5wRA!i5A^peUrsArm z22Z}NTUYL3`WCiXljottBeOXSJnSV3;s+U07Vz+}m@6L;%?Uo-eY8i1@xc%2#l|Kl z?@f}{J)mH)%5jFUMB8JoGuo>hd02N!6gvkqJ8M|ZlL}z=+|hh_(YnLpZp$WJF^-Ne zGLu<2MPe4~<2QCr68JycfaU=E})FwX*{mMJyQFBvTStn3Q8T|6&%XE~)5k_ATO#T%;L2 z?Y8(HpZ(QuwHH;Wc{n`fW$DW^XyO&Pq5oUwORe$ahmvZNyW0$J%Z!Vi^$64(+{{9Bj|L`1K4&1{@;Ec48B+2gBa z|Nl5Y|HJkBzr>#L-v52?`;Pw)Yj?fUXtHH$j$-pMIPtPwPCHseRK2jW^wj6vglAhO z3t!yADy+uPzHD*ZiogJl%t@Zl*^Y#SWvf2#VVUH>dS=Emj)o~h451TbFTJiZ3_H%F zq*Z%=e;Lyb>)hEA#~GLmwnabG^e9nqZuluy@am`S1@9@ZUZ1Ux@6l`KJj1IgQGUE9 z`O(ol-Y+4JA_;qwB+}lTa#%StMKn;+^vpBI&6?}qKA!T8uWzH6j?DQ(DH<+yA(t=4 zB#5Li8M}$Icsxp7W7*fIm#THpOz5mg<$4DT7DsW0HpP~S$9NnH53kt4mU2$6z%fDO zL07TgEbBRwIp^rRU-06YccRH!ji}hjt#7=IlwkkebMr=*a!0DQkl-ldx*& zDo%OrZixvz#>>w#-!6=Lkf~y5aD5v0*EKm00%vXhR($MEu~U1tbAgNV-`3AbQpcSg z(sFJ)#dBR^+UU%na%lUMlE&*3r|||D7SCyE*vTZ>Be8B`C}*1LjV=Bkf3R6BI8{CI zK(nzOYt#OSzn1>9_;+f|f8WoRu*c`vIib57mY8%NJZLiMjg0jEle_L-y5YU+B8OQ? zsiXVh33KK&xyo#oobJJEw!=k&>&gC6^?eR9*NIv6qBwt#w;cZF%XZ(^v zHZtccU&^X}+2tF0cuz>%vW2-(yKYS6oR#+EzS5mOljwL{dt0a zJ#IAh|9?FH$Dh~5um1Lbm>*kE!gBuIJ>{$O6dn5>9K1S9k=40)x}R?MSN;!Nr>`d0 z8ELP1+cEWg;Jb*a34!qw(r11*O|JerU=)>zTd#BfqBWNLuXtqgg)hZ^QHB z@)Mk|q&e;^cCiwD+i!nx-$(YCd2=2_KYn*qQr-Sn%jw0e`~LX0J(IJqubHo2d9LuU z-Sq$8Wc$3&f1VY&jK}@BPW;|Q=cMX>Tzp?Vv8jFe@-M5E&xJLrwp-U9`n)8LZT~0OjMFdsw83n_Z4VbOUvBg7e0}2XS2M~F`d^-uzVgF#`=8D9BonRD|_<-d>f1!Fc={1ZO+uCDildXH)FZ|zG-oHrGk-bO?OI7nA% z?XH^sGjB;OhyKhzCEh*UuhJf51@Ewmo9uKa|Ni0|9)B--mmL=D{>dIwCja22YLJ7? zvo*OKXEjVWe=JsVK0K+n`+URtHV40LN1l83uo)$%`aSO4$hO&V^XI--ww`YJ2^Wo9 zHuv@|4V{&E{NscVi!Ia6-HgyIJ+dZACGKZaS@F^7zYgU+>|GISf=A^Q%Dfi}I;M|?-X@(5-}-KzJ|A&z`kZ^VN$dL9tuH>G=KWyl*P0D)Eq^^!&-mC7 z-e2E+cE{rCLN9Us8_&LH{4y1PZ~y4eIp)6W`kw30SxWUU_&FhVB?qJ7Njs%?x$cth zK5l+r_y6l!>C@}~^KGl+d~^P%{*x3(p`Ja~hXl$V+_=uUVDD?O-L;>6oXQ%n^UB39 zzaiDIN?%yVK>JS1nU5Y74k_OR7Wf>gb-9;+)8NoEk^2usT#hZ9zQrNSaNWJ4~ZEeZ0eMC zGE-sm-i_slCv+N$dvV<{IeT)+)4XFl&26^2^C(I&Ih(&M(GoXO&uQ~C@A2kfza;&1 z*TVf9T0~@S7H=!-KWMaGMedl#jXK#A2L#KR?|l2eLoRuB+q47uQsy6$o5fxTi0-aj zwOUc~P)2h5@|9~jGY(#tm>Cj%YfnPo#?A9y&sfkqt$WJLH$+s>8c zm~3ppQCS;F*+rN8&go|)AJq1{QPdP15ir5ZNGT|Bof8jpSkIfxS@%5!m{?922`>1= z^-1;Y1j%5hZ46;4^L@Kw9~Q-AiyWMpYq9Z=jnM0q2IHzl-_I}w%5=plhHhwCq|Rej zxnQAk>TMx6{me%)e|5HmlxdQD5`1FlEiL3tJ>Q*S%ly*kS7-?jC>PJ?7wN8sa*GtOpu&ksl*uH^&m3tQ+(~B?u2=~D(fDr6`a`IWdC2J zA?o$P-g-6W0F66GrdT?x6fHh{jMqeW!+})_bF?<=~kUo(&xtAG8jYM`U@j zC38G&6E)VbzQ*BolqF5FIC-sh*fu343GefJc)b{O3VV1KBt#o8Ot4?$(6sT+!-KIO zzyJSGp3=@QZ||hol2>s^VryT|<5_`zE0w$$jcu41Ra;aIrM2 z3xkWFw1MFq$%3|`r&n)zhRQ5wNC@v)#lO-j^@)g=_nPMuwq0;w;mLHLUuE|9cgpPz z8(bL6^kywf-1kDFthDHsMA&!9Vy=dX$1F~H-@NRg&A`Ze%*Tn1!Ew*kPJ8kau|b{r&9)W)-=-bDCv(UBm9P^_;ep!{ z1rGjf?9s;_vVYiWJj-qGI&LlH#vh9x?|*di&3B8{_UiH7+gKJfTXJ(2q_{MV>}p!kp@ zd_t%}W_{jumIlqZ?k5cnhg6l)-_6^Xuye0c+Fd)lMn)$g$v_pAhfGXU=4$xu*gW^X z;!a1Ft3t)BEBk_@q$4c&Bp3q=dUE3?=*+;Rs4S;2$9bj?@{`*t)3En3p1by#hE zj;V9tji+sTsWwTMT4(U?zHaoa?UqaQf>YJ?XnBF!%Zi4c46zeN zPkJtuxNl>8CeXxo$S6d?MSz3x!c^I*E`16%0*pc&U5z|Khi2@{V{%B7Xq(;W$Z*KO zm?c4>c$KO_V%mc~hQlY`osbojXj5xHWTaYUZct!8$?~Ku^C8~ruZ`HWX7#X^C+Z#I zVZQXwFPg#WknKdBz|ey{Hi>#4dV&tkxMsy9{OrNXg(o@7IgFW>+3_Y$a4B-nbw3mC z;&nwWc{889@U<-y(w}Tn?$18px$|&P_v>lJ*M#n!JL&!WdHwHPxm}a(|7o?_vRUlc zlUcFHnvvtg8_)eu^uIDc+mYAtSn7S>$9mTNr838MCv=p%?=emb&<+aF6%P4l{vkW8 zYj5+sqrMWIUPmPjrCRnc=H`3jc6ZsUAG*8vcqT`f`x!DzGQ2!6V{+&wQ7yx%+3&-c zOa7K=wJF}1_~3eL15<;=vC5^H#(s|!gcKbw3mxWTKhvY% zHB*sQaB9j_vvQUE64Y)*m6mrtL)x8tL)+Be@Ep>OjAFFmx; zKN;9j&HpTA{z9qkyh5K_P8V=i-kQ#QvUO*2o`Qj8TASzZLYZs#AD-Xd+#uyv^!EF1 zCga7|P8slQ$+flEHK|D}IFnEQhF>K{%91_lOC LS3j3^P6|QqUH|^u(%uMp zhoYB%_4oby);_=P&%59G`~H3U9DO-LID$dt=IZzNc78o}_3+=nhfka5?W=u$&pLXe zm;l41od3sWPyf!xXO{GQ>fyzA=YIP7Jul~&)dA6loTAUqzCPaTdFAI4PqEFfl5U(9 z+iVynFUD~5-qpiv*BVWWH40f?f984U{5{{U#jRmvX?Sz$;k|=y*GjA}pIxjyJ9M(! z?!V6p<@8l6Ci+h=`JS;_r%i8}_3zl3U$5%?TC=C*>qVO|SuuvA?~WZ?V!OWW?Atvr zUY|Yf&VD;}Q*o{}NXm2LO#axZB9Zg9Ip0%#TKNC^}!k^>oiVdHWgt8$Ss!eDXBXJ-*QI_X_2=t6Xn?S-#&UGnrR`Vad}8s<}b2 zBDXK^@&4^v{_*pB@#HmjEDegEw!BYT^D8H6S@PZT&FuTn{fc1cV0avGY*XItLYc`g zURQnl@bI$PH72G51}@XKmEPa}HzM@&nR{+^ zgmeT$NpA4>yBADPf8IR#va5793wMKx?x{s*7H7X+CY!WZfkDM{R*xZH@}K|I&J}-n XFV0n5apOS1MUcs!u6{1-oD!M=t;$ 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�aMo+r^!y#?%~l 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

3q)P1); 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

t#(8a_&^PJDD?@XtKQ#2)QfX2QKDgz6Uds9yPK_ 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%0AG}Y;4rc9ZYmYdQ; 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

c#*MpZ7&& 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%0Dv2cbjCe4=-L9&*)@ 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

})yd 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 GVA1w1#3DznN?yGrnTI3;9=1e*Ap-jt30&m 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

B_6)Wpz{b>f8;2PWxl`naZsBj{WAf54#lS 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 z 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 z

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≶DVG|21+-&Noe8xa|iNwBt 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

g?3c;G0-I!!1vU>lQ)B$I+?a%>RyZzOsw2S` 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 mzG_uzdESfvgfq8 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

+J7V~|wQ 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

m~HeQ#+zy}Q+T?vBBc{6xr-sK(kdAc(Dc9fg# z{}}!2jo-f?U3__={@#@t$wst6JJV|l+^Xc@T82#L@^CY`kkLlih2%Xft`?09ofMLR-)vIFMtU6!qy*P;@K*aOHlny@& zZPAO-lQ|0b&a8=ix$?}fPfuSj+%6W<|Fs}PuxzdSTJC7&Nbl#nzRlSYvrOdaDIE*1 zo%z3~|2?(LPWr?(tD_wpg6mA?>3`mF?3VIsm6WXel@X

)zIv?|45aea^LOYqowr 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

uI6V@dS|&!ASv;T&+wQlKXA$ z$Hkj5rFq!-JC&Lob_kR4J)rtTK%-+q>hTR8N1u46tbZt4mU*!EU!#oGyxFI_PI$Z# zU|`{3?CY3*{creRCu6GvQ#W2e!FA}`l|yXJE}BfqUR@b8xqNlq8Vf4d9OXG#^)>Fx zu^UqsW-ii^Zqz+3cy5800xmD&zw57A`E>rm|GWQltV;2|l)na1_wD`v zTY`w7OBYj%0}F%cicdf9C_O5B+mS1OTjKd+6-I>|7lj}p!}A|M zR{nl^xR;Gpt${tGqP2nP!-4P+r!JLCdJ_XCHG3@y2wA@|(pYTIA>rRqrB7?-otk#S zP4vS}k;Ph5<>y`B|NqDw{?9KHcg?kK&Cj{5P-!E_;Au9)hwS z&bPh4*II6f-!pA`vs$eZi-ZVY`ho>s$uFkI|N0#Du|?nJ=*Q1rF8g$D4C9r)nYZ#< zO0wn>p@iC>4nZxqTxJ`6kH|mTpsrGJ^kl@zklAn7Idts3{p0DS_!o8!mDcjN?`^vn zX{VYX``MG?^WdHk~ ztMR44=EeC-|L@vQ(`o)2jWjX#-u~y8EgCs176zQqy8dy?oxHuPs^nkCT^2E#$v8=7 zQ}>xG9rATmcSCIsah0=Fn6hmkIRyfr#`vWf8X}6S7Et1MK@{kuDyr)@+=Ay54K5XRz6_p6fA0J zZOA$0GkZ~%o3V(`o7)|iHl<88cINP$#QNc5Wp!O_keQ0weNyLMWXSyggZ7kJIXJPS)18a7PMc<>0Sc3!&o_w?%> zcX^I<h$YpH<{SBJwK6Qv_xcK5u=g{j}TjqinZO|-@!Y-ZIvi+;Es~) zOqh4^ojlJRTw>vJrpLP4#Lj!N74eo-Iax^DwP*rJ7 zv33$VJn#9kq}sP)zpYf3IbWNgsko3yW%l#ux1Vley1eH9zmgnZvEN~$33}5*``VXt z-Z9^Fa_L1`Va1zHVt=atE{~c2H~i1t{^_=C{V%36SI!VV*ev*W>TNSV-RF_1+A*rr zMRqVKsd8@EXqd=jH}}^3<^N9zY*OL;XZpX;;^~hk_3_!iUd2z^_iMXMz1Y9^{{;Vh zLmu9(k78hG3z;G-7|Qpu#wsUTe(|@x`*T(|9X4@4737_JyJF|p__+1kYtx%jR#_a~ z!oU8u!4)2Ht=iX*1$3npMN$^G<%&#nOt}&;Q(%%~!^+gm&sXxYx9`j~-9F7z-gLV| zPh9Zn)7$>PC9#A0rm zbY~!2JByQA&w)_Z6{~W7<>{$jm|&juxWr@WDVGV1YQYQk|K7dvw2#l#eYKwps%CtX zTASK>{r0&gHn}fS?Ul2Z73|!~Aj!(cspHLcG`-0;&~%xl_NsVZ0R@vl?V>HgUmso< zUw6}e0cYM5x%+!8XBy4%FTTI$ep{2_t8MR&AHL(UZ^m{fp$4S`lSB?N-Ap<0RH%8? zU6XHXx1Xq-cTD5FfWw%O-VkIpQ{Ir*4w;zW8UuYqhetXitHGl5^^=8<=7g6Va|EE2F z9$&&5j>a5!mP1#5?s>DjT3&8Jg_V2(lG+P^)9JonIAuul}46+%0uTFMZMcd)ISCIIZ*L<)?ja3G|pSQ8c-HqjJHe z?S|Xc8t3>jDzG@Ybxp|GskKCNF@M)3#VS#2t{9ez>juBO%T~#qk$zF|^zGr7HM33~ zZe8;9!nVErd1^i7{PW-R_H+m^I4N#$Y}mlUF+1Q(ptEd&GnPwG9LLT9PzB)0DRwZ3D$JxBDU7xl~jZRSsB+5hQx z^1tP(%U{m_F+V4ri}U~W-}`^Fb8_Fjl)nnOK30;SFXq`GD75U9VrxO6mHz9s{i`;H zXRr0WXcV{ZcKg?34%WG9X|DPHr?%%8Uf(sn-(aHSUWen4K3TQhxp*VP*Ft6Sq7H*e zybC6@bPGJ474>Aw{#Wu>t5dtD?L4!Q|Nr{^wS|^WmxYd}+UXUWEt@tuy2tF>s_#GA z8XCFOSf&&ypUCJ^oG93+;%$_1>e`gEhMKdIt_C{dHeNe)avoKPoshv|9uwaeFZcxdoKXHj3WnVYz&z=9c`w zMQcABDo2=qd$fH1@vU9LYpN_{reE$k88DSqQc!tsuiR6mGPW;q^ZTZX2?Q#5HmEQw zwTNu%j#?&RoqcWh<2ma$_8n|#4ZrU8&~P^Ex)0o^uiUed>sEAX>0SBr!nJ#`VMf=Y zzS|n}T@E?MCT-y2HEDH^@}XmHL8oVYS-oBBdfNOwU-#~=x^iw`?6J4IHXC@}pZm8Yo-F!m-c7I5PF=kouu$jpzwZq}zs)q`=%#Gf^G~9jVj{5!vFaHKl<z-Drpr-Nvv;C5OX1(z&+h+M|j&*VcxA-`4**bJNfN|2_nz9x0l0?)c%vnNHJG zoVqf(reC|B_n?Q#YR!ihFQ!Qx#!5!KP7{SBPF;=i)8+eYa(v6%-Ce1(j~$#ED(-*z z%j4hIb6+#?%S`uKc1Vbgvr#2LwB32~mU~q!zwN&5op$)m!%fC1$qWVx2U?r7`u(ertCSrK5t6yD&dYqE0d zv}pOQRxGUQhmi8gwf9jQ@`>iR}O7 z{>A=F{JAOI%o5zEoBq4}FaJMLf#F9k^65|PpYCo~SG=7d5Vp-BB(&vMoM2T|@r+v~ zJJ)P~{jVyr*Kp&7EAyhNs}wGUN~M`+SzUcH|4Bj1-h&OCWqXYDH*Ptp>cE&#pt*^I zTV$%HWsh<;&oZ&ohTAV5Ken%*U%$Gy>%kWTeedXHYL&OWIVOZeums(=;_S3y%H5IJ zoS3oZ)J-R&ZOY0{3Ly#$Ph?DdIER1ox-U}JUw`fS8n@u`?aY}`$yvTPSTr?Lm^BWy z#vV_e{CHcL>9^9D`0W#wJI(|+1iDR{FoBmtMbg?RXO+$Q$xCkU`koZO^IdaivCMs& zc|}~exl)x{QiQoQE_5zUH-C86WK&dV9I( z@6v61IXoD0e?9y7=f|@GJAW2Qv7(DklN^6b9IyN}_5C|LE%mQ^*G+$06ZI@IRf%DV z0EY@A!-|;2I-EVFcDlK_ulE@Xu7A}%Gjp}v?JJX}b!>2qS1a^tiqE?%YZ}#u`O5gvJ>i;+XKfLkbjce!B|4+Z3dxXQ)TeF~1RZ-<= z{kH$R|971Dvlcm`rz_3BcjjT*RBq{H*BdvMbp*KF`1fPeyS>&5jQ4DPk_~z*zOxXdxs!$6s6&!r#Rh9bOXUKu1|^1u69$X>1H*bRez!~E zjbXT7_x;1Wj};e0bYoQ+C#h_ZSlpt*(D}IV-nUn`PaNCu+f45K@iQ+L8>LDsGAMF3 zZE)Ch&?D-4?p?D4aX9qBpmq19!gG6K+vP4OU!QMn-Jj35c=xF;rxU&QXZJG+{W<#I=Fwf@ z1-0FQE-ws<-PS&t8F(;2qEsg%BRzU;!n}V6_8<5o_`hpa{hRp@UOud_`FH*I`DtIz z|GB;)-~`)|j|Ok&|Iyam^ZxP6nvOH)|E+eI1YTx=y2QfW;ynLkAy0uxOrensic5NK z@B9Dd@atXgW;rt4x6ykqcPaKb^V*H?B^^0r4jJxzGEK_1TCj=Xu~TE>Za(qTmw1Ha z!UC8lTu?6viwbZx%Ul2FQ{CE=LK0n-v+mi*#<)ownAw=B5$&;1BzRlkwYUcVBaCc% zMg^Cc%5sc0ZB0}DdD?kt;Ns(Dx4+kYzW2LKkBe(f{(kHE@=;eegr+Kcmfd7HBp@WD zFnw|1jAggC^2_kwsCZm5OPS>q4_EgDff*c2R(z6hdskh*cTMe-1C0+7E#>&RANq)R zbOf}7C@nFNJ3L8wYRjeLKR3j?#j|h7eR}YrMRRPJhvQ9_N!cuTeZGDFG`HUkLakT_?aQL`*Jmlc)E%NqTo+^LuyPW6L`1tLIjkZpE;L*#da8f{` zC1v;bzQw+0pH2U+zu1e>eA>L+umc-im-S3&;h7=O){xnydBv+e*hlbnS_=QQZ27(C z_&2BC4i#;D zC{18vHR1TS_l~7(@)TYtiwPT>V$dSCv9m2(Yrj&Pb?EznYOb_#0gxxO_%-rc2V@3&&l3xO~4_f=cWy}gg` zf`-AR>x?Zb8Nr=%4xj?f4&e6~PeC!1)XzDwoy&n_Rh(U%U6q=fj#z4xj4x z{onn6dHsj?_mTGd?XGYAba(slji;x*33M~^d$j5Pyq&q{ovm+5%PRUxh`uDDHwQFl% z-Fo6Ay!Y7KOXrU}yY;L;u0O@sqvozl+w|$B($<{Ej+#6**_v}RiX(@0m5~LLPV0n1 z7XeS+ZCCgHdVTuWzr)!}_SIVDt(s+<_ipw1=bZ^8mg$!FJb zTE$dGOgmh8vggDBk4YU4iPj=o;T}y=e1YpK&n5nQ*ZzFp_4oT~XGGt-*0&>Wd*!TY z&Z`6Gx92Ad3htN}zkac3_j>v3welBP^19j|t7Q6}U75%;iKX#}lar8Q>z44ZNi#n^ ze*L51ZZY3<#!0oZ+x`DDr)J%M;Qs}5gv7>GO2VuPYm8c4Z>$oEs1Qk=%6soy*Og5v z>(Bo?zOUHMSAqYF`yco7=2y>W{>s-7r7Fa@8>U;&7G>dzqY!{=6vI|>yAdNzD<3+GIHHR z4^JVj%TWz=KMVKg&K3T5V$R$0`*W2;-wEDeQg(8>!KBT=7sK7OC~wK8Wy`*VNg z-BJ{(7AGiwgCLXC;_jGH)N>$IrFes*jV2?Y=Jm^5iwODJ#0PPBL&XhzcB1 zTQY--Co4E6yQZf8_Vs&B*P>hJx?H**|GXh>Sw@41L(3{1mYSM<>u!571-QJZn4`RD zsnMYizn{1&oGj94Q4vq($$wpOH$Hy->#wQo`|7LH9tq7Z7g)UK-m$}(K`ptRT1KX; zuJs1R#{J&L%gUE@d82OoWs~h~Iu1-u5{*hKf)1R5zB6Yn+xGQW{QvvUbEWg=@#Ww5 zdw#s&W!Y<%>DNn7ZIfAU*LJ{QJ44*|+%19q_trOa`y{AZ$uCY>hbT=_-eJwa(;6(B(r1nXR9rnaUiJazwzJufA`zv#hJ^#+3%bGj8ohrRddaOW2&4d6(c(w-dJCseLZjb z>E!!!Z|?j5Z;y=R;&ac<{4YPPT>fJ3wp<L?f}79psh62%oTjhVl|$9tdM_wV~-A~}>#a`PWOqs=* zLzALdu5II$m)QQOS(z!)VEeR%D<^VwHWhg6*zjW!e`-SF?g?w3pZ-^Lv;X+d`aj#3 z&#&Lvx0El~Z_8f(v}0l0U(40c`hTr}^W)ART*e_BkxD8K99!P+yBkry@5lXBTjT%A z_kDSH{CK?br(bt8f2}C}yZE2DM19!5%~~-oBLBDj|MuzT{~Sq0{YBAp@BiK(`|IVF zC*uGAi2vCC`+qNTsjzTdUQHGf>EiZrNwER!Y!He z`*Z5$WuHvAHE;1$_3gULGmQ4mY%`D7zx|1`{QhazZ98JFO~1aHMZqI;9{=*kn`De8 zY4J#i?BL-z;E@#aHBM0R%g4iCH*a2k{P6DWpI6jHM6KTO?r+Vk<5yFs*HpfJe%Qv> z@Kk8Y^{1D<8wv9)O87MA@<#*T;D%i97LHaHjcB(J-gLJutGedb@A~`Y^V6rPN9!sg z{yoc2iEjzlHyQ&!1hd{K)^) z`u*SkpVkjQq`1l5^!k%+&zGoG`%KvIv*_lt%30I@JN+;Jk2(iEb0WjBxyz3yb4%V| z_xI`3WmDSy+rQcWOLJtF&YohVtJt!*r}cnZO2@wJ`!Qkf7gv9IIAP!4XLpv}*mmAn z%iuv}Uf#WLj)6~0*QTD#^b?i0|FX4Q?%~w!&mZ5;pI$pfO4%PC>z{wUOIc2ST6z96 zJ1-}$hnAmSZn2She){!_y;^@Zy?bu9RnzFpr@}RcCI{QBCeA93TV}R>!YK`v2?4<& zlA0jzK2*uFLX`otqf{_=Klc6RrdX&w)2 z-)X!5-mwSo7uQ(%tzUn8{ww)o0n0==98?ukZhN%dDgS!TAbEY@;_1%6p56X@C+V&m zi)qT~Z#K&(m%jghW&h6~|Mc(uzw+tn;eY=o|95!VA!a$H>vCb{%$7H+WSRKyud7a* z{lEC{{lD`4m!FpY_C+ol{=d83{y6c}{-3jt-`;xNz;-!%?C)QnPHUZf+Fty7e*NV) zMxu(|5)O}O$-U+M+U%R*Dw!8=?+e>)d3ee|qJ?*pr0G2yIfZ-m$SK0qN8x~iO~uZ) zdruwK*MEI_-^L3*t6aBTyY+I5%=F60sAWsGZJ8lfAhzz|>)c$)(5n9rBbAsmjf|D1 zrOtcaalmz^z@_k?3|%ga$CkO?{{HXs@#p*aA5_fPUs=tthHEMJ<7=B%DSa)O^=yCz*Y@krpa(b?yR_xMEaI3*;g$h?W8_E?f;PU^93zuM*JYx@@3 z>E5reZ)m(Si$Qwjk{iD|o@_XC{dL@qQ@_oA7Tnc(aPOe}7b7`%;` zl8sO4#Y&p@7aBL-zxA!W|M~Lr_WXNtzgP6j=O_Qj-&bE#F+;h;=Ir#-@9J;cmnAR@ zI(P=`5Q$Xulv{C|1&Du~haVOHAOD`KFRZHJzRZw=VFQOjZ~Mo&NLgEYCJst^?}=`WQ2KRL(8m`Tf@Vr|k3A|J_zr$8K=<(UoVJGx^)E1&O&y zdMGex3N-M#E%bT2`~P=-d3VvHhbw>1{% zTV;J@Q|?~2_NBISp5Na3Kk)ymuAE~EJZ#+t3c?E|mhMZAxE^&q&cZ4G{v5vJnQufJ z1J(=Fd|Uq^F;B@a{;zW0_I+O&KZrky|9|Gc#r1ztw{t(Rb#6;dJM(#q%&k33R603Q zFHc#!b`k;;p99ir?8=At<u{z`<6xh zZ2oqc!-5jieQP}=yks}C=1I@vmbdxC0%LW+3A#W^QW zAK#bO&wh+M^|i;Hl#KQn$4e}p*?0%E@(NAx6u51t_q%ty!NI;}hlL#(Hv|hU&a8En zJmBV$=pfWESF%e-eCg}g|BCAu9z1sE(cRgqA}18zGz2Ip*572ub+53NK(@ymnzFA~ovBXED z$JXw0Rqb7dme1b4q79QKOn79mb;_x80zz&ck(+qDRu#;=kh}i$uGU+F>%~`{5xi@#CD|w0N@iIlSL5m&9nX}g zC)=)XUBBn({J*c`zvgcc)c8_=`~Mf|5Bv&W<4!{+>VDV12j6!u?fvuY?#-vO?_2J8 z@5=ttVEbVqzS}nfA|#x&qJx$(d9J!7apgkkk8Qng&2*H$e5tUSyX+H(tE4zn&H}Go zr5106#`a~F<^31AGlKV3+T3`WIN@QoRnLk|1xM1=Qw-c zKZqprIHV|K?r;*+Q*`dwRB7X1d$~$_lG8;a|IXtTbU;owm-cwi$SoVMdcOuvI(mqmapUFebF*Og~7lf%}21oQLKT5rHfFxWn$0SUXvMg7vQW0Ui=&G>OsVi4{`gK`Gh8a4V z0vwGF!ES0DK04k)MhqO$p{8d_*Pgz|*-)PEf8R#7x43J)F;~D%!Il*dC-CTA`e*+4 zH~$~y3{M4>-;@8ZTm5=l)!wh?|J}El*T4K`DyMfSR}1fysb?qc|MlJe$Nm2k|4Ut) zzqj7*r~YB}{~}x|TPB`Z+5XdDtHU&APR$%?1qEfd%-Or7zTE%aZ~sMJQdh_zfm89{ z|8Mo*`xTXQuI>BVhSW*?t^etvjkizM>sQ|dwoYx&&%SFW=a<)v6Mt5&HTk-QeVRwI#|<-&pq7O(LJ5i~-xr$aN8gY59(Z=+ zv7d=u0lbn+fHBH`cxt`SnWoG$f2iN-}c^%pMU*z-OaMT3!MueXXXhm zNcB>lYGjggo8gdvU?`uf+ne7O^Osj6D9Ml*Q!=LZ2Sy0a%TDTS1I%)HpmQ~U4i zl%I$D&%eGkHR12O^5uso8dl9N;_*IpVTF(o!`0T#E8Bi<d*MdddE0*MZP0{_3BvHZ+_o&WlK+f)TAA6Lxb z+o^MN+GLeg69OUvXK*zAcw?{jbnDmb|5yJ@Z4#z3r z{KW97kGF%b>;Ub{x%a>N|L3!}n*&6B1(%w?=X<$l?eBYczgJXoNI#jgxNz59=WXf5`RBDeqG@D@W3JG=a09X@t!Rb8Oouf z{AluyO})+@CQlQyg11EG&V2Sdck_xxhwKioD18}yU)=xmomDwHCpt=B%g4o=f7`n% zg{!CGU`Nzl_3b}u)p;7GaMhODq>H5P-g?JPHhRvpmrpOrhCGs9QmnX0H7tRnb#0=z zSVQzN{rxfVap9^$Gj6YypH>;UC@WtuHL?B8A}_Zfj%~aTN@n%9XIi>++xSm*dYu~~ zz|mM8IyGn_N6Hb03*B~iPH*44&5$EdNZ`)8>i2cu-zgZfDRSQ2ac24#X^|GD)~r7( z{{?S*>CEL|R%Wxm=lWLVSxy`JrQ-kIo|bdKX#rDA!>9Q_`3-Bo*59oDqx$2#|G)Y_ zFH1u*A22vRFPX)E`O>VYDiOyBH$K-C5s7vOpCgHt4Lx zc7Fb!-}8UQ-~3&_qyAyr`uel~T3bYZr9-c<1YOSn@1ni)%1p0ZY-3*c zwpb-TLl+tUl*v}Cw8GFP>yDX9yYDy@q}YB*Jztr%SSKY^%f-cHIwPmz8l%HH!Q7cqvo5^dB|O37lce}% z-Ged7%%jcC4SrXJYDc;FxM_&IZveN&CM=e=BxQT*4u8a^LT#rS>w*E<33gIBJGW z+y7zu(tE8ozO$a6=#WzIJ3YsDdp5h0q*>c0-OdvnE8BMOt-ZAWZSs8XgXd;1Uvo)A zc+K{G`Cq?majCfPUGp_r+KAb~fLFK&V0cX6M^0wb?42u6d**rC68xN=8rMG5rdDkzxCH{N- zM?YAnJtp7u(Bt)Y_D>L1X#FA$+HU(Dv<3@Q>08|26RFdl^#0tLPtRvN@m+sy=a##7 z)uW1x&@Ew;esxS^6+AaR`tP4h+YJr)k5^Q5eV=}D|7NK>H@0ugEv=iO+Mk%x%rePo z#e?pe=2)|dw|>0{3FN!cDR^3Oq9K=e#}Nn5i;Mo={l6>rxouiWvQuEuabbtOM(NcR z8L24(7N=5g7p+($;1RO2i({eSqmPOEVzPL`f9`r$dErvj3KtKi=3@%1&yGJoZO7Jo za;9Q_UyFIg}d3V>+Sb zV6uxhW9^lX7F&B>Z*4Yma$A&RZM0xd+4{rlUM0Wb>}0!d^Xz5I$$iQD&NSZ6^(ju{ zkX|S-X-R;RqoT#xal87ggdcv!LT=k)8fvdxb^O7!>tdSkCv zlN|l~-_iZYG*&VQXgCE)Djt{r5uWuv`Gx+e|Hoh3S@nhqO5R)3V7{aNweoCcdfMM)BFF<|I7b#Fs$gf@Av=x-~GS$ zfB%2)|L*z)pI*LH2yk(^A|bd*GI@^w>DQ&jm3Q0Lem4B=@Nn8Bjpy5rpWmOuY<$t_ z{=TzQ;?1rW$Xrx=|HW`yu1tS%i-yW=hlZsAHt zHe8E>FfLCXD-)V<#XfM zQyxVFK}HUxMQ)*7cfKDKlfQ}edcFMGp7-)?X&th$_XHR0!#-LG>! zRxA*a)D3QM;E+sl|4{nwr}0ap%Ts=b+27AAJhooo%c>VvGSXs6vo3{hD>^4%zh_Te zzRr_XE*uV%QY6{eZ(YAWb+WHwuj5qJ)|LY;0S%7ZR0UQYe0ZVg)az7s_f-tHZ(Ot6 z!y6vT`<{J9$K3MgHgopmWqG=MxyzRJ&G4GHt)0y6HCm^GPPiE#jhuHN&pqUTofl;bOM*Jk!j5OH8g zO|CrQAta(8$+*NsQ|{SPw%RKaq2E4UaPW|rxbWNO^V4US%XNz8dbutRbShgIYj?Qu z^yeE{HnPk2a)mE&N?7CYz;Ml)01vLM95d&gI(~fRo3Bxe!|!KVnzXJ8xU}p>-rwi( zddY?d@7#X4!=-zgprF!=qM1jIK25dPxoqP)Rr!Dfx1wSsTcCo9lT>JEosItIJL{&$ z9d=mMu_3$1|Fqrr+7h$rmA|*lk-uH_wXpAu#LBufkw&jZ?*N7{4UsSJQcqobR3&|E5|7YgiPYVvwa?8z$4v6C1aTPFNB{hxnd=Gy(=<#PWI?q6sA_si*P)r^MqpXLib zG+U~7@YrF)yUA0k;v7|9!q9 z$U{t_nTu5+(YxV9M`Hh{!;fuzFTdSXEy1DW6#w`8*}eS>?}qOGRsUoEgZkSRwcq6H zxBe4#5|~tP3~NP#uEdV_crx3(J=4!;s;^7SlYo|vCm%C!=6%hSj0*AzcG2zOv>ev@H{=`=9Om! z7h`{0eS7qAOUsiWmp@+~zi#by+mp3w+m@FWx|dbfB%VGMYpRf#xb{=;^2u5&j2Ji- zq#K!(lrC*ESmAK{oY8Zmt*1+CX0{w(c}h2Vf8YGNoxd)2tla)NF>r;ih7Vz^l<${ z-)J+gl(&ngX-?mH_gdcWr7bK?O%n|!Itxb3QoKBa!%Z`IarO;{q%U0^V)r9TI~D(hW$B?&OgroqaDxe|Ng&D{ww>x^@Ve?7pT@mP05@8=XKH2geyC8YX43C zdpv&D|I3MrSDwvS#&eP*pfm2?$3NBo*Y29yxspkQk*jq@SAfT+DFIu{<)@Wd_}t!l zY(>_zgKWK@9@roL|LJ7?{tf>^e=U#c>sa|W4b*?!3tH6qyZ(LslGxC5+w=XNYEAd` zzL~({mMrq&O9e~b_P^Vvok;E4|2Ogd@v(dR;np6G0`s=mdcdp-lvHcMv@1b9NzRX`XXW0pnFi8iFn{#gj z8tl@ae(;GVvxw87Wo-eT0gV9xhZR+Ni@beR%$uuLtlFO6f84ox=bGsC)34w9y`Y16dGVH5!!O@lI28^loLrHW zF|VWJ_EjOX-*z@r*SfT=R27oYc~YMt&vrXvua+_YXOnM*JM*R=uB*MdJ=@*n>Fwjm zem;|zNs31ZE;$q?+1k42FrV@D+#K<})j1beI4()$VK}r+mwAf!Hiu)iS6-g@Xb_*5 z9Q%7;-}QYT*?8q@ENpeWl$3(Y5;|X zc(u*44=)#b9>2O<`W=I5#b=ZH?^`NrQbW#7ShC4^i)VWVbH9MYc=fN!so=9U956KPKL+j?LfwWaI75zM8t%i;vnox7o_$s&FD8WrqOM(F7BY zM-A-TPtSN}^FK-{$NNTn?BakX4QW@7%f~ZxpDn$6E%EjzfqQ{3Uur&|S^4RXjhE0& zrxdXrOj=u3&a!>TtuOyQHS_bL01u;SPMp{5zv=(;{r`CK|Mv6$D$AKzT&Af0c(mX5 z)P?l_Gis$DuRs0&<3oX!99yr*%a|+(P{?86-|hV2`#D(W3sF|D!`~2XF8H{{Nf(;d;w|QGeT=c-P#I0JQ``?ZE2)@Bf~!sWDD(<51kt z(&8OzdP*W?$;H2a_JoGsbl7)zGSu4X2r19h+h$q&zp5 zb6m6A7RrD8&EbfdVXQ7UBLt<`*r&Cq+}>6YQW*XE^G^ny6)#Ude_R=6p{#U(LsHtI zi6fPbEjhY%^67nwXK#u`hAOov>0S&H+NQ*j;xO&NEw}yGc7-e6C^Ve^>2`VhgeW(2 zv&I$L`6XaiZf+qsOcFIEWc`9pZ}V>zJ@A`$6id+|{plUGGzG z(DCKIY2rS6dC2BN3eroXG-l_Vdb*{tP1y9sn(cwBuFX<$OjPDM#3rnm$j$5)B!BN( z;+h3)ihs|RPZTyViv9ZARCJP{VtW#gmBMc2#Gg+qt>-_x`+HwyWYo?#T_^0{#b@-? zznY)2@9AuHdHyesCt92*NvbM$O4-RR>A1bt>59w26kpx#`?>zNL~AJJFz7HVJ=*-A zMT1#S;CimQNoqGo4!5A7s--m7$D{V!L^T#{`Bt}b>+kM*yPx&n-%a@Q{KxwJQU9l` zR{Csy6+8w2ZsAw|_kC)9Uv9(dt}P;)+9onI8gU-=myfUiwYxi2OhQIJ>BQEjk2_aZ z_At0gggA$Ch#pFeal5p1IxFvi-Ps%5>-WB!{OEG21ecRU0cQY*#P0Re|8C1$e1?-L z?A{!{d^xd@1=BXgiV6lP8FZYQ(79^Unn}4mlS+GDAASCK%lljAzYeH5i)~ZM$(eF! zlWJ1z-^cpV_q{iBT=}|g?sVtiDlbK+KsP6*2@^#oDe>HpIKb_*M!)v#B^*`xPX8OW+O z-M0EBb$N=D$D|3lIi9TBL>oEzCoJ!oZ-1w*u0GS3W0IMs`B5K}XPT~u4sfYx9@0`0 zmHfRz;ZVqeHhzza^u2uIx#tp-IUP@UFf^!$o9V5u-n(zjHc_d$XMW7S|I|d(?1+XD zrzX=$GY-~}YaNp$GnyM(9zA`$#Ca)pe? zwiL$09=pD63SeHbU+ceu%FcZOhdAoL_VcpcKE{1!&HDL&^o!X9gKp?4DXC6f!y%$z zkX$kA)7R4ax_yEh9RKeAv)ucC*Z1juXEQQl$2X|_`&VNFH3sX_IG6PCJTruFsR(zA~ti=)ocsiO&=SU ztS_zoSaPZT_P>uyr->a`ZR7ReV060eb#T}9cK+Wh9GesJ-p)SW{!)S~Y8lgpi5pcW zsI+bnXi!;rM(6qjRgPn8^KMuCt|+>?!T2!ii`T-9DlKzv#>Ib&x7#=A!ot^gZ$B=- zFK3c5Gxd9sn+q3DQDmc|!^tTfTE|Ro6inorUcLRIO{&*2qm`332(Y-#JeKAYyr=%& zzqtLAcy4Z4`0YVik+01+}~_k%(TgxTW*2)wR9ye3!3G(o$Aw z-Jj>6`0!EbZN2rgeV>T`y|5XYCB_4S`C zw8C%dx~`nS&cwWM!iLRHUuXYk|L>fCU#9N+S;wW*B6sxLznkyyIR0DxclnhQf-?S~ ztmu+gR{nf;HnYnTL9;_5bz%?r!^gagQpO-wW6K{>wklzR{NYN!v~& ze)=RYPbDR#jW@r)s{QfA%jQG_W3S^~J>~v&CHFfLylPFQHS)~kw-vtr`?WM=suNG& z=RapJJD-{8n9X!^TdFmSs)Eo4#+$7@M|b7_w#(tX#dlC*e%X{KE4PX%-ZXu(L6x`D zaMjkbonPeZD$@*Q+5GdLmHU6balFv;iJi=(6lrnAB@CQ5yA+&@pLA&L&f8}AO?b}B z^-C|=s83=S)JW0s6igQRX7jXt`oGKi;!QjooCJesN0}%s6+0=QrOL(d@oEdFl2i8A zi(a#j+I*({0NSJVGbd|UO_{@;K9ByZ8UGO_l7l4K}-!|Lv$>R)6>Z-T#*lAAH*6QKt>+SiOU^uKxXA|L^nL-OSq* zFBK_xnz+h8e!A)Zm&Z%LJ2szt8N231kKgk{Q(8}OEYRuZNIZ2zL8W}|g8Np%6IUxcrI=qLJFu*1zyxMS58#;g~YzUS)li&PZY$?p64Y>iHg zAY*9igcOFBzyuwc&i1xU-D{=$W5T#QSDX-NTd?|DT>G@wcFV4*goZ9TV3d3Ab$9)b zhl>w0#NMyj?Gw!6vcl)4WJ^mcZ=&|+?~KYzjA|>^R_!e*k8)|z@@a3)mEQWZWR6>? z3jVr4Qg)7~0M)wOV)P_FA8tPOG$*sxarCI-ULZ!{N`MLA11) z>a84^64I)Y|DXSR|8M(U{{FMmKIX3g^_w6Uy6*iS{q$|=p32=m!P18(PHS3tdf(ro zX#0PAu5A$NYCm3Pw<65HyMOXF#SJbhP7WPBHyOB8qK`Wc8oi10qx+f!;Y4L8~%Vl5h|NFF2&7EJg z{`23DA8jgUCGX_kcoO#x-s*Y@wawL8=2 z=DE)+!xt`8d%wbQL)@>#yw8emfzGdU>uc}oZLi&%r`n=1*Z&$K_QZ}?(~TC9AbAeWoDPR+NA7(2_o_dzN-6vn zi}2!uZubHXGcG!{x4KVkW<>Jm*QwI&mjvxjrrFV|yY-cIUwzmD1%noFFiP<7^1D4h`_p3UGJ~Wn%U%Dj z|Nj^8zDsibzi+o6|GaW->vNXY4I&Dh9Jdu1Bo=>@y|C-*dHL(Nb3@!0X-+Zp{kXwr zd2+Bz?x(F5o3eBClmBhmxb^+w3yE3p?bqzz6KC0YF(GnUX4dC5D;b3z8a1dedN?I8 zI66+<{`Rt2yhWe|-)S5D$sv=M-3)$fx`C%a`tgP>4%l(2rwP)S_zqk9po;$PQ<6HCg z&nxdP~+Zt6U|pD=?g+W@(d}FR%Em#AfEl5x2e1 z%PAkT`W5$-_52mCgXV=Nx-MVZl)6)e(V;~}@sOiq!m6C;#S!2CZhLn)ZW(9Hk3vfu zxy>6At+KLmqq%3!e7p5p+$5zayjZUcP*=sVU^&-ShglcNMFZnQVS9Bf=%B z5hLcp;WJfrb;vr+deos!QTEK!!HrqcZTKTNqdSSXYXLPN6hg6(<;=14W zjPkPoe){Ou+|tDA*>1K~#AsT>2l)m6Z!xhx-Lx!Y`o7rhvCImK=k^~@&6Jes|9oYZ z=;bSWLhpC8@|zzu@s+oWYxTU!BP;rLN$Mq=P+qsx7NgT*eJ8k5Ivkjk4Xbjt?^t_p z^|1}?pD*3pYwN)*(Di3cOZ)N6yS9st&3|Suq>}UK`#;uA6aO6l`+NS+_4~{IUtj+( z^N5>*=i03+HJw@(dGEIU;1~S6`hRGcz$s9zea&*QY~9!Qs!A%!tW$ha5~?LOtO+zt zzhn3F{=bs{<^NX|{y6n7UtZp)K4Z4 zC%v7(5dGAELxnj)@`llczn9tXulUx`!ah;Nefrw_{$hb!r8fTl{p}N$I5>D3wJ-$#JA7BZb;*iVS4wt& znLj^%#>5MvrK!QQH*L*Wd5tMVZNee3?a}*Vk6%8V*th?BeWjdv+LxYLd^ew+TA6Al zu#JUj1MfB!%Oy9yRo$zqfARY$Lnm8gp@mNS(zC%^cv{^poh6@$yu6Xe9Qd^KeQxL5 zt#*0Z#Ku;_v;t=}uXTi$c388<&zO*CDr+FZRae-%Xq};avOUk0$3gE2&KA zP%&1%{PZICjqSI-->Ys-dBc0=a`2pGEYnUdRysVhm9uGuQ-p+Kbj_vzMVFUW-*@A! z7Vyo#FXyyvt-v9MSFwV2^0$9^_nJTZ@c!fb`X}-?>#zL3YajdZ2170GM#iHT{Il1pA3tLu==s`UNv!2d18+VzKd;GNLX}(9f3Vp* zA9P@@f3W1+ySJOZZn~N6AvQ&}i=&N`L7YR^ce~-b*Eihj1JfTZv24rx-DfHPtUSN( za6@BJ=*BaVpAKxDm2{(8elOR-b0vMC6Xrc;HaJdFRp?<6N;Q}`X@bPu@7u5QU+3n& zcycw9Yp|PNu#c~xVuynyhvzoI-*#rd?0)=wI<={xwZKkxTKmq@Xhlv%N!J7cr5v5= z4gIg$Z^d`ZHkNVRn&W@mQh0(&^bHTeiHo*&b>`6I%9Qzk`~?^4|5M)JbjU2{_l>*TAIAS%`Tu8P-qWC# z6h#3e1#bqU_&@#5Z}pe*Es*_R2tE69CTPOzJ9z0^`Tv=!mhRk9HtDIn67>s}b3}Y5zFuMX-um$-z9T!&x}RTveYT>= z{rYmXE+dZx4o4PD)0}s%c*(cBa^F}yzx;Uic4fA~moEh;N_ay(Cwc2GIUv@U>yUYS z@8pTwb6 z4s*NN#KEYzA(uN`{>|an-s@){c474K_6s(dBG{NCpm_7#1kQx4jc0P-FW#jp*kJUi zV8-n!mzV7HoTSSvlwjbZ5j1fUQ&!2UlAZ6?U-xyKGOe=GLQd`ZM+4W49wtwx6C6s6 ze4k^U)=E!Qs9a&X@4ub;(K*c*_OU}t>H4VV=F=YQRs6HE-vZw<5Lzuw%>!)hS^ujBvjdZnHU z3!ndsAQ=@jr1@XI`ui^J-KDvayT00~Np8%mK0V1ue!;!}2ZbWHEvb#vR`NJ^@$@b6 z9WkXw!c!aGehTC{Bmcx+=*JC)CWUA9m;T-V8?5~GPteDjsu<0@>f&bBp7Ooc)wZSE zCp8FrGZd+G2;B8reOMyp)ph>8XO}%}l8&9>%PV(2uI;9~ZlLRpMT-nmtQQ3pzvj8} zgmZpH%gGe)i`{jXI%D%Y;uZD0!@4 zIf>PC!O_y*Y&xwCDbfO=+#Bxpb=3TP{q$*I z$>~Ki3ws3w6`6vpSiC3hz8xgHyY6?5k2|lmzyIscpC@r_@O1E-kg|PBpU}*I=b!vP zbfxRp?Ej0MD!zaE@b9kudHeeJ^;f3i>B&J2=|g|8K2-_s{iT0djYH;k@}`k{7fPIeHcEwY-5eYx$Au;xC=+0O za_ZvV_#0LG4I&>dIA#C$i_sH}O$sZPG6^Y6OD!#LQRyy?b$Wl><&AWBMyBB6g3|3B zOWsL5a$@SRy8QChO8)uZD_NXBf7xKSe~pGxr%*u4g6T&+E*NoU-u!j{!}|X#>;HED zdEQ-bdjF67hR>hvukSyyAyskeULDhYKl?eHgcKS(Bv&1c^FDsDwpo1J^~%a#uTX}P z0H*lA=8Vj;PF}N4>hF(L)ey3%|6Cup_WwrE`V?jF`W47Uc1u;Arqvti@%&Ce?4-oEzwQR&CR6KoSi zCgwSqc^%3<*FXPza#>`fNXynNqvz97C5`7=PE_%pr0K~tLB(6e@!I9enZ~~_iXHEH zqs6T1`AR{6v7Jrj=$FEn?UlwdD<1NwXT37(Ul_G|R!R9y4;D@Vg((V6ij%IE?7scx z`W8tk*_hn)ZK|FpI+<8@T@CWLt9kXf!<(yN&E=I|lO|YuI4QBH`Yw=J!sqfo{xA0z z`>*HspR0c#P@!nOr^s&Y`+dK~pUA(DzyH^I-O<+@);26u_GWTmWl{R~%s!gWO8a=~ zy}aVsSKaj~A}6~%m=8Ls#Pt9Bk!hV4qY@x6ZB^Pi<-w+Ma1+tIGt_ zHIuf_+`j$s*RR`3gL_;{1K)2s$s2d^%Xxd-wTC-Z*gf8?QsfY6bO}1La@zFDf0s`m zzE+#Fd3XHx-1Bzk)AGAoJ6NWKhCtb6=O<_pg4t z^?YXbO2hQilaeiUJ5F(NT6iaBsZCZ^x0qpldzGt{;R7%89TP=3pG{fvvS!D(!oSCq z`x5V0-@mo`d-APs9amZu7A@gqjNX=}{$KOYb*H_W(y<@R|M$N(5d2^AKg*#;Rc9%) z%d`ocf(=h^v>lmK|NZ>5G}Y>7eW!#b@faQWo>t#_WWN6O+I$5kM+TYg%Zh8h@Bioi z@BP2jsWW~5IUtv_s=@E?_p&+pyRJR;GUoJ$+pmvk1Z=tJ7#Yf_BfGo)_Z|03(RQ)w ztipL~K3YwyJYzDeSw9}`?R(EB&+%(bnJ5tS z)Y7x0#O~g@<8tSIxc~CXd*Z@leW#)(YX1CdOR_I8GC1b!QY<<-l`lxnFFE#j?&}cw zVyg13J+>lO)R{vp1!Mi_Zc}3-e?y`rkg7+#M|B5maU!g=}SS>v{~CVC#P4b z%AVB;-KJZr=u4-|IUBrU&1>tgTlpmI~Av%;eHV(Hy}{eRWFzsN}R8cmY&R!}~@zvj-j*D4om=K7yD z`nFd0(~c`*9gCk#iKHZgP z+%Sc2Q4Xi_5+Na32cv1H1a@uwI(KD%B_&?CfwYsmwe-R4zJ2Y z1>JAYum9azCi}yj(Q3suhUA1-+hmg`zPakHE5?|jva~tmaN|uz72VM18~5$a{Vc+F zV`uKnVEyy6dPO*$7R#Mk86R(a{X>Iz%>_5%wOt8}50-rn3Y{gKV#VRfs4#cluk#P; zPvxKEoo+LQ_usktU-8f5C*>Y^wEKUF!=w!%VoRiNPZHAUvrIqiH2LO1tqm>86EkN2 z)ZV{6H+|8EcR#;;*%4;B_GkIOpZtIC|K(n4y!>ARa`to$^7rrV>1mle@15lA%RB$= zS|^_-uJeMS+{+9QJ-&$zcNbHtBwS1#qkEj14X_4aB z$?umhZw)hF<-ysSBiN*{>7}1P%k$JdXCHri7{NXDmzSA-y8WDMl}p6DnU1ZvZ&!19 z|GKa5xa~47?5ZfscX#JtJ+-dL!Go_$MJ3u(XXgt(55GfSt7J-h!rm9O@v1Gq+>jp; zzy0s!uVr`D+MfOW{q^ZbmjgP7j~hN0D+n-edRwEWg_O-}GN{cF01G zltj;l9MyTZp_`mJt@Bc;p4;Jc9{rGSH z!~gI8_g@6{cpxkP-|b)iWZm@XQ&%|mvPDm7G3mFN6Z7L!rBTL48@6AYzNVKq=WSrD z`v33c-P4vwf_93mjL4R`eNk5K1oN96v8vH-S*H`OtSV|@+^})Nh6x`7%(fQKJbou+ zb)T+#`OdoEr{8WZ|9?V5H{4n7-u0lxZN{G8BaSQ-xt$w#uWx$!>!7KUo@HNBojfN= zEsQv^D%tJBo_S*ZpC7MUcl+Pc67I=6xHBVP>F?iD_xDq2-0PQnPV}6TSmtSTZPT7y zW48%2*GkYEEVCV4BK5w$`+h4o?Kc9Zt=+9kyq5n4j7o{iZ zM89)c*Y8*wiP7kQ@nd0J`Vtu`qRO}WENPE!RuCm57?S@jmid0$*s znJgD=zb^Ywd;j*+g)e4)_Fpso;KSw1pH2yVDiGzDDR8mt+?nY8b@z@pyGoue;#6|j zXp-KcI>|5Mc#)lM@|8!Q4yE2MDzNcpS+|3CeFyqx<{iPZh_nQjc5S~q+t zk(-nkEqzO-*J|snZ7fPhx;C_^rU*JKd7l0t{*n7t-m{67TSAQ1Ute3!p?Y=lrp;eI z6>Rc$I{qg0N`#yI*;b#3o7?TS+01EQ`z}K0%uSX^Mnz6dh9ZlQz!JObnO9yH7WkFR zU1$Ary8ZSxS)MJA+VtC>{}cJw0 zi3}dU%D=_S)K$g#S)FVXu)M~!h%^1!R{izAE2e~;3;+M;^PlId|Az&4pSr)HJ)-72 zzXa>V6B(K}_y6wSHQTO8MmX}?>#yIg?r)j@^U;34<*POwy7+VM{~+7_zpnp3@&B&9 zBF8@uvbxc=wYub-dKK2s^{zdTU2+h|ggiV6qs^Wez3-LgD3H)VObZl*FSC{AIyB*?(& zA!H_WeB$!bl~UXPzL9`n&C-ZnaH*UH6taLX2 z^QAgYGhGxMl{#D<*b=iNubegfT(GKLYWne=wtjY>e(idHe9fT~s&Az>-B#Um;Gxf1 zzD8rqh1y&{C%!)Z_r~LcuW!Gti3*wNekygg%ESpC9V!AT=fXbL*nNGTv;1+{i=xN3 zP71HN(t9x|EAn_%+^KEB-QLPeE^o4(sw{GM=bgTd8M1y#o}3*l9{+m(>d!gn{cy=+ zugDcu{ZWOtIF^0-m3V#C@%D%3?63a+y5PdWg&9jeOc!Kw5NMj@F+sp#(vy7E%0GAO z?|!>!eEa=B=j5Nq<>lnEBKQAfm)Sg}omJud%?m%@{r@EYbN_E~mHGw9-CWMEpXzR$ zm?YRB6rJI- zsR1Xq30%x+@O<4MTDI=`VsTy74Z4~SI9!9+RbRa~l?r=Mlr2_QQ+en9udhY5d+%*K z-Dt7?^v{q~UG7jXmD7u?8#lFDty%i=jeBrL;(e#hE2O4+U&xGX5K-CZ&+a+l(CHwt z{QTiPO!QzEa*r>W&R+SsKso|K9(5yYlmX@K()#&;_=ye#S<=a+@%X)ydH7UhV>w`(a!^Wima|`q;1zd&9Sm| z_vK9QHkJ8#$DdmKTKYX&UN)?vAs~49>!N30{^SXi&hpr_L}l7yk2BZixXUwUnKyUb ze(m`4?`f;u>Bl#zFig>~ZEZiz%CTk2{hwFFYj?$1cQVTPKmOwSf0x0VO@R|woK`S} zImdk6aIMt-S(|!GvYYOjn|t{tG$|eva9Px{$&IsSNx!bV{rzYC4|&$x%)2(fzD}ad z>B1W^1(68?5enWOnW~xP^8;Qe=U@N(anH32b0&Hydk5WAygTtli^HvNR@3b3ch%UL z*&Sw3e#m(7krnUy!e-ck@A z_22s!9eUOeUVjOR;CJ^|PM_Y&z|!EdK%v0jdsguNe?`_+uY8y$A78$)$I$KOEccce z#aU~OIGT=Zu!~(U{+7k}$_Gvt`JFMpw_MvK;vpa~?bq*>(-ywICV$`TKZBC|2`1r| zmJ6RR|9pA!uC23_!={!1cBR=`-`*|bY<}f+&S2->v#AxfyVGqN7O-4YoT%%5sV?Q* zPMuQQU;F?5OfEky;CI?$epYOd+YX*Zi{EM7%np8hLjvn~lzb!!K>>ex822{q@xO3luX_1+xU_UaN}8E)zQI z9JPx-E!Ad2JmXcxC>fTbCU=gV2D`H}!t-wjPEqJg2`E>oO!!kZGk@2@WzYN-^*oxEZmeebgdKL29>zFu7~)v}@E zNuI;HDPOPF&r(cRS-$_Xz54%%|I567Uwkfgc;BF&fb#YSiY~<;4L_EpD&`v0Gw z&s*EHA#CpT)QE0X$%zdt9G)t=+7lO?+SWgFZGZ0k-}9b7|NQ2r@#V~<6s|zGAeMz8 z9rJ#c++BC;`5Q62iRVSC>bC1`yDKE%y^Wc3lI|1%#hYxh?&nQBo1;v$tSWcE)AwJ# z$!g`omUr9cW<&_hjazM3ccboS&ByZ}82@&%K6A8xaJT>ThR{^&71gs+-7^|qaJQPW zzEYL&OAruQ8`GD&t2$kB-KxhN9!_0vi*j$*yndaUSInKhV^P|XX~!RZotfy~E~DI% z>#m{@89M2TEK^e1`J2wIQ_g*@x)BxL{A2r9d;Y3Nik?b(Dw7|am{gndd4}vn)k#}4 z4}3cM|IaJ?{|^7lP98s#EBE{2?|H|U7k_`_H`%kNM=(^Qk7)|mQuX=kevAKie8Cd` z$9`{o+o`KXQzEvBPI7Z{YH``rbHT<)coLiWui5{1*Ut|V^!)Yw2XrAdxWN9O^!{9# ztobG#p7mSHSv&(TSz20Lep&T@`fInTZ;d^al5eawW>&wuu4#Q0!>J8UEo=@64F|UW zmv*|a-}C?S&T}bSzov8wI5b{VJ&~)iNlY@aW-_KF;N0#4H)R{aW45X}ey3 zEcx^4a%JSD(_0rfH!-E;1_;>n|bq-@kEG zY@VmHQ!?|gp6W!gg|~})_09z_@Y>f_+Soq{OJ(!aO;{q`E-kpiRArX&PEMzQv)lIC zG^q%;EIcd2i{(i-FJrP0FRqgJHv;cTlc;Z?LWX5S9zkY&U~h_< zvxJlNCnyOXd?+vI5b-iMTUVxblG%zR%aj(e)1sF&w=EajowG4sul20PmbM0!+vb1& z%1?j2EnBSpwdT?}wlj;;CV;quYZPzue&`$aHa+!;ByE{iEZV8H6Gd^r!J} z(}{Wd`U#IX$AVHX6NN)JbysyxV)o^jyo6;=g8mGzS;cOl`iHv8dUw4x&`-M%ZJqdT z>(=a>--B+8&1qyUdw6H_*)3b2vQE?J)>xn@yWkbatkbehy+VpjTwA23-(I_0=Vtrk zTNl3F`NAPm7j6{&;E!1U+!G-@Xv><{})bGE3{j-*Hm=nVr8jN?;V#Nq>>`u`d;^T z7Ph`(@Mk@fn*5cA&zg67G#q&UKU!X;A*v+v_xr!|uOCkI-2c7)d%WeZ^ZR`e3;%c5 zFSuI3>T@PIXiu*~=EaYHg0fhQRTextem?%|^1UX%x0$S%DXF9+^39BG+9cKO91?=O z`;UDMG85TRU?X27x7*?Loa(oCnb~vBpPekLCj4Lv$A!0FSO3d)W#R~1BD~yE-9Y_{ zSOcTUp$C(AUNKqrDJnGFS|mPo?@{Ig=CYca{r`Uai-@*~HFG^;tdJ9Z+u7>q=k>Qs z*PpggU3Tlk>&r{Gwh0>?EiCu) zkAF8$6f~Ob^K-(6=(n~$UR=lCUh~qJ>D#&V^Vg*-+K>IbZ!c$88#AklMd4^bo{2|; zN`uFihjAhcUdV1u);Hb7;Nh{l`Wwrk4SJR>QPnOn-*)+y-j_NYv`J23MsNN9)caMc z49xQ@3+7MTa_h;%_M2CH87J&@R$$TeOaH)qydNGSk z>Fe9q{Fd)5xAY7O>aWm^u6$dP!P;nf=E2K^&nCV;EAB}jJ33=YN}ikf49Sxdyh2|y zefdrHHIeDi*(sjN8s$p3M@*P6Y|Y8N?9u`qJ=^1EgH5I^-{|9ju` z1m?1uit;~y9!6BxSKU>1(s!u&9RKgcfBpZ?|2rItoOo99{J%I+y#9NI!KUwdY*ICa zVpr^prixtK9<48!XQ!_1tAF@^L2Ehx>Er$F>m=?;PUsEeVEFLt{-0jOlO6XWcYO<5 z^w|8r=HJc#cmL-xjrj8vsh#rIy5XMkuA;I@LQ#iLf4*0hz{IrT$DfxEA12=0mL+3- zz)6AS;*VnBy{Nn!L^6{^K zcQ3v6g15;*t-PU4fK{^HA#+d9)uXo_RcY@nlQx-dD*KtIpvRDPjrX*OsNi;%c?CPe z%;cUuIXAyvclufbM`MkBvp-dBd7S0u5}s{f%xdAs;nu<<=D@L3Yu1-8xfhce3Z5JK zzpnH$@qaeYVWFU+;NGu6yHed0s_$i0-pqe{i&3NTz?Cz~vVN6*ou-n$Oqza9JF;J> z8`>~v?5=YEQc=6}D~IxBFXvNU@sfJa+E2W{_OxI|Ts$|E?Z1?N2Mf=t{5xsypmFcd z>X)l7r7u*vn*Z{P|uj1#VWKPaO4- z$hh{~{Qu=Sac%XY3X9L*|EoQ3zIVPN!y$h8Yv143f0kF7!^iig*_M;z(Cm6H!4-nr z^Zy-YVCBoUd)B#t_y4Zn_ImB9RkfNI;@5)aWg+X=@BaT&rJ0x45Y>P0@LkoI`0TT? z_y1?UxxD=Ib%xw(-;*3nJpznIP7_|7T&my^)c871@A{|LWv{&z4ruQWI=#6)!B5eH zNvLqf=7XoMDda>i=h6JOX!`S8iXs+oFE3Ya>VDcD%*UzZ+2G({Hi@gzOdx<~L)hD; zcjK}uUof1j{rB>C@VS-S(v}JI_{U)!M}e4o{nscOyQ2`?gj|PSsic$Df#` z&i-_xuVOdDqy>^59*-WdcBkAa|5J1`n!CKZCSuR6IqJs80&>4_%)BTjT9WI~-2brf z^XskGuW`D4IDY>1y~*!-v4t}Z;(cl>FI%??G? z;wH9+13MJ`zSv%9Ic2kX5$B%T-G4V-UdYBG|G6aQ?pc9rRvwc&1ROr;+AeXp(zdrn zWI|Lp%LK;sS#YG1Wr^r<1g$m~A>P=t!-J#9)lJidg_j1!eE2>`pIK#v5=JGlE+qo9~ zzy0(0{vY=9i+EC-895o47te0v<@?W+{qx!XUqP>v+Y7Sp|MCC)Az$FjUHi{ds@;E! z|DSID|Jz;r|Kk77zWI1J>FV@3nH_8beyo%LnQ-Cf+@eE;9Cvp99pDcR3=QJWO!#mBc}I+t#luq`@UPjp9y znz_1XR8h2enz=s<$3Y%vdq)ldHs7G6qT6PF{${?8RH(CWWRQgZy~dRX(W?Ws`0(r*JIE>OK4@ z_|){%`)B_@@ZtaE>81bP-IsM^W?C@2)q^2{r@BF9wdl#ev;W^-tKPWypS{e)3%l;9 z8m3%0p#Sy4PZQ4{>i1w*H^|Z}XZzul|?J(K+cfX{My8&=JksNtaE#4leQ# zHTd&P{?PRE%RgsoZ4DAzBzb1ef&~xndn{&@T7M-%>F?L5b=SKbUp(9*xBut+`X~S2 z+52k7>eVkq9`anPmHPes{Jy-hy`jcsE8QD5u$kJ}t(k8(cYF3<{crzTPfnCM{@vxH z!b^Tn!HMguO3uHz`TqaXZ}*bZckf=c$;epgOF_BN0o{h6(64*S-j<#Bk@v22(~6z6 zdooMikJ$$&aJbED|HsQ@eTHLu+1DwXvKSP8eEeE+(=2yc^Ff{u#yrP9FH|_X=ctC? zp)y&SOfMOBi=E0x8<2Ui=O1(TwwM#wNh~NhOdVcXO$m4 zqWgT`=GheuQ(d~ZWa-LZ6j5O0&|4lFVi7dg@cBxf$1^mq-S_URx~j^cG8`?M3#S||I7ca4V}B(C4Tb1`(OW``yc!N{jd7x@lLrF_Rljl zw%**v%E%_M@ngjdyFKC;gyEjqC+oA6X93p6wrA zUQUgj9Y1SMU7Cm>f7C)T&*Tidw$n#`6@`}VPK@0Wx=_-g@!>1oBq?s=V2zyZ`@XUY zmgsQ`&N#y$`J!Uw{P=D6I{!X9`%e5<_2p^C3*8LkgVRqRQ4v`k%*ClwD^$5;|dOAZNII_)Pn~I;!9EF5fMHH;S1t2(~fis87St?HfrS;U}k#7rZ~UR@xh6n zsI{>ok0jREygMGkV7M&1j*+P&GeJa+txNx4Qx3zAAD=5%_nmwf@GW?oXtAfvp6gt9 zY@aW-uIZTT!KxCh&73>i#8}m2d2@`C;&;8!6wAc5@2QAHl-iLbeQ>I!rxPC;t=epFR4sv$OfXfK2c1{6FoyKD)|4ET4aVYw5rC=Fk2+4Ssj*2vsoH zC3nzX<74S>&%fb+r0*;`vqI(1?ho>85AxVI$nBQ6ztH67*~`~l%vhVw)q5!{5@~Lj z)WmQ{^O$e1yFRy>N8{g?yCyofw_V#N z-M+eJVc`k;;3ppgc`j+}_h}UlK565h8tdW`nv-q7$G1Q$;JI1B^>coI8Z&mTX1cVc zGvh%b*UU@1%g@d4Dh=U%bIn>b_@%?KxCC3yhy7s50p-`xq_G#A3;! zR&sCJ=}WU_UXEvE`L;W8UQzb3le(=ZVwqg-)_XWA{`}R+_^eQ+eCAS~ zGjrxo2@d}4`ZrqGCxNqUXV3qxdhUO|zC0c4`58(!ged&q{pa!hbNeIp>jQ&TKLlU) zcvz+g|A2$Zhu1PpEAOY&n#-spE%2W|J^2Ga(}{EcD{oJ` z_3c03|MGvG>*^ZU`y!VJ`N#bGlbz~p^V09>Fwaq#xVtiTwZ@xgOle7N*8_K3FAzyt zVE^||P0sC^*LHQTeGtCpoEqN-v5Bjg#oX_|d@19gkYn4WVZdbY>f*sU-2OY)WSf5Q zD+`u6p2Ohdmf<_0vr5D$;Yq`U&FT*Je@ikaUt(C$z^Uhbch!;}&LBXFn%Ur9KbxB8E zZC6lrsF%8af{;MrukEX%vzeZW3pup4X{|mREOPO{FJT3-#v9jVH|m_UOi|dC`mNFJ zNydd$3YQF)Ib2^6{N9`)O2=Mr+p_h!R~aAh_)O@rsWMM}cK1vgmy7J3cxlNS=U)}V^v_5Zo`3J;DS?-YnT zcUy^9D6vKeiGktcXEZGqG{_#ssk`C&*3y|0V4T+v*>O&mHfb$=7~S(!7_o?QmXqCqtN$$(Q%S z<&BQ_MHfA12z|x&yH+glyXb^fU(^K}jwsJQ#9_TPM)1H zi8sVniqC!CD6r_yA;+Cx6K6KJM4O8UKC4(4FHsy~th^#Sc~Rntf0kb@8XW{@-Fms{ zT4>z$wW_TwHkY>d|319KdhP74{N@8Lk1ZOcSgV!#WHu)Y7`!lDAsB!D^;7xI|GBxp z@;|QcinTg?%_PMt{z?1%J~6>WenVlF8FT7IPPc|socIv_M>^p6{riRu3no6ATA#n~ zhyR27zR9s}$x97q`ZfF%^qAnh_4f36%pvC)3$}Y_&8-&@J(B0#5xnM>U7c0#-1@`i z#k+D6a;C`^c(rx){1^LQ{%`4L|CS#`ar?FY?tlG%E~u{f`v08${z@61gi|NYau)4Y zT>KzRl{Y2h^(DQvyfXtQu0W+i*|7vJCmUxqU#f*@%%BvHS zn3#Be3HJVwVl+=xagXvnYH=}7@6sC6$m?oM$)3wRjOyN3@v-+I{GLce!A6*MKPVHLsmBUg){sAM80~%(A{eF z3GK%NMZ?!8n~2ubNUY+p&~$D@;kSAY$uL9KkEMd@VcpDY-~m> z6C|cKJ>d)H*9(oGYpwdvbVKUO2@b1PC6p|ZIP|uEVaMVrmIJ#5u&MaYp-6{eTZm_#&S7%xVOHTG&!=B{&gkjF~ubWJ2 zvkRCa4wkv4*VW88ws4N$>X~!(r*bwvd>Z2Y>`vw1wTJbOs5lk~0cHm56TG6$v zulehtv_o>4pXY=sZaQ#m%CecNDn^D~Rt=|b+5O$KBi>lWK_jE-kJQnLf>p*Xa~(tY zb_+I$ny7ND33@!5OE2#^k2|+dE@|S)*m)4SC~>&!7LgrNzM0 zxxdz4;bD~N#$HR^?p>#ED&EVgu95iKW+Nf_LuEy|NXO9?345=r%vo|lZvHWsmnD(c zw=zDmoAy5IaKvmSA@x5mpC8@NdZTyG{X(^rONlHdaej@r8P-N+&EOI|(s1{I#=-jY zp3STG6*((yFgX76O=Iu5jZH_tT~F9sah7G(kD{B?)+RQr$+BS(4Pl(esJkcLAwd7N z+4M7=t}Pww3|;)Dw_VkAyS9N>-Tk6dXUSf#BV`j6-9=8W{ph+TFW1t%{(ghxecLxd zz8(foO!&^s@p~>RaqjspkL(cBu*+9sIvQu_EV&T=`~KdY%i31%b3pg)mOD*(ekaRd8_PoCSvHkLF&M)ErT<5O*&-L%C+RwT58~tXj zR7{-i7V2CkWA*>c%bJ_lLJzz+WuN4AQLXVzk9}>-HQzb^JHH!?Kfhmh-oE7D)BBJA zpR+%9tMTXRi=Yw%+PeI6{MC=Qvu`fw&($oPf9G*xz?H41wsKY(E6gtQWcmMR`t-G7 z=N{VZKGrYKVel)vafy1T@N%c50x;cf9*RpL`t zUDY~$t;p+g$JxfCQ#@Vl>*Gv6RS2mlh9x!j+?mwG=*cppF{h#J^ST90nj8{LuKT1< z-v7E`9qZmr&K-*!IK3ZzRZ+WE&N^RVs*9lgkB>{|t?t%0vU^wTm$J;KQHW7+z53R@ z2YHINZ9AAJ&`V>oS&sMu_j(rh+i>f zPt2@|J2~2h^N0Vaw6$;B54lLyEfU!LKknaIfx5@{&+ncZnkycykrSFEf6B)H z-2T}s0Tm6TjW_@C{ySZN;Q!qJ_qf;^ z;(L)tChYm@zNfWq*uQdSDO-Vu&GbD5ciEb|`_q$Vy}9gvT+OSwne~;ug@nKjjw{j= z%+Jgzuaxl4T)R>tB3>@wk(0`*IWsmNPOoFQxK_$ZEbaGJ`-8S7d^0<)ZPm-xR&`h2 z>2TQo?^BIsXAT_ciBUT@x!3whgbdfC>@^uoA@4ggL-~I{JbpST-13Z^k{ZVWM*AKi)A$wfJbfobWIYj2)k&k&q+L;KxIfkdU^uMXV{mL1_?%NDkCnDsCy z+WK{#)RXJJYn`L2c9h3A$cv~id$rj7a;0Bu_xm>$_u3Xd=~+MB%VoZO?6wKZUpl;( z&scrVPkfWz&&or$E~Kt_esI0k)pc3|fe%)1{gCW#H0QianRe(|VgKaJtFt&oGFC?{ zHA*=7rD)Ci z=%TIHo|zq5l14i}cwU|pd~Qja{`qwNy5_q!b^re=OB)IsS@Gv&^<7IepL2d|=tqeN zAMO+8tHh;sk3VylSga`c@B63z{g3Y-5;?)p*xbQ;&VF6?Zk?@DoI3dCJy&!$=W||T zJ$2&cl;G$01*9HuTW*>A-+T2{zTF>}pI*8ycfa?t|9k(imx>*_sn~J;%eI4)H61?e zpI!8<#_Ia#rJw!RPw$=kf9baUGyhxvzwTSPPYJmyv2XeJ`EVk`0gK~xGaQ9ao>7Qc z-KTkV(X@nWG3A7^Pm0Vc9%t6{%znw&vry+tz_Gs(8j6DH>8_!o7Sp!RSnzIH)4|_o zL+>)yTCr_c3Yp{f@0C)-j2}fe&pmI;IUQy{S3Ftyh|9d7{?rr7L2gD#N=nD04)ZBo zXuKU(IdSV$vn;(%L0^`uUuN|P-Q6bYu*0iqmm}x#IpsE6LT@igOA|d89c&t4@#a!{ z`OXxdH+QysXw2NbFIsQMUIiO1*@kl)<~-eWwKYu0>&=6fYm2{4)jE(n*-GV|jZ)Ix z9GOaq%RfW9#} zjH4$6`6W(Bd@cUO95QuM{$x+y=~@N{)0)~|XRTlERr7UXGk@OCJ?_e)M@_fc_1>stW^F?l5J94E>aqqq_m)Ln!|3Cb# z9-LZsgCV5Kb+Y3T!&_&cK23cY`~SM_KcPomJbOG(KhzTZ`~Io?|5^2i6ds1j3w(7` zQj44RwrJG>sXyzFwT1ut98e@V@y3Op{ys7{7c;W{zxFd(YzZx0#8F~w z(zAAXtxIYDj{HXkJVI3kGrpdktZ0+?IfN(Y=&q)aFbM`$w=;TwEvGhmI~p3gZad?% zN+^*{twHt#)4BIdzYY6?9pxoOO$`4^<@FT&&JE5wsAk-xq$;DJ?>#l?tIz|9J@s1e z@2A@v?|d83aOPmi9+QJpDyvyDvtDSNShc9lEm>1!1=G>ZJQM4@nV3&ibp0}2d()yK z|KG9?Ral zc$P!kTCam=I%_hN-vlpsm$#{+|6JiKrra0tO^KJcttnm0#AdlXe}8R)+f@e+-&<>I z`rO{Mot<+kAnNk9q;u&K*Z0&%+sXN_U$3oT=i_>2>!Y%fos$+w-^P%7gFg&1EKe_IMvGS^Gk~WA7e4QK^6rnj2=H zHh({^+uc|p{^K+lLhfHgJJacg7d-m~`x5&K3a~wp>HgrUWsZR`{ZWDu^G;oz3C;#XO;wM)`s>Y^sGbDvfRdHw%#eEFOmU24y!1kUC^ z>XTM=wU8yy$0h&%8<9lIJOjtOU+$RIm^ennW%tb!+5A7~-`1OX|MNfe|L>}ISg=p& zaB6Polkz{GEkx$uaafSSq^YdfESVU<%Gv5WwI}bT{SAAT|54_wul^MCTuHrd!caDe zRl$ql+4==e(}VB+oAv)~{OHU9JXw7Sxlzck`FVCbXLH5pQp=@PybS^Jhe{{U zpMU-Z_dZcg)U>ZPgEhNlT9?y}NLC-HKakyca&+^-0-yQaknB zWX+Ng51xh`#uYC7h5W|#oXFXpF4a8Lmxxe`}xPV=SPH`O!w0I zlKs=^s>Yg?UUM1(igkFM!7o+Tjs@W2wUty0H!=}n&|d_FnsDu;1G z(W(g=)7GrZ_BbeYqHTWv^u=o?<*|A*h0Qlxd^%n8Ok`)TqNVaQjoF+R4xRFPY(?IR^(k!&&GmJ4nH3VSA)tlfOaFcQr!A$c&-8fw3k-Ru zbHzlkyTL4Fk=iP?!v~l)$f_zC$b39!d0(tj;uwd;5C5n4uWY;4AlvY3{g3wg?)pa( z=Xx6Yj=wF53S?4bzNMh*_vTM>kV(;UhIZr05zH>zT2}7v?sy^JULUdG*3|mQ-Wf%U zqF6W1-fPX!p~IK*==$`hPb=Ea*&mqgeowWD?eP6$|L6YS^=cuH$e(&$l<}sPs=&I> z7K;D2IVO25m5Q4mYGk`V=ehUZw=oPe8idX|GqQxbHi_J6D7}C8RmQ}gIBQ#hmeQ+i z5^V}A#4{J|-ucDk^)|(Zl}A)wNKNpVakG47O|H1kgXRtUlbnL&)cyBf@d=o~d)SIg z>57A5aSBVvT24vj872Muo7UV~^~@>Zf#rnen%Mo4hSp817W4`4+oNY!%p~yq&+qc5 zXN6b)>PS;*Ix?|%vzZ}Flb-Oab6q={om6hlx>-8^6>ouyvBJVxw>O1|N)++2F*h5q z1{v`F`L%1$zIlJ+n2i2>nDSk?H9Ns$#r4YMKYO2UW}KL4&bf?*`Ej90um^AN+nReF zm9vBv9TA=&JY&(U(_)INA{ZRz@7L)Ly~9}KP*e6(`@oDfJr>JcIC{<~R$3-|xwtLX zXAd!n&RSu?JooOW1%ZOak%25)&aWPwZj83L!_SEvsHXF8JDnEdn0+MQR1 za&T%cI<}xuNz3ihT19r*7e{ikS~ZKSD)(B1@>DPi%c#qlo_8*qv{Y- z{&&@zDt!4V-+z0fZUjSf{T4r_{$xGP)hjk7*svTBaXA_3?egZ2qj2gE_DA#04m>pf zr|)grIElNVRHBJ_$4CG5>tE;p(cV`-xm@^P?2rAQ?M>#j-}(7J>I-Q4>EC-u^c(X} z`tf%5#W|H{ICVV~_A$*6&RhNO!)M9$veHvdPY`;0JW+1<;ay9aEB4&7XJ~l$d*70^ zuk_=l_%1wfc}A|Y;_B`zN58c*N-lAImGkgOoN(!{jRpTc?U8x=h)*DdNyy_su#_BM zaFP-GfhjB(d;|^^&iL!Jsik9UX7tqvv!cn#%=b=gifsHEdTb)+B+e&qHn=b-#Cn&u z9XLN<-+T3kW!C)vf8^fu-x0?6Vu!*+p>j6Co(|dCkoM^cFH}x=Jl}kU@76PwNY)bz zt`_hs7zApzhBz+TGs9@bOjD(0k1xLbzEgA4#q#$%LSGn1ZnM##D?&%67jB5uxc(`RQUY~If|;rYbV z9IVF2E=v0?PRj+lf3pn{h#g+|0(nKuW^q~c>W^FqnK^hr3#ClnHLp) zq#K50cP!aADJjS0SYC~wdVk)Z>-84@41dV~Q~h7{xc;~8|NHx%D>@68Jo}jc`2V^8 zt@G~rs7{>uDtrlOnE7-4bx=+4RsR0InLjqjFVkF{WX#&bV|;0)qPp>)%lyaH4xLPV z|9aMPqyCvyn|IWEWc9r_tz-<|8h3J4)ElWseXf#@Ou;?y}RLr@xBJ-Brnbn`o)^lwOd%>?yFNgskK`i<(LbMyV;vi6MGX}EW;iK!AwxreG-Igg zMmIL@fVSg@H_YaqVJ>=rXX?^Cqr$*~kePq)y}C2oWN*&w#xmQhY)hx`zyJPuPPDL7 zvR|Wg%i+212EwKiyFJK%(sJwmf&X*s3;#X0JpVa-DRP3a z-^OJ(@3zge$vNlGzcx`(64`pB?>oP}oPPGw1@@}v&ZsV*w9;6M>*cP=M{~`2gS)<* zy5b_p>;L?#xbm-CMs=S}?B5oPe*a_ep)%9raM`5XiHDsd^%phFS#jLq*_Wr!Pp{P7 z!yIyfi@9>0(K5~FC9lO9o3bx*BuBWU97%~>wYF%b(k$O^XT=V%<~A=ed8R1N_Vz5> zU;CCoxr%6$<@>l)g%o_~Gnz2@8l(trEyrx?9j=El+@;1YD@+=hC#3%ZRD86GTI zb!1B2uZVE59}E>P0?%)W9vYBwq3>yCEeo*`BGmuWEvqgu$((#@r-qo-~Q&Mt-ReS;KoO}AjY z<{z;?*uH&^gsZ|5In5wGR{MYdLF0!CD{g%ZS-#!}scZ0h|4hS%+R8}1WMAe(ZJnB_ zXEgslJ%0J)9;?@!2FzT1OLqF=~F|g5C>4{ina35@vR$a-O2k%$EHJfQfBNO7I6u=Tti^};^MlW6q&-=zEbMaTc(%;l*J96? zopbXHkgofqv&(o!W86WnBYjNP8ZCvJ6-_RGUi$V};8`VpHm@3+ZO^Y4$EW+n1ZlP| zYn%~i^5Ia$Mv0xvl@sPVJdaq@xh_cB>aX&&{CzWn68EI)oM~zMs^Xv!d3|w@Gn#g)ilw&VgG+r#PvTv`cmIO&VX~ei{;|Z^HVP@Gkm*q&patUwJf#| zY4bV{y!^jo-?Y;|*4pn3opAnx!I{r_3ZK3j2Tw7#DiGv%;tWb+bKRfX{Pc#H|I

?+VAV?W6M|4k}_akC&8l<{9@*= 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�Va(nS^`3P({=KeN;N#X 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

`SsSktUP-wi|hWsyVGHN_k650&$hjB>usI# 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

wLa?=Wyn=pCb29 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 z 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

YD2hncX`& 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 literal 0 HcmV?d00001 diff --git a/examples/shaders/resources/road_n.png b/examples/shaders/resources/road_n.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f3548c1a448f9f7493931e6917eee551b76d98 GIT binary patch literal 660787 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

JmT_i>|V8M^C`Fab-&Wq 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

y%DTOUxgtv}S1>-bE&bDRKdPSN1Y^Gvu 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%0D&#sY5@^NTc#S`-5++_^73_1 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 su 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®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 a*}c-%SkL;wAI!kOz~JfX=d#Wzp$P!lYwI@v literal 0 HcmV?d00001 diff --git a/examples/shaders/resources/shaders/glsl100/pbr.fs b/examples/shaders/resources/shaders/glsl100/pbr.fs new file mode 100644 index 000000000..1ada83317 --- /dev/null +++ b/examples/shaders/resources/shaders/glsl100/pbr.fs @@ -0,0 +1,156 @@ +#version 100 + +precision mediump float; + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 +#define PI 3.14159265358979323846 + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; + float intensity; +}; + +// Input vertex attributes (from vertex shader) +varying in vec3 fragPosition; +varying in vec2 fragTexCoord; +varying in vec4 fragColor; +varying in vec3 fragNormal; +varying in vec4 shadowPos; +varying in mat3 TBN; + + +// Input uniform values +uniform int numOfLights; +uniform sampler2D albedoMap; +uniform sampler2D mraMap; +uniform sampler2D normalMap; +uniform sampler2D emissiveMap; // r: Hight g:emissive + +uniform vec2 tiling; +uniform vec2 offset; + +uniform int useTexAlbedo; +uniform int useTexNormal; +uniform int useTexMRA; +uniform int useTexEmissive; + +uniform vec4 albedoColor; +uniform vec4 emissiveColor; +uniform float normalValue; +uniform float metallicValue; +uniform float roughnessValue; +uniform float aoValue; +uniform float emissivePower; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; +uniform vec3 viewPos; + +uniform vec3 ambientColor; +uniform float ambient; + +// refl in range 0 to 1 +// returns base reflectivity to 1 +// incrase reflectivity when surface view at larger angle +vec3 schlickFresnel(float hDotV,vec3 refl) +{ + return refl + (1.0 - refl) * pow(1.0 - hDotV,5.0); +} + +float ggxDistribution(float nDotH,float roughness) +{ + float a = roughness * roughness * roughness * roughness; + float d = nDotH * nDotH * (a - 1.0) + 1.0; + d = PI * d * d; + return a / max(d,0.0000001); +} + +float geomSmith(float nDotV,float nDotL,float roughness) +{ + float r = roughness + 1.0; + float k = r * r / 8.0; + float ik = 1.0 - k; + float ggx1 = nDotV / (nDotV * ik + k); + float ggx2 = nDotL / (nDotL * ik + k); + return ggx1 * ggx2; +} + +vec3 pbr(){ + vec3 albedo = texture2D(albedoMap,vec2(fragTexCoord.x*tiling.x+offset.x,fragTexCoord.y*tiling.y+offset.y)).rgb; + albedo = vec3(albedoColor.x*albedo.x,albedoColor.y*albedo.y,albedoColor.z*albedo.z); + float metallic = clamp(metallicValue,0.0,1.0); + float roughness = clamp(roughnessValue,0.0,1.0); + float ao = clamp(aoValue,0.0,1.0); + if(useTexMRA == 1) { + vec4 mra = texture2D(mraMap, vec2(fragTexCoord.x * tiling.x + offset.x, fragTexCoord.y * tiling.y + offset.y)); + metallic = clamp(mra.r+metallicValue,0.04,1.0); + roughness = clamp(mra.g+roughnessValue,0.04,1.0); + ao = (mra.b+aoValue)*0.5; + } + + + + vec3 N = normalize(fragNormal); + if(useTexNormal == 1) { + N = texture2D(normalMap, vec2(fragTexCoord.x * tiling.x + offset.y, fragTexCoord.y * tiling.y + offset.y)).rgb; + N = normalize(N * 2.0 - 1.0); + N = normalize(N * TBN); + } + + vec3 V = normalize(viewPos - fragPosition); + + vec3 e = vec3(0); + e = (texture2D(emissiveMap, vec2(fragTexCoord.x*tiling.x+offset.x, fragTexCoord.y*tiling.y+offset.y)).rgb).g * emissiveColor.rgb*emissivePower * float(useTexEmissive); + + //return N;//vec3(metallic,metallic,metallic); + //if dia-electric use base reflectivity of 0.04 otherwise ut is a metal use albedo as base reflectivity + vec3 baseRefl = mix(vec3(0.04),albedo.rgb,metallic); + vec3 Lo = vec3(0.0); // acumulate lighting lum + + for(int i=0;ipbrShader = pbrShader; + + pbrMat->texAlbedo = (Texture2D){0}; + pbrMat->texNormal = (Texture2D){0}; + pbrMat->texMRA = (Texture2D){0}; + pbrMat->texEmissive = (Texture2D){0}; + + //PBRParam + pbrMat->albedo[0] = 1.0; + pbrMat->albedo[1] = 1.0; + pbrMat->albedo[2] = 1.0; + pbrMat->albedo[3] = 1.0; + pbrMat->metallic = 0; + pbrMat->roughness = 0; + pbrMat->ao = 1.0; + pbrMat->normal = 1; + pbrMat->emissive[0] = 0; + pbrMat->emissive[1] = 0; + pbrMat->emissive[2] = 0; + pbrMat->emissive[3] = 0; + + pbrMat->texTiling[0] = 1.0; + pbrMat->texTiling[1] = 1.0; + pbrMat->texOffset[0] = 0.0; + pbrMat->texOffset[1] = 0.0; + pbrMat->emissivePower = 1.0; + // Set up PBR shader material locations + + pbrMat->albedoLoc = GetShaderLocation(pbrMat->pbrShader, "albedoColor"); + pbrMat->normalLoc = GetShaderLocation(pbrMat->pbrShader, "normalValue"); + pbrMat->metallicLoc = GetShaderLocation(pbrMat->pbrShader, "metallicValue"); + pbrMat->roughnessLoc = GetShaderLocation(pbrMat->pbrShader, "roughnessValue"); + pbrMat->aoLoc = GetShaderLocation(pbrMat->pbrShader, "aoValue"); + pbrMat->emissiveColorLoc = GetShaderLocation(pbrMat->pbrShader, "emissiveColor"); + pbrMat->emissivePowerLoc = GetShaderLocation(pbrMat->pbrShader, "emissivePower"); + + pbrMat->texTilingLoc = GetShaderLocation(pbrMat->pbrShader, "tiling"); + pbrMat->texOffsetLoc = GetShaderLocation(pbrMat->pbrShader, "offset"); + + pbrMat->useTexAlbedoLoc = GetShaderLocation(pbrMat->pbrShader, "useTexAlbedo"); + pbrMat->useTexNormalLoc = GetShaderLocation(pbrMat->pbrShader, "useTexNormal"); + pbrMat->useTexMRAELoc = GetShaderLocation(pbrMat->pbrShader, "useTexMRA"); + pbrMat->useTexEmissiveLoc = GetShaderLocation(pbrMat->pbrShader, "useTexEmissive"); + + SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); + SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); + SetShaderValue(pbrMat->pbrShader, pbrMat->emissivePowerLoc, &pbrMat->emissivePower, SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,pbrMat->texTiling,SHADER_UNIFORM_VEC2); + SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,pbrMat->texOffset,SHADER_UNIFORM_VEC2); +} + +void PBRLoadTextures(PBRMaterial *pbrMat,PBRTexType pbrTexType,const char *fileName){ + if(pbrMat == NULL) return; + switch(pbrTexType){ + case PBR_TEXTURE_ALBEDO: + pbrMat->texAlbedo = LoadTexture(fileName); + pbrMat->useTexAlbedo = 1; + break; + case PBR_TEXTURE_MRA: + pbrMat->texMRA = LoadTexture(fileName); + pbrMat->useTexMRA = 1; + break; + case PBR_TEXTURE_NORMAL: + pbrMat->texNormal = LoadTexture(fileName); + pbrMat->useTexNormal = 1; + break; + case PBR_TEXTURE_EMISSIVE: + pbrMat->texEmissive = LoadTexture(fileName); + pbrMat->useTexEmissive = 1; + break; + } +} + +void UnloadPBRMaterial(PBRMaterial pbrMat){ + if(pbrMat.useTexAlbedo == 1) UnloadTexture(pbrMat.texAlbedo); + if(pbrMat.useTexNormal == 1) UnloadTexture(pbrMat.texNormal); + if(pbrMat.useTexMRA == 1) UnloadTexture(pbrMat.texMRA); + if(pbrMat.useTexEmissive == 1) UnloadTexture(pbrMat.texEmissive); +} + +void PBRSetColor(PBRMaterial *pbrMat,PBRColorType pbrColorType,Color color){ + if(pbrMat == NULL) return; + switch(pbrColorType){ + case PBR_COLOR_ALBEDO: + pbrMat->albedo[0] = (float) color.r / 255; + pbrMat->albedo[1] = (float) color.g / 255; + pbrMat->albedo[2] = (float) color.b / 255; + pbrMat->albedo[3] = (float) color.a / 255; + SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); + break; + case PBR_COLOR_EMISSIVE: + pbrMat->emissive[0] = (float) color.r / 255; + pbrMat->emissive[1] = (float) color.g / 255; + pbrMat->emissive[2] = (float) color.b / 255; + pbrMat->emissive[3] = (float) color.a / 255; + SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); + break; + } +} + +void PBRSetFloat(PBRMaterial *pbrMat, PBRFloatType pbrParamType, float value){ + if(pbrMat == NULL) return; + switch(pbrParamType){ + case PBR_PARAM_METALLIC: + pbrMat->metallic = value; + SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); + break; + case PBR_PARAM_ROUGHNESS: + pbrMat->roughness = value; + SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); + break; + case PBR_PARAM_NORMAL: + pbrMat->normal = value; + SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); + break; + case PBR_PARAM_AO: + pbrMat->ao = value; + SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); + break; + case PBR_PARAM_EMISSIVE: + pbrMat->emissivePower = value; + SetShaderValue(pbrMat->pbrShader,pbrMat->emissivePowerLoc,&pbrMat->emissivePower,SHADER_UNIFORM_FLOAT); + break; + } +} + + +void PBRSetVec2(PBRMaterial *pbrMat,PBRVec2Type type,Vector2 value){ + switch(type){ + case PBR_VEC2_TILING: + pbrMat->texTiling[0] = value.x; + pbrMat->texTiling[1] = value.y; + SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,&pbrMat->texTiling,SHADER_UNIFORM_VEC2); + break; + case PBR_VEC2_OFFSET: + pbrMat->texOffset[0] = value.x; + pbrMat->texOffset[1] = value.y; + SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,&pbrMat->texOffset,SHADER_UNIFORM_VEC2); + break; + } +} + +void PBRSetMaterial(PBRModel* model,PBRMaterial* pbrMat,int matIndex){ + + + model->pbrMat = *pbrMat; + model->model.materials[matIndex].shader = model->pbrMat.pbrShader; + pbrMat->pbrShader.locs[SHADER_LOC_MAP_MRA] = GetShaderLocation(pbrMat->pbrShader, "mraMap"); + pbrMat->pbrShader.locs[SHADER_LOC_MAP_EMISSIVE] = GetShaderLocation(pbrMat->pbrShader, "emissiveMap"); + pbrMat->pbrShader.locs[SHADER_LOC_MAP_NORMAL] = GetShaderLocation(pbrMat->pbrShader, "normalMap"); + + if(pbrMat->useTexAlbedo) { + model->model.materials[matIndex].maps[MATERIAL_MAP_ALBEDO].texture = pbrMat->texAlbedo; + } + if(pbrMat->useTexMRA) { + model->model.materials[matIndex].maps[MATERIAL_MAP_MRA].texture = pbrMat->texMRA; + } + if(pbrMat->useTexNormal) { + model->model.materials[matIndex].maps[MATERIAL_MAP_NORMAL].texture = pbrMat->texNormal; + } + if(pbrMat->useTexEmissive) { + model->model.materials[matIndex].maps[MATERIAL_MAP_EMISSIVE].texture = pbrMat->texEmissive; + } + + SetShaderValue(pbrMat->pbrShader,pbrMat->useTexAlbedoLoc,&pbrMat->useTexAlbedo,SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader,pbrMat->useTexNormalLoc,&pbrMat->useTexNormal,SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader, pbrMat->useTexMRAELoc, &pbrMat->useTexMRA, SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader, pbrMat->useTexEmissiveLoc, &pbrMat->useTexEmissive, SHADER_UNIFORM_INT); +} + +void PBRDrawModel(PBRModel pbrModel, Vector3 position, float scale){ + PBRMaterial *pbrMat = &pbrModel.pbrMat; + SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); + SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); + SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); + SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,pbrMat->texTiling,SHADER_UNIFORM_VEC2); + SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,pbrMat->texOffset,SHADER_UNIFORM_VEC2); + + SetShaderValue(pbrMat->pbrShader,pbrMat->useTexAlbedoLoc,&pbrMat->useTexAlbedo,SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader,pbrMat->useTexNormalLoc,&pbrMat->useTexNormal,SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader, pbrMat->useTexMRAELoc, &pbrMat->useTexMRA, SHADER_UNIFORM_INT); + SetShaderValue(pbrMat->pbrShader, pbrMat->useTexEmissiveLoc, &pbrMat->useTexEmissive, SHADER_UNIFORM_INT); + + DrawModel(pbrModel.model,position,scale,WHITE); +} + +PBRModel PBRModelLoad(const char *fileName){ + PBRModel pbrModel = (PBRModel){0}; + pbrModel.model = LoadModel(fileName); + return pbrModel; +} + +PBRModel PBRModelLoadFromMesh(Mesh mesh){ + PBRModel pbrModel = (PBRModel){0}; + pbrModel.model = LoadModelFromMesh(mesh); + return pbrModel; +} +#endif // RPBR_IMPLEMENTATION diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c new file mode 100644 index 000000000..92a888811 --- /dev/null +++ b/examples/shaders/shaders_basic_pbr.c @@ -0,0 +1,171 @@ +/******************************************************************************************* +* +* raylib [core] example - Model Defuse Normal Shader (adapted for HTML5 platform) +* +* This example is prepared to compile for PLATFORM_WEB and PLATFORM_DESKTOP +* As you will notice, code structure is slightly different to the other examples... +* To compile it for PLATFORM_WEB just uncomment #define PLATFORM_WEB at beginning +* +* This example has been created using raylib 5.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2023-2024 Afan OLOVCIC (@_DevDad) 2015 Ramon Santamaria (@raysan5) +* Model: "Old Rusty Car" (https://skfb.ly/LxRy) by Renafox is licensed under Creative Commons Attribution-NonCommercial (http://creativecommons.org/licenses/by-nc/4.0/). +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) +#include +#endif + +#define RPBR_IMPLEMENTATION +#include "rpbr.h" + +#if defined(PLATFORM_DESKTOP) +#define GLSL_VERSION 330 +#else // PLATFORM_ANDROID, PLATFORM_WEB +#define GLSL_VERSION 120 +#endif + + +//---------------------------------------------------------------------------------- +// Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - basic pbr"); + + // Define the camera to look into our 3d world + Camera camera = { 0 }; + camera.position = (Vector3){ 2.0f, 2.0f, 6.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 0.5f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + + + Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/pbr.vs",GLSL_VERSION), + TextFormat("resources/shaders/glsl%i/pbr.fs",GLSL_VERSION)); + + + + PBRModel model = PBRModelLoad("resources/models/old_car_new.glb"); + //if we use obj file formator if model doesn't have tangents we have to calculate MeshTangents + //by using raylib function GenMeshTangents(mesh) for example: obj file doesn't support tangents + //GenMeshTangents(&model.model.meshes[0]); + + PBRMaterial model_mat = (PBRMaterial){0}; + PBRMaterialSetup(&model_mat, shader, NULL); //environment = NULL for now + PBRLoadTextures(&model_mat, PBR_TEXTURE_ALBEDO, "resources/old_car_d.png"); + PBRLoadTextures(&model_mat, PBR_TEXTURE_MRA, "resources/old_car_mra.png"); + PBRLoadTextures(&model_mat, PBR_TEXTURE_NORMAL, "resources/old_car_n.png"); + PBRLoadTextures(&model_mat, PBR_TEXTURE_EMISSIVE, "resources/old_car_e.png"); + PBRSetColor(&model_mat,PBR_COLOR_EMISSIVE, (Color){255,162,0,255}); + PBRSetVec2(&model_mat, PBR_VEC2_TILING,(Vector2){0.5,0.5}); + PBRSetMaterial(&model,&model_mat,0); + + PBRModel floor = PBRModelLoad("resources/models/plane.glb"); + + PBRMaterial floor_mat = (PBRMaterial){0}; + PBRMaterialSetup(&floor_mat, shader, NULL); + PBRLoadTextures(&floor_mat, PBR_TEXTURE_ALBEDO, "resources/road_a.png"); + PBRLoadTextures(&floor_mat, PBR_TEXTURE_MRA, "resources/road_mra.png"); + PBRLoadTextures(&floor_mat, PBR_TEXTURE_NORMAL, "resources/road_n.png"); + PBRSetVec2(&floor_mat, PBR_VEC2_TILING,(Vector2){0.5,0.5}); + PBRSetMaterial(&floor,&floor_mat,0); + + shader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shader, "viewPos"); + int numOfLightsLoc = GetShaderLocation(shader, "numOfLights"); + int numOfLights = 4; + SetShaderValue(shader, numOfLightsLoc, &numOfLights, SHADER_UNIFORM_INT); + + Color ambCol = (Color){26,32,135,255}; + float ambIntens = 0.02; + + int albedoLoc = GetShaderLocation(shader, "albedo"); + PBRSetAmbient(shader,ambCol,ambIntens); + + // Create lights + PBRLight lights[MAX_LIGHTS] = { 0 }; + lights[0] = PBRLightCreate(LIGHT_POINT, (Vector3){ -1, 1, -2 }, (Vector3){0,0,0}, YELLOW,4, shader); + lights[1] = PBRLightCreate(LIGHT_POINT, (Vector3){ 2, 1, 1 }, (Vector3){0,0,0}, GREEN,3.3, shader); + lights[2] = PBRLightCreate(LIGHT_POINT, (Vector3){ -2, 1, 1 }, (Vector3){0,0,0}, RED,8.3, shader); + lights[3] = PBRLightCreate(LIGHT_POINT, (Vector3){ 1, 1, -2 }, (Vector3){0,0,0}, BLUE,2, shader); + SetShaderValueV(shader, GetShaderLocation(shader, "lights"), lights, SHADER_UNIFORM_FLOAT, numOfLights); + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second------------------------------------------------------------- + + int emissiveCnt = 0; + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera, CAMERA_ORBITAL); + + // Update the shader with the camera view vector (points towards { 0.0f, 0.0f, 0.0f }) + float cameraPos[3] = {camera.position.x, camera.position.y, camera.position.z}; + SetShaderValue(shader, shader.locs[SHADER_LOC_VECTOR_VIEW], cameraPos, SHADER_UNIFORM_VEC3); + + // Check key inputs to enable/disable lights + if (IsKeyPressed(KEY_Y)) { lights[0].enabled = !lights[0].enabled; } + if (IsKeyPressed(KEY_G)) { lights[1].enabled = !lights[1].enabled; } + if (IsKeyPressed(KEY_R)) { lights[2].enabled = !lights[2].enabled; } + if (IsKeyPressed(KEY_B)) { lights[3].enabled = !lights[3].enabled; } + + // Update light values (actually, only enable/disable them) + for (int i = 0; i < MAX_LIGHTS; i++) PBRLightUpdate(shader, lights[i]); + emissiveCnt--; + if(emissiveCnt<=0){ + emissiveCnt = GetRandomValue(0,20); + PBRSetFloat(&model_mat,PBR_PARAM_EMISSIVE,(float)GetRandomValue(0,100)/100); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + ClearBackground(BLACK); + BeginMode3D(camera); + + PBRDrawModel(floor, (Vector3){0,0,0}, 5.0f); + PBRDrawModel(model, (Vector3) {0, 0.0, 0}, 0.005); + + // Draw spheres to show where the lights are + for (int i = 0; i < MAX_LIGHTS; i++) { + Color col = (Color) {lights[i].color[0] * 255, lights[i].color[1] * 255, lights[i].color[2] * 255, + lights[i].color[3] * 255}; + if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, col); + else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(col, 0.3f)); + } + EndMode3D(); + + DrawText("(c) Old Rusty Car model by Renafox (https://skfb.ly/LxRy)", screenWidth - 320, screenHeight - 20, 10, GRAY); + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + //-------------------------------------------------------------------------------------- + // De-Initialization + //-------------------------------------------------------------------------------------- + + UnloadModel(floor.model); // Unload model + UnloadModel(model.model); // Unload model + UnloadShader(shader); // Unload Shader + UnloadPBRMaterial(floor_mat); // Unload PBRMaterial + UnloadPBRMaterial(model_mat); // Unload PBRMaterial + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; + } From e001f7e75e4535d3e3576b9d4d16a5ffb8b83dbe Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Fri, 15 Dec 2023 13:36:27 -0300 Subject: [PATCH 022/745] Add ToggleFullscreen() and required changes for PLATFORM_WEB (#3634) --- src/platforms/rcore_web.c | 77 ++++++++++++++++++++++++++++++++------- 1 file changed, 64 insertions(+), 13 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 6387420f9..396ce30e5 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -73,6 +73,7 @@ //---------------------------------------------------------------------------------- typedef struct { GLFWwindow *handle; // GLFW window handle (graphic device) + bool ourFullscreen; // Internal var to filter our handling of fullscreen vs the user handling of fullscreen } PlatformData; //---------------------------------------------------------------------------------- @@ -140,6 +141,37 @@ bool WindowShouldClose(void) // Toggle fullscreen mode void ToggleFullscreen(void) { + platform.ourFullscreen = true; + bool enterFullscreen = false; + + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + EM_ASM(document.exitFullscreen();); + + if (CORE.Window.flags & FLAG_FULLSCREEN_MODE) enterFullscreen = false; + else enterFullscreen = true; + + CORE.Window.fullscreen = false; + CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; + CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; + } + else enterFullscreen = true; + + if (enterFullscreen) + { + // NOTE: The setTimeouts handle the browser mode change delay + EM_ASM( + setTimeout(function() + { + Module.requestFullscreen(false, false); + }, 100); + ); + CORE.Window.fullscreen = true; + CORE.Window.flags |= FLAG_FULLSCREEN_MODE; + } + + // NOTE: Old notes below: /* EM_ASM ( @@ -204,40 +236,44 @@ void ToggleFullscreen(void) CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; } */ - - CORE.Window.fullscreen = !CORE.Window.fullscreen; // Toggle fullscreen flag } // Toggle borderless windowed mode void ToggleBorderlessWindowed(void) { + platform.ourFullscreen = true; + bool enterBorderless = false; + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); if (wasFullscreen) { EM_ASM(document.exitFullscreen();); + if (CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) enterBorderless = false; + else enterBorderless = true; + CORE.Window.fullscreen = false; CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; + CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; } + else enterBorderless = true; - if (!IsWindowState(FLAG_BORDERLESS_WINDOWED_MODE)) + if (enterBorderless) { // NOTE: 1. The setTimeouts handle the browser mode change delay - // 2. The style unset handles the possibility of a width="100%" like on the default shell.html file + // 2. The style unset handles the possibility of a width="value%" like on the default shell.html file EM_ASM( setTimeout(function() { - Module.requestFullscreen(true, true); + Module.requestFullscreen(false, true); setTimeout(function() { canvas.style.width="unset"; }, 100); }, 100); ); - CORE.Window.flags |= FLAG_BORDERLESS_WINDOWED_MODE; } - else CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; } // Set window state: maximized, if resizable @@ -277,9 +313,9 @@ void SetWindowState(unsigned int flags) } // State change: FLAG_FULLSCREEN_MODE - if ((flags & FLAG_FULLSCREEN_MODE) > 0) + if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) != (flags & FLAG_FULLSCREEN_MODE)) { - TRACELOG(LOG_WARNING, "SetWindowState(FLAG_FULLSCREEN_MODE) not available yet on target platform"); + ToggleFullscreen(); // NOTE: Window state flag updated inside function } // State change: FLAG_WINDOW_RESIZABLE @@ -384,9 +420,9 @@ void ClearWindowState(unsigned int flags) } // State change: FLAG_FULLSCREEN_MODE - if ((flags & FLAG_FULLSCREEN_MODE) > 0) + if (((CORE.Window.flags & FLAG_FULLSCREEN_MODE) > 0) && ((flags & FLAG_FULLSCREEN_MODE) > 0)) { - TRACELOG(LOG_WARNING, "ClearWindowState(FLAG_FULLSCREEN_MODE) not available yet on target platform"); + ToggleFullscreen(); // NOTE: Window state flag updated inside function } // State change: FLAG_WINDOW_RESIZABLE @@ -1015,6 +1051,9 @@ int InitPlatform(void) CORE.Window.display.width = CORE.Window.screen.width; CORE.Window.display.height = CORE.Window.screen.height; + // Init fullscreen toggle required var: + platform.ourFullscreen = false; + if (CORE.Window.fullscreen) { // remember center for switchinging from fullscreen to window @@ -1148,7 +1187,7 @@ int InitPlatform(void) // Initialize input events callbacks //---------------------------------------------------------------------------- // Setup callback functions for the DOM events - emscripten_set_fullscreenchange_callback("#canvas", NULL, 1, EmscriptenFullscreenChangeCallback); + emscripten_set_fullscreenchange_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenFullscreenChangeCallback); // WARNING: Below resize code was breaking fullscreen mode for sample games and examples, it needs review // Check fullscreen change events(note this is done on the window since most browsers don't support this on #canvas) @@ -1412,7 +1451,19 @@ static void CursorEnterCallback(GLFWwindow *window, int enter) // Register fullscreen change events static EM_BOOL EmscriptenFullscreenChangeCallback(int eventType, const EmscriptenFullscreenChangeEvent *event, void *userData) { - // TODO: Implement EmscriptenFullscreenChangeCallback()? + // NOTE: 1. Reset the fullscreen flags if the user left fullscreen manually by pressing the Escape key + // 2. Which is a necessary safeguard because that case will bypass the toggles CORE.Window.flags resets + if (platform.ourFullscreen) platform.ourFullscreen = false; + else + { + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (!wasFullscreen) + { + CORE.Window.fullscreen = false; + CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; + CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; + } + } return 1; // The event was consumed by the callback handler } From 9de79861ea289822ce965b63e565b04a46c0ec11 Mon Sep 17 00:00:00 2001 From: Dongkun Lee Date: Sat, 16 Dec 2023 02:32:01 +0900 Subject: [PATCH 023/745] BM Font Extender (#3536) * loadbmfont * bmfontextender * bm font * Modify LoadBM Font * Delete loadbmfontex.diff * REVIEWED: `LoadBMFont()` PR * Update rtext.c * Update rtext.c --------- Co-authored-by: Dongkun Lee Co-authored-by: Ray --- src/rtext.c | 122 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 70 insertions(+), 52 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index a919fa4ad..2a6aa1273 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2051,7 +2051,8 @@ static int GetLine(const char *origin, char *buffer, int maxLength) // REQUIRES: strstr(), sscanf(), strrchr(), memcpy() static Font LoadBMFont(const char *fileName) { - #define MAX_BUFFER_SIZE 256 + #define MAX_BUFFER_SIZE 256 + #define MAX_FONT_IMAGE_PAGES 8 Font font = { 0 }; @@ -2063,7 +2064,8 @@ static Font LoadBMFont(const char *fileName) int imWidth = 0; int imHeight = 0; - char imFileName[129] = { 0 }; + int pageCount = 1; + char imFileName[MAX_FONT_IMAGE_PAGES][129] = { 0 }; int base = 0; // Useless data int readBytes = 0; // Data bytes read @@ -2082,17 +2084,26 @@ static Font LoadBMFont(const char *fileName) // Read line data readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); searchPoint = strstr(buffer, "lineHeight"); - readVars = sscanf(searchPoint, "lineHeight=%i base=%i scaleW=%i scaleH=%i", &fontSize, &base, &imWidth, &imHeight); + readVars = sscanf(searchPoint, "lineHeight=%i base=%i scaleW=%i scaleH=%i pages=%i", &fontSize, &base, &imWidth, &imHeight, &pageCount); fileTextPtr += (readBytes + 1); if (readVars < 4) { UnloadFileText(fileText); return font; } // Some data not available, file malformed + + if (pageCount > MAX_FONT_IMAGE_PAGES) + { + TRACELOG(LOG_WARNING, "FONT: [%s] Font defines more pages than supported: %i/%i", fileName, pageCount, MAX_FONT_IMAGE_PAGES); + pageCount = MAX_FONT_IMAGE_PAGES; + } - readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); - searchPoint = strstr(buffer, "file"); - readVars = sscanf(searchPoint, "file=\"%128[^\"]\"", imFileName); - fileTextPtr += (readBytes + 1); + for (int i = 0; i < pageCount; i++) + { + readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); + searchPoint = strstr(buffer, "file"); + readVars = sscanf(searchPoint, "file=\"%128[^\"]\"", imFileName[i]); + fileTextPtr += (readBytes + 1); - if (readVars < 1) { UnloadFileText(fileText); return font; } // No fileName read + if (readVars < 1) { UnloadFileText(fileText); return font; } // No fileName read + } readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); searchPoint = strstr(buffer, "count"); @@ -2101,50 +2112,56 @@ static Font LoadBMFont(const char *fileName) if (readVars < 1) { UnloadFileText(fileText); return font; } // No glyphCount read - // Compose correct path using route of .fnt file (fileName) and imFileName - char *imPath = NULL; - char *lastSlash = NULL; + // Load all required images for further compose + Image *imFonts = (Image *)RL_CALLOC(pageCount, sizeof(Image)); // Font atlases, multiple images - lastSlash = strrchr(fileName, '/'); - if (lastSlash == NULL) lastSlash = strrchr(fileName, '\\'); - - if (lastSlash != NULL) + for (int i = 0; i < pageCount; i++) { - // NOTE: We need some extra space to avoid memory corruption on next allocations! - imPath = (char *)RL_CALLOC(TextLength(fileName) - TextLength(lastSlash) + TextLength(imFileName) + 4, 1); - memcpy(imPath, fileName, TextLength(fileName) - TextLength(lastSlash) + 1); - memcpy(imPath + TextLength(fileName) - TextLength(lastSlash) + 1, imFileName, TextLength(imFileName)); - } - else imPath = imFileName; + imFonts[i] = LoadImage(TextFormat("%s/%s", GetDirectoryPath(fileName), imFileName[i])); - TRACELOGD(" > Image loading path: %s", imPath); - - Image imFont = LoadImage(imPath); - - if (imFont.format == PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) - { - // Convert image to GRAYSCALE + ALPHA, using the mask as the alpha channel - Image imFontAlpha = { - .data = RL_CALLOC(imFont.width*imFont.height, 2), - .width = imFont.width, - .height = imFont.height, - .mipmaps = 1, - .format = PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA - }; - - for (int p = 0, i = 0; p < (imFont.width*imFont.height*2); p += 2, i++) + if (imFonts[i].format == PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) { - ((unsigned char *)(imFontAlpha.data))[p] = 0xff; - ((unsigned char *)(imFontAlpha.data))[p + 1] = ((unsigned char *)imFont.data)[i]; - } + // Convert image to GRAYSCALE + ALPHA, using the mask as the alpha channel + Image imFontAlpha = { + .data = RL_CALLOC(imFonts[i].width*imFonts[i].height, 2), + .width = imFonts[i].width, + .height = imFonts[i].height, + .mipmaps = 1, + .format = PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA + }; - UnloadImage(imFont); - imFont = imFontAlpha; + for (int p = 0, pi = 0; p < (imFonts[i].width*imFonts[i].height*2); p += 2, pi++) + { + ((unsigned char *)(imFontAlpha.data))[p] = 0xff; + ((unsigned char *)(imFontAlpha.data))[p + 1] = ((unsigned char *)imFonts[i].data)[pi]; + } + + UnloadImage(imFonts[i]); + imFonts[i] = imFontAlpha; + } } - font.texture = LoadTextureFromImage(imFont); + Image fullFont = imFonts[0]; + for (int i = 1; i < pageCount; i++) UnloadImage(imFonts[i]); - if (lastSlash != NULL) RL_FREE(imPath); + // If multiple atlas, then merge atlas + // NOTE: WARNING: This process could be really slow! + if (pageCount > 1) + { + // Resize font atlas to draw additional images + ImageResizeCanvas(&fullFont, imWidth, imHeight*pageCount, 0, 0, BLACK); + + for (int i = 1; i < pageCount; i++) + { + Rectangle srcRec = { 0.0f, 0.0f, (float)imWidth, (float)imHeight }; + Rectangle destRec = { 0.0f, (float)imHeight*(float)i, (float)imWidth, (float)imHeight }; + ImageDraw(&fullFont, imFonts[i], srcRec, destRec, WHITE); + } + } + + RL_FREE(imFonts); + + font.texture = LoadTextureFromImage(fullFont); // Fill font characters info data font.baseSize = fontSize; @@ -2153,19 +2170,19 @@ static Font LoadBMFont(const char *fileName) font.glyphs = (GlyphInfo *)RL_MALLOC(glyphCount*sizeof(GlyphInfo)); font.recs = (Rectangle *)RL_MALLOC(glyphCount*sizeof(Rectangle)); - int charId, charX, charY, charWidth, charHeight, charOffsetX, charOffsetY, charAdvanceX; + int charId, charX, charY, charWidth, charHeight, charOffsetX, charOffsetY, charAdvanceX, pageID; for (int i = 0; i < glyphCount; i++) { readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); - readVars = sscanf(buffer, "char id=%i x=%i y=%i width=%i height=%i xoffset=%i yoffset=%i xadvance=%i", - &charId, &charX, &charY, &charWidth, &charHeight, &charOffsetX, &charOffsetY, &charAdvanceX); + readVars = sscanf(buffer, "char id=%i x=%i y=%i width=%i height=%i xoffset=%i yoffset=%i xadvance=%i page=%i", + &charId, &charX, &charY, &charWidth, &charHeight, &charOffsetX, &charOffsetY, &charAdvanceX, &pageID); fileTextPtr += (readBytes + 1); - if (readVars == 8) // Make sure all char data has been properly read + if (readVars == 9) // Make sure all char data has been properly read { // Get character rectangle in the font atlas texture - font.recs[i] = (Rectangle){ (float)charX, (float)charY, (float)charWidth, (float)charHeight }; + font.recs[i] = (Rectangle){ (float)charX, (float)charY + (float)imHeight*pageID, (float)charWidth, (float)charHeight }; // Save data properly in sprite font font.glyphs[i].value = charId; @@ -2173,13 +2190,13 @@ static Font LoadBMFont(const char *fileName) font.glyphs[i].offsetY = charOffsetY; font.glyphs[i].advanceX = charAdvanceX; - // Fill character image data from imFont data - font.glyphs[i].image = ImageFromImage(imFont, font.recs[i]); + // Fill character image data from full font data + font.glyphs[i].image = ImageFromImage(fullFont, font.recs[i]); } else TRACELOG(LOG_WARNING, "FONT: [%s] Some characters data not correctly provided", fileName); } - UnloadImage(imFont); + UnloadImage(fullFont); UnloadFileText(fileText); if (font.texture.id == 0) @@ -2192,6 +2209,7 @@ static Font LoadBMFont(const char *fileName) return font; } + #endif #endif // SUPPORT_MODULE_RTEXT From 0fc1765ff3849d3b1fb8a1b193c48ea96cee2664 Mon Sep 17 00:00:00 2001 From: Toctave Date: Fri, 15 Dec 2023 18:34:34 +0100 Subject: [PATCH 024/745] Implement miters in DrawSplineLinear (#3585) * Implement miters in DrawSplineLinear * Follow raylib style --- src/rshapes.c | 79 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 70 insertions(+), 9 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index 4b3f2cfd0..b7fc0ed7f 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -1546,26 +1546,87 @@ void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, fl // Draw spline: linear, minimum 2 points void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) { - Vector2 delta = { 0 }; - float length = 0.0f; - float scale = 0.0f; + if (pointCount < 2) + { + return; + } + + Vector2 prevNormal = (Vector2){-(points[1].y - points[0].y), (points[1].x - points[0].x)}; + float prevLength = sqrtf(prevNormal.x*prevNormal.x + prevNormal.y*prevNormal.y); + if (prevLength > 0.0f) + { + prevNormal.x /= prevLength; + prevNormal.y /= prevLength; + } + else + { + prevNormal.x = 0.0f; + prevNormal.y = 0.0f; + } + Vector2 prevRadius = {.5f * thick * prevNormal.x, .5f * thick * prevNormal.y}; + for (int i = 0; i < pointCount - 1; i++) { - delta = (Vector2){ points[i + 1].x - points[i].x, points[i + 1].y - points[i].y }; - length = sqrtf(delta.x*delta.x + delta.y*delta.y); + Vector2 normal = {0}; - if (length > 0) scale = thick/(2*length); + if (i < pointCount - 2) + { + normal = (Vector2){-(points[i+2].y - points[i+1].y), (points[i+2].x - points[i+1].x)}; + float normalLength = sqrtf(normal.x*normal.x + normal.y*normal.y); + if (normalLength > 0.0f) + { + normal.x /= normalLength; + normal.y /= normalLength; + } + else + { + normal.x = 0.0f; + normal.y = 0.0f; + } + } + else + { + normal = prevNormal; + } - Vector2 radius = { -scale*delta.y, scale*delta.x }; + Vector2 radius = {prevNormal.x + normal.x, prevNormal.y + normal.y}; + float radiusLength = sqrtf(radius.x*radius.x + radius.y*radius.y); + if (radiusLength > 0.0f) + { + radius.x /= radiusLength; + radius.y /= radiusLength; + } + else + { + radius.x = 0.0f; + radius.y = 0.0f; + } + + float cosTheta = radius.x * normal.x + radius.y * normal.y; + + if (cosTheta != 0.0f) + { + radius.x *= thick * .5f / cosTheta; + radius.y *= thick * .5f / cosTheta; + } + else + { + radius.x = 0.0f; + radius.y = 0.0f; + } + Vector2 strip[4] = { - { points[i].x - radius.x, points[i].y - radius.y }, - { points[i].x + radius.x, points[i].y + radius.y }, + { points[i].x - prevRadius.x, points[i].y - prevRadius.y }, + { points[i].x + prevRadius.x, points[i].y + prevRadius.y }, { points[i + 1].x - radius.x, points[i + 1].y - radius.y }, { points[i + 1].x + radius.x, points[i + 1].y + radius.y } }; DrawTriangleStrip(strip, 4, color); + + prevRadius = radius; + prevNormal = normal; } #if defined(SUPPORT_SPLINE_SEGMENT_CAPS) From f3adde8bbd7fbc930f5b3abd57a5481413ff5644 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 15 Dec 2023 18:40:19 +0100 Subject: [PATCH 025/745] REVIEWED: `DrawSplineLinear()` to `SUPPORT_SPLINE_MITERS` --- src/rshapes.c | 53 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index b7fc0ed7f..b8c17e702 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -1546,13 +1546,12 @@ void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, fl // Draw spline: linear, minimum 2 points void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) { - if (pointCount < 2) - { - return; - } - + if (pointCount < 2) return; + +#if defined(SUPPORT_SPLINE_MITERS) Vector2 prevNormal = (Vector2){-(points[1].y - points[0].y), (points[1].x - points[0].x)}; float prevLength = sqrtf(prevNormal.x*prevNormal.x + prevNormal.y*prevNormal.y); + if (prevLength > 0.0f) { prevNormal.x /= prevLength; @@ -1564,16 +1563,17 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) prevNormal.y = 0.0f; } - Vector2 prevRadius = {.5f * thick * prevNormal.x, .5f * thick * prevNormal.y}; + Vector2 prevRadius = { 0.5f*thick*prevNormal.x, 0.5f*thick*prevNormal.y }; for (int i = 0; i < pointCount - 1; i++) { - Vector2 normal = {0}; + Vector2 normal = { 0 }; if (i < pointCount - 2) { - normal = (Vector2){-(points[i+2].y - points[i+1].y), (points[i+2].x - points[i+1].x)}; + normal = (Vector2){-(points[i + 2].y - points[i + 1].y), (points[i + 2].x - points[i + 1].x)}; float normalLength = sqrtf(normal.x*normal.x + normal.y*normal.y); + if (normalLength > 0.0f) { normal.x /= normalLength; @@ -1590,8 +1590,9 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) normal = prevNormal; } - Vector2 radius = {prevNormal.x + normal.x, prevNormal.y + normal.y}; + Vector2 radius = { prevNormal.x + normal.x, prevNormal.y + normal.y }; float radiusLength = sqrtf(radius.x*radius.x + radius.y*radius.y); + if (radiusLength > 0.0f) { radius.x /= radiusLength; @@ -1603,12 +1604,12 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) radius.y = 0.0f; } - float cosTheta = radius.x * normal.x + radius.y * normal.y; + float cosTheta = radius.x*normal.x + radius.y*normal.y; if (cosTheta != 0.0f) { - radius.x *= thick * .5f / cosTheta; - radius.y *= thick * .5f / cosTheta; + radius.x *= (thick*0.5f/cosTheta); + radius.y *= (thick*0.5f/cosTheta); } else { @@ -1628,8 +1629,34 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) prevRadius = radius; prevNormal = normal; } -#if defined(SUPPORT_SPLINE_SEGMENT_CAPS) +#else // !SUPPORT_SPLINE_MITTERS + + Vector2 delta = { 0 }; + float length = 0.0f; + float scale = 0.0f; + + for (int i = 0; i < pointCount - 1; i++) + { + delta = (Vector2){ points[i + 1].x - points[i].x, points[i + 1].y - points[i].y }; + length = sqrtf(delta.x*delta.x + delta.y*delta.y); + + if (length > 0) scale = thick/(2*length); + + Vector2 radius = { -scale*delta.y, scale*delta.x }; + Vector2 strip[4] = { + { points[i].x - radius.x, points[i].y - radius.y }, + { points[i].x + radius.x, points[i].y + radius.y }, + { points[i + 1].x - radius.x, points[i + 1].y - radius.y }, + { points[i + 1].x + radius.x, points[i + 1].y + radius.y } + }; + + DrawTriangleStrip(strip, 4, color); + } +#endif + +#if defined(SUPPORT_SPLINE_SEGMENT_CAPS) + // TODO: Add spline segment rounded caps at the begin/end of the spline #endif } From fd84ab3cf735a643a074780ba73559d125e35aad Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 15 Dec 2023 19:17:44 +0100 Subject: [PATCH 026/745] Bump CMake version required to avoid deprecated #3639 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9619768c8..ce2de5788 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.5) project(raylib) # Avoid excessive expansion of variables in conditionals. In particular, if From 0df78d4eeb259d152850c0e2a68c7b079c8ec84d Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Sat, 16 Dec 2023 14:22:02 -0300 Subject: [PATCH 027/745] Fix fullscreen known issue 1 for PLATFORM_WEB (#3642) --- src/platforms/rcore_web.c | 75 +++++++++++++++++++++++++++++++-------- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 396ce30e5..ea74472e5 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -147,10 +147,17 @@ void ToggleFullscreen(void) const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); if (wasFullscreen) { - EM_ASM(document.exitFullscreen();); - if (CORE.Window.flags & FLAG_FULLSCREEN_MODE) enterFullscreen = false; - else enterFullscreen = true; + else if (CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) enterFullscreen = true; + else + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int canvasStyleWidth = EM_ASM_INT( { return parseInt(document.getElementById('canvas').style.width); }, 0); + if (canvasStyleWidth > canvasWidth) enterFullscreen = false; + else enterFullscreen = true; + } + + EM_ASM(document.exitFullscreen();); CORE.Window.fullscreen = false; CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; @@ -247,10 +254,17 @@ void ToggleBorderlessWindowed(void) const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); if (wasFullscreen) { - EM_ASM(document.exitFullscreen();); - if (CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) enterBorderless = false; - else enterBorderless = true; + else if (CORE.Window.flags & FLAG_FULLSCREEN_MODE) enterBorderless = true; + else + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int screenWidth = EM_ASM_INT( { return screen.width; }, 0); + if (screenWidth == canvasWidth) enterBorderless = false; + else enterBorderless = true; + } + + EM_ASM(document.exitFullscreen();); CORE.Window.fullscreen = false; CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; @@ -307,15 +321,31 @@ void SetWindowState(unsigned int flags) } // State change: FLAG_BORDERLESS_WINDOWED_MODE - if (((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) != (flags & FLAG_BORDERLESS_WINDOWED_MODE)) && ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0)) + if ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0) { - ToggleBorderlessWindowed(); // NOTE: Window state flag updated inside function + // NOTE: Window state flag updated inside ToggleBorderlessWindowed() function + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int canvasStyleWidth = EM_ASM_INT( { return parseInt(document.getElementById('canvas').style.width); }, 0); + if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) || canvasStyleWidth > canvasWidth) ToggleBorderlessWindowed(); + } + else ToggleBorderlessWindowed(); } // State change: FLAG_FULLSCREEN_MODE - if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) != (flags & FLAG_FULLSCREEN_MODE)) + if ((flags & FLAG_FULLSCREEN_MODE) > 0) { - ToggleFullscreen(); // NOTE: Window state flag updated inside function + // NOTE: Window state flag updated inside ToggleFullscreen() function + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int screenWidth = EM_ASM_INT( { return screen.width; }, 0); + if ((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) || screenWidth == canvasWidth ) ToggleFullscreen(); + } + else ToggleFullscreen(); } // State change: FLAG_WINDOW_RESIZABLE @@ -414,15 +444,32 @@ void ClearWindowState(unsigned int flags) } // State change: FLAG_BORDERLESS_WINDOWED_MODE - if (((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0) && ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0)) + if ((flags & FLAG_BORDERLESS_WINDOWED_MODE) > 0) { - ToggleBorderlessWindowed(); // NOTE: Window state flag updated inside function + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int screenWidth = EM_ASM_INT( { return screen.width; }, 0); + if ((CORE.Window.flags & FLAG_BORDERLESS_WINDOWED_MODE) || (screenWidth == canvasWidth)) EM_ASM(document.exitFullscreen();); + } + + CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; } // State change: FLAG_FULLSCREEN_MODE - if (((CORE.Window.flags & FLAG_FULLSCREEN_MODE) > 0) && ((flags & FLAG_FULLSCREEN_MODE) > 0)) + if ((flags & FLAG_FULLSCREEN_MODE) > 0) { - ToggleFullscreen(); // NOTE: Window state flag updated inside function + const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); + if (wasFullscreen) + { + const int canvasWidth = EM_ASM_INT( { return document.getElementById('canvas').width; }, 0); + const int canvasStyleWidth = EM_ASM_INT( { return parseInt(document.getElementById('canvas').style.width); }, 0); + if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) || (canvasStyleWidth > canvasWidth)) EM_ASM(document.exitFullscreen();); + } + + CORE.Window.fullscreen = false; + CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; } // State change: FLAG_WINDOW_RESIZABLE From 2487174b48385247566f8e0af5564518446f7c13 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Sat, 16 Dec 2023 14:25:55 -0300 Subject: [PATCH 028/745] Fix CORE.Input.Mouse.cursorHidden with callbacks for PLATFORM_WEB (#3644) --- src/platforms/rcore_web.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index ea74472e5..ba44096bb 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -114,6 +114,7 @@ static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent * // Emscripten input callback events static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData); +static EM_BOOL EmscriptenPointerlockCallback(int eventType, const EmscriptenPointerlockChangeEvent *pointerlockChangeEvent, void *userData); static EM_BOOL EmscriptenTouchCallback(int eventType, const EmscriptenTouchEvent *touchEvent, void *userData); static EM_BOOL EmscriptenGamepadCallback(int eventType, const EmscriptenGamepadEvent *gamepadEvent, void *userData); @@ -765,7 +766,7 @@ void EnableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); - CORE.Input.Mouse.cursorHidden = false; + // NOTE: CORE.Input.Mouse.cursorHidden handled by EmscriptenPointerlockCallback() } // Disables cursor (lock cursor) @@ -777,7 +778,7 @@ void DisableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); - CORE.Input.Mouse.cursorHidden = true; + // NOTE: CORE.Input.Mouse.cursorHidden handled by EmscriptenPointerlockCallback() } // Swap back buffer with front buffer (screen drawing) @@ -1251,6 +1252,7 @@ int InitPlatform(void) // Support mouse events emscripten_set_click_callback("#canvas", NULL, 1, EmscriptenMouseCallback); + emscripten_set_pointerlockchange_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenPointerlockCallback); // Support touch events emscripten_set_touchstart_callback("#canvas", NULL, 1, EmscriptenTouchCallback); @@ -1570,6 +1572,14 @@ static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent return 1; // The event was consumed by the callback handler } +// Register pointer lock events +static EM_BOOL EmscriptenPointerlockCallback(int eventType, const EmscriptenPointerlockChangeEvent *pointerlockChangeEvent, void *userData) +{ + CORE.Input.Mouse.cursorHidden = EM_ASM_INT( { if (document.pointerLockElement) return 1; }, 0); + + return 1; // The event was consumed by the callback handler +} + // Register connected/disconnected gamepads events static EM_BOOL EmscriptenGamepadCallback(int eventType, const EmscriptenGamepadEvent *gamepadEvent, void *userData) { From 9fcfc8d64b061da24e589faaaf9d8af79b3d1f3e Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Sun, 17 Dec 2023 09:46:21 -0300 Subject: [PATCH 029/745] [rcore] Fix `ShowCursor()`, `HideCursor()` and review `SetMouseCursor()` for `PLATFORM_WEB` (#3647) * Fix ShowCursor(), HideCursor() and review SetMouseCursor() for PLATFORM_WEB * Add static to cursorLUT[] * Re-review SetMouseCursor() --- src/platforms/rcore_web.c | 58 +++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index ba44096bb..fa60eaff1 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -83,6 +83,23 @@ extern CoreData CORE; // Global CORE state context static PlatformData platform = { 0 }; // Platform specific data +//---------------------------------------------------------------------------------- +// Local Variables Definition +//---------------------------------------------------------------------------------- +static const char cursorLUT[11][12] = { + "default", // 0 MOUSE_CURSOR_DEFAULT + "default", // 1 MOUSE_CURSOR_ARROW + "text", // 2 MOUSE_CURSOR_IBEAM + "crosshair", // 3 MOUSE_CURSOR_CROSSHAIR + "pointer", // 4 MOUSE_CURSOR_POINTING_HAND + "ew-resize", // 5 MOUSE_CURSOR_RESIZE_EW + "ns-resize", // 6 MOUSE_CURSOR_RESIZE_NS + "nwse-resize", // 7 MOUSE_CURSOR_RESIZE_NWSE + "nesw-resize", // 8 MOUSE_CURSOR_RESIZE_NESW + "move", // 9 MOUSE_CURSOR_RESIZE_ALL + "not-allowed" // 10 MOUSE_CURSOR_NOT_ALLOWED +}; + //---------------------------------------------------------------------------------- // Module Internal Functions Declaration //---------------------------------------------------------------------------------- @@ -749,13 +766,23 @@ const char *GetClipboardText(void) // Show mouse cursor void ShowCursor(void) { - CORE.Input.Mouse.cursorHidden = false; + if (CORE.Input.Mouse.cursorHidden) + { + EM_ASM( { document.getElementById("canvas").style.cursor = UTF8ToString($0); }, cursorLUT[CORE.Input.Mouse.cursor]); + + CORE.Input.Mouse.cursorHidden = false; + } } // Hides mouse cursor void HideCursor(void) { - CORE.Input.Mouse.cursorHidden = true; + if (!CORE.Input.Mouse.cursorHidden) + { + EM_ASM(document.getElementById('canvas').style.cursor = 'none';); + + CORE.Input.Mouse.cursorHidden = true; + } } // Enables cursor (unlock cursor) @@ -837,32 +864,9 @@ void SetMouseCursor(int cursor) { if (CORE.Input.Mouse.cursor != cursor) { - const char *cursorName = NULL; + if (!CORE.Input.Mouse.cursorHidden) EM_ASM( { document.getElementById('canvas').style.cursor = UTF8ToString($0); }, cursorLUT[cursor]); + CORE.Input.Mouse.cursor = cursor; - - switch (cursor) - { - case MOUSE_CURSOR_IBEAM: cursorName = "text"; break; - case MOUSE_CURSOR_CROSSHAIR: cursorName = "crosshair"; break; - case MOUSE_CURSOR_POINTING_HAND: cursorName = "pointer"; break; - case MOUSE_CURSOR_RESIZE_EW: cursorName = "ew-resize"; break; - case MOUSE_CURSOR_RESIZE_NS: cursorName = "ns-resize"; break; - case MOUSE_CURSOR_RESIZE_NWSE: cursorName = "nwse-resize"; break; - case MOUSE_CURSOR_RESIZE_NESW: cursorName = "nesw-resize"; break; - case MOUSE_CURSOR_RESIZE_ALL: cursorName = "move"; break; - case MOUSE_CURSOR_NOT_ALLOWED: cursorName = "not-allowed"; break; - case MOUSE_CURSOR_ARROW: // WARNING: It does not seem t be a specific cursor for arrow - case MOUSE_CURSOR_DEFAULT: cursorName = "default"; break; - default: - { - cursorName = "default"; - CORE.Input.Mouse.cursor = MOUSE_CURSOR_DEFAULT; - } break; - } - - // Set the cursor element on the canvas CSS - // The canvas is coded to the Id "canvas" on init - EM_ASM({document.getElementById("canvas").style.cursor = UTF8ToString($0);}, cursorName); } } From 34a9163c520a353ebb9889ea291b7b8babd1d286 Mon Sep 17 00:00:00 2001 From: TheManTheMythTheGameDev <76568234+TheManTheMythTheGameDev@users.noreply.github.com> Date: Tue, 19 Dec 2023 01:36:03 -0800 Subject: [PATCH 030/745] Remove dependencies from PBR example (#3649) * Remove dependencies from PBR example * Reviewed example PR --------- Co-authored-by: Ray --- examples/shaders/rpbr.h | 466 --------------------------- examples/shaders/shaders_basic_pbr.c | 218 ++++++++++--- 2 files changed, 171 insertions(+), 513 deletions(-) delete mode 100644 examples/shaders/rpbr.h diff --git a/examples/shaders/rpbr.h b/examples/shaders/rpbr.h deleted file mode 100644 index a8b7e9394..000000000 --- a/examples/shaders/rpbr.h +++ /dev/null @@ -1,466 +0,0 @@ -/********************************************************************************************** -* -* raylib.pbr - Some useful functions to deal with pbr materials and lights -* -* CONFIGURATION: -* -* #define RPBR_IMPLEMENTATION -* Generates the implementation of the library into the included file. -* If not defined, the library is in header only mode and can be included in other headers -* or source files without problems. But only ONE file should hold the implementation. -* -* LICENSE: zlib/libpng -* -* Copyright (c) 2023-2024 Afan OLOVCIC (@_DevDad) 2017-2020 Victor Fisac(@victorfisac),Ramon Santamaria (@raysan5) -* -* This software is provided "as-is", without any express or implied warranty. In no event -* will the authors be held liable for any damages arising from the use of this software. -* -* Permission is granted to anyone to use this software for any purpose, including commercial -* applications, and to alter it and redistribute it freely, subject to the following restrictions: -* -* 1. The origin of this software must not be misrepresented; you must not claim that you -* wrote the original software. If you use this software in a product, an acknowledgment -* in the product documentation would be appreciated but is not required. -* -* 2. Altered source versions must be plainly marked as such, and must not be misrepresented -* as being the original software. -* -* 3. This notice may not be removed or altered from any source distribution. -* -**********************************************************************************************/ - -#ifndef RPBR_H -#define RPBR_H -#include "raylib.h" - - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -#define MAX_LIGHTS 4 // Max dynamic lights supported by shader -#define SHADER_LOC_MAP_MRA SHADER_LOC_MAP_METALNESS //METALLIC, ROUGHNESS and AO -#define SHADER_LOC_MAP_EMISSIVE SHADER_LOC_MAP_HEIGHT //EMISSIVE -#define MATERIAL_MAP_MRA MATERIAL_MAP_METALNESS -#define MATERIAL_MAP_EMISSIVE MATERIAL_MAP_HEIGHT -#define NULL 0 -#define COLOR_TO_ARRAY(c) - -typedef struct { - int enabled; - int type; - Vector3 position; - Vector3 target; - float color[4]; - float intensity; - - int enabledLoc; - int typeLoc; - int positionLoc; - int targetLoc; - int colorLoc; - int intensityLoc; -} PBRLight; - -typedef enum { - LIGHT_DIRECTIONAL = 0, - LIGHT_POINT, - LIGHT_SPOT -} PBRLightType; - -typedef struct{ - Shader pbrShader; - Shader skyShader; - unsigned int cubemap; - unsigned int irradiance; - unsigned int prefilter; - unsigned int brdf; - int modelMatrixLoc; - int pbrViewLoc; - int skyViewLoc; - int skyResolutionLoc; -} PBREnvironment; - -typedef enum{ - PBR_COLOR_ALBEDO = 0, - PBR_COLOR_EMISSIVE -}PBRColorType; - -typedef enum{ - PBR_VEC2_TILING = 0, - PBR_VEC2_OFFSET -}PBRVec2Type; - -typedef enum{ - PBR_PARAM_NORMAL =0, - PBR_PARAM_METALLIC, - PBR_PARAM_ROUGHNESS, - PBR_PARAM_EMISSIVE, - PBR_PARAM_AO -}PBRFloatType; - -typedef enum{ - PBR_TEXTURE_ALBEDO = 0, - PBR_TEXTURE_NORMAL, - PBR_TEXTURE_MRA, - PBR_TEXTURE_EMISSIVE -}PBRTexType; - -// Textures are moved to material from params to pack better and use less textures on the end -// texture MRAE 4Channel R: Metallic G: Roughness B: A: Ambient Occlusion -// texEmissive use just one channel, so we have 3 channels still to use if we need -typedef struct { - Shader pbrShader; - float albedo[4]; - float normal; - float metallic; - float roughness; - float ao; - float emissive[4]; - float ambient[3]; - float emissivePower; - - Texture2D texAlbedo; - Texture2D texNormal; - Texture2D texMRA;//r: Metallic g: Roughness b: AO a:Empty - Texture2D texEmissive; //Emissive Texture - // Using float4 to store tilling at 1st and 2nd position and offset at 3rd and 4th - float texTiling[2]; - float texOffset[2]; - - int useTexAlbedo; - int useTexNormal; - int useTexMRA; - int useTexEmissive; - - int albedoLoc; - int normalLoc; - int metallicLoc; - int roughnessLoc; - int aoLoc; - int emissiveColorLoc; - int emissivePowerLoc; - - int texTilingLoc; - int texOffsetLoc; - - int useTexAlbedoLoc; - int useTexNormalLoc; - int useTexMRAELoc; - int useTexEmissiveLoc; -} PBRMaterial; - -typedef struct{ - Model model; - PBRMaterial pbrMat; -}PBRModel; - -#ifdef __cplusplus -extern "C" { -#endif - - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- - -// Create a light and get shader locations -PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color,float intensity, Shader shader); -// Send light properties to shader -void PBRLightUpdate(Shader shader, PBRLight light); - -//For now until we do real skylight -void PBRSetAmbient(Shader shader, Color color, float intensity); - -PBRModel PBRModelLoad(const char *fileName); -PBRModel PBRModelLoadFromMesh(Mesh mesh); - -void PBRLoadTextures(PBRMaterial *pbrMat,PBRTexType pbrTexType,const char *fileName); -void UnloadPBRMaterial(PBRMaterial pbrMat); -void PBRSetColor(PBRMaterial *pbrMat,PBRColorType pbrColorType,Color color); -void PBRSetVec2(PBRMaterial *pbrMat,PBRVec2Type type,Vector2 value); -void PBRSetFloat(PBRMaterial *pbrMat, PBRFloatType pbrParamType, float value); - -void PBRMaterialSetup( PBRMaterial *pbrMat,Shader pbrShader, PBREnvironment* environment); -void PBRSetMaterial(PBRModel* model,PBRMaterial* pbrMat,int matIndex); -void PBRDrawModel(PBRModel pbrModel, Vector3 position, float scale); - -#ifdef __cplusplus -} -#endif - -#endif //RPBR_H - -/*********************************************************************************** -* -* RPBR IMPLEMENTATION -* -************************************************************************************/ - -#if defined(RPBR_IMPLEMENTATION) - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -static int lightsCount = 0; // Current amount of created lights - -// Create a light and get shader locations -PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color,float intensity, Shader shader) -{ - PBRLight light = { 0 }; - - if (lightsCount < MAX_LIGHTS) - { - light.enabled = 1; - light.type = type; - light.position = position; - light.target = target; - light.color[0] = (float)color.r/(float)255; - light.color[1] = (float)color.g/(float)255; - light.color[2] = (float)color.b/(float)255; - light.color[3] = (float)color.a/(float)255; - light.intensity = intensity; - // NOTE: Lighting shader naming must be the provided ones - light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightsCount)); - light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightsCount)); - light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightsCount)); - light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightsCount)); - light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightsCount)); - light.intensityLoc = GetShaderLocation(shader, TextFormat("lights[%i].intensity", lightsCount)); - PBRLightUpdate(shader, light); - - lightsCount++; - } - - return light; -} - -// Send light properties to shader -// NOTE: Light shader locations should be available -void PBRLightUpdate(Shader shader, PBRLight light) -{ - SetShaderValue(shader, light.enabledLoc, &light.enabled, SHADER_UNIFORM_INT); - SetShaderValue(shader, light.typeLoc, &light.type, SHADER_UNIFORM_INT); - // Send to shader light position values - float position[3] = { light.position.x, light.position.y, light.position.z }; - SetShaderValue(shader, light.positionLoc, position, SHADER_UNIFORM_VEC3); - - // Send to shader light target position values - float target[3] = { light.target.x, light.target.y, light.target.z }; - SetShaderValue(shader, light.targetLoc, target, SHADER_UNIFORM_VEC3); - SetShaderValue(shader, light.colorLoc, light.color, SHADER_UNIFORM_VEC4); - SetShaderValue(shader, light.intensityLoc, &light.intensity, SHADER_UNIFORM_FLOAT); -} - -void PBRSetAmbient(Shader shader, Color color, float intensity){ - float col[3] = {color.r/255,color.g/255,color.b/255}; - SetShaderValue(shader, GetShaderLocation(shader, "ambientColor"), col, SHADER_UNIFORM_VEC3); - SetShaderValue(shader, GetShaderLocation(shader, "ambient"), &intensity, SHADER_UNIFORM_FLOAT); -} - -void PBRMaterialSetup(PBRMaterial *pbrMat, Shader pbrShader, PBREnvironment* environment){ - pbrMat->pbrShader = pbrShader; - - pbrMat->texAlbedo = (Texture2D){0}; - pbrMat->texNormal = (Texture2D){0}; - pbrMat->texMRA = (Texture2D){0}; - pbrMat->texEmissive = (Texture2D){0}; - - //PBRParam - pbrMat->albedo[0] = 1.0; - pbrMat->albedo[1] = 1.0; - pbrMat->albedo[2] = 1.0; - pbrMat->albedo[3] = 1.0; - pbrMat->metallic = 0; - pbrMat->roughness = 0; - pbrMat->ao = 1.0; - pbrMat->normal = 1; - pbrMat->emissive[0] = 0; - pbrMat->emissive[1] = 0; - pbrMat->emissive[2] = 0; - pbrMat->emissive[3] = 0; - - pbrMat->texTiling[0] = 1.0; - pbrMat->texTiling[1] = 1.0; - pbrMat->texOffset[0] = 0.0; - pbrMat->texOffset[1] = 0.0; - pbrMat->emissivePower = 1.0; - // Set up PBR shader material locations - - pbrMat->albedoLoc = GetShaderLocation(pbrMat->pbrShader, "albedoColor"); - pbrMat->normalLoc = GetShaderLocation(pbrMat->pbrShader, "normalValue"); - pbrMat->metallicLoc = GetShaderLocation(pbrMat->pbrShader, "metallicValue"); - pbrMat->roughnessLoc = GetShaderLocation(pbrMat->pbrShader, "roughnessValue"); - pbrMat->aoLoc = GetShaderLocation(pbrMat->pbrShader, "aoValue"); - pbrMat->emissiveColorLoc = GetShaderLocation(pbrMat->pbrShader, "emissiveColor"); - pbrMat->emissivePowerLoc = GetShaderLocation(pbrMat->pbrShader, "emissivePower"); - - pbrMat->texTilingLoc = GetShaderLocation(pbrMat->pbrShader, "tiling"); - pbrMat->texOffsetLoc = GetShaderLocation(pbrMat->pbrShader, "offset"); - - pbrMat->useTexAlbedoLoc = GetShaderLocation(pbrMat->pbrShader, "useTexAlbedo"); - pbrMat->useTexNormalLoc = GetShaderLocation(pbrMat->pbrShader, "useTexNormal"); - pbrMat->useTexMRAELoc = GetShaderLocation(pbrMat->pbrShader, "useTexMRA"); - pbrMat->useTexEmissiveLoc = GetShaderLocation(pbrMat->pbrShader, "useTexEmissive"); - - SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); - SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); - SetShaderValue(pbrMat->pbrShader, pbrMat->emissivePowerLoc, &pbrMat->emissivePower, SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,pbrMat->texTiling,SHADER_UNIFORM_VEC2); - SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,pbrMat->texOffset,SHADER_UNIFORM_VEC2); -} - -void PBRLoadTextures(PBRMaterial *pbrMat,PBRTexType pbrTexType,const char *fileName){ - if(pbrMat == NULL) return; - switch(pbrTexType){ - case PBR_TEXTURE_ALBEDO: - pbrMat->texAlbedo = LoadTexture(fileName); - pbrMat->useTexAlbedo = 1; - break; - case PBR_TEXTURE_MRA: - pbrMat->texMRA = LoadTexture(fileName); - pbrMat->useTexMRA = 1; - break; - case PBR_TEXTURE_NORMAL: - pbrMat->texNormal = LoadTexture(fileName); - pbrMat->useTexNormal = 1; - break; - case PBR_TEXTURE_EMISSIVE: - pbrMat->texEmissive = LoadTexture(fileName); - pbrMat->useTexEmissive = 1; - break; - } -} - -void UnloadPBRMaterial(PBRMaterial pbrMat){ - if(pbrMat.useTexAlbedo == 1) UnloadTexture(pbrMat.texAlbedo); - if(pbrMat.useTexNormal == 1) UnloadTexture(pbrMat.texNormal); - if(pbrMat.useTexMRA == 1) UnloadTexture(pbrMat.texMRA); - if(pbrMat.useTexEmissive == 1) UnloadTexture(pbrMat.texEmissive); -} - -void PBRSetColor(PBRMaterial *pbrMat,PBRColorType pbrColorType,Color color){ - if(pbrMat == NULL) return; - switch(pbrColorType){ - case PBR_COLOR_ALBEDO: - pbrMat->albedo[0] = (float) color.r / 255; - pbrMat->albedo[1] = (float) color.g / 255; - pbrMat->albedo[2] = (float) color.b / 255; - pbrMat->albedo[3] = (float) color.a / 255; - SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); - break; - case PBR_COLOR_EMISSIVE: - pbrMat->emissive[0] = (float) color.r / 255; - pbrMat->emissive[1] = (float) color.g / 255; - pbrMat->emissive[2] = (float) color.b / 255; - pbrMat->emissive[3] = (float) color.a / 255; - SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); - break; - } -} - -void PBRSetFloat(PBRMaterial *pbrMat, PBRFloatType pbrParamType, float value){ - if(pbrMat == NULL) return; - switch(pbrParamType){ - case PBR_PARAM_METALLIC: - pbrMat->metallic = value; - SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); - break; - case PBR_PARAM_ROUGHNESS: - pbrMat->roughness = value; - SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); - break; - case PBR_PARAM_NORMAL: - pbrMat->normal = value; - SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); - break; - case PBR_PARAM_AO: - pbrMat->ao = value; - SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); - break; - case PBR_PARAM_EMISSIVE: - pbrMat->emissivePower = value; - SetShaderValue(pbrMat->pbrShader,pbrMat->emissivePowerLoc,&pbrMat->emissivePower,SHADER_UNIFORM_FLOAT); - break; - } -} - - -void PBRSetVec2(PBRMaterial *pbrMat,PBRVec2Type type,Vector2 value){ - switch(type){ - case PBR_VEC2_TILING: - pbrMat->texTiling[0] = value.x; - pbrMat->texTiling[1] = value.y; - SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,&pbrMat->texTiling,SHADER_UNIFORM_VEC2); - break; - case PBR_VEC2_OFFSET: - pbrMat->texOffset[0] = value.x; - pbrMat->texOffset[1] = value.y; - SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,&pbrMat->texOffset,SHADER_UNIFORM_VEC2); - break; - } -} - -void PBRSetMaterial(PBRModel* model,PBRMaterial* pbrMat,int matIndex){ - - - model->pbrMat = *pbrMat; - model->model.materials[matIndex].shader = model->pbrMat.pbrShader; - pbrMat->pbrShader.locs[SHADER_LOC_MAP_MRA] = GetShaderLocation(pbrMat->pbrShader, "mraMap"); - pbrMat->pbrShader.locs[SHADER_LOC_MAP_EMISSIVE] = GetShaderLocation(pbrMat->pbrShader, "emissiveMap"); - pbrMat->pbrShader.locs[SHADER_LOC_MAP_NORMAL] = GetShaderLocation(pbrMat->pbrShader, "normalMap"); - - if(pbrMat->useTexAlbedo) { - model->model.materials[matIndex].maps[MATERIAL_MAP_ALBEDO].texture = pbrMat->texAlbedo; - } - if(pbrMat->useTexMRA) { - model->model.materials[matIndex].maps[MATERIAL_MAP_MRA].texture = pbrMat->texMRA; - } - if(pbrMat->useTexNormal) { - model->model.materials[matIndex].maps[MATERIAL_MAP_NORMAL].texture = pbrMat->texNormal; - } - if(pbrMat->useTexEmissive) { - model->model.materials[matIndex].maps[MATERIAL_MAP_EMISSIVE].texture = pbrMat->texEmissive; - } - - SetShaderValue(pbrMat->pbrShader,pbrMat->useTexAlbedoLoc,&pbrMat->useTexAlbedo,SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader,pbrMat->useTexNormalLoc,&pbrMat->useTexNormal,SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader, pbrMat->useTexMRAELoc, &pbrMat->useTexMRA, SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader, pbrMat->useTexEmissiveLoc, &pbrMat->useTexEmissive, SHADER_UNIFORM_INT); -} - -void PBRDrawModel(PBRModel pbrModel, Vector3 position, float scale){ - PBRMaterial *pbrMat = &pbrModel.pbrMat; - SetShaderValue(pbrMat->pbrShader,pbrMat->albedoLoc,pbrMat->albedo,SHADER_UNIFORM_VEC4); - SetShaderValue(pbrMat->pbrShader, pbrMat->emissiveColorLoc, pbrMat->emissive, SHADER_UNIFORM_VEC4); - SetShaderValue(pbrMat->pbrShader,pbrMat->metallicLoc,&pbrMat->metallic,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->roughnessLoc,&pbrMat->roughness,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->aoLoc,&pbrMat->ao,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->normalLoc,&pbrMat->normal,SHADER_UNIFORM_FLOAT); - SetShaderValue(pbrMat->pbrShader,pbrMat->texTilingLoc,pbrMat->texTiling,SHADER_UNIFORM_VEC2); - SetShaderValue(pbrMat->pbrShader,pbrMat->texOffsetLoc,pbrMat->texOffset,SHADER_UNIFORM_VEC2); - - SetShaderValue(pbrMat->pbrShader,pbrMat->useTexAlbedoLoc,&pbrMat->useTexAlbedo,SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader,pbrMat->useTexNormalLoc,&pbrMat->useTexNormal,SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader, pbrMat->useTexMRAELoc, &pbrMat->useTexMRA, SHADER_UNIFORM_INT); - SetShaderValue(pbrMat->pbrShader, pbrMat->useTexEmissiveLoc, &pbrMat->useTexEmissive, SHADER_UNIFORM_INT); - - DrawModel(pbrModel.model,position,scale,WHITE); -} - -PBRModel PBRModelLoad(const char *fileName){ - PBRModel pbrModel = (PBRModel){0}; - pbrModel.model = LoadModel(fileName); - return pbrModel; -} - -PBRModel PBRModelLoadFromMesh(Mesh mesh){ - PBRModel pbrModel = (PBRModel){0}; - pbrModel.model = LoadModelFromMesh(mesh); - return pbrModel; -} -#endif // RPBR_IMPLEMENTATION diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c index 92a888811..11e423d6b 100644 --- a/examples/shaders/shaders_basic_pbr.c +++ b/examples/shaders/shaders_basic_pbr.c @@ -19,15 +19,45 @@ #include #endif -#define RPBR_IMPLEMENTATION -#include "rpbr.h" - #if defined(PLATFORM_DESKTOP) #define GLSL_VERSION 330 #else // PLATFORM_ANDROID, PLATFORM_WEB #define GLSL_VERSION 120 #endif +#include // Required for: NULL + +#define MAX_LIGHTS 4 // Max dynamic lights supported by shader +int lightsCount; // Current number of dynamic lights that have been created + +typedef struct { + int enabled; + int type; + Vector3 position; + Vector3 target; + float color[4]; + float intensity; + + int enabledLoc; + int typeLoc; + int positionLoc; + int targetLoc; + int colorLoc; + int intensityLoc; +} PBRLight; + +typedef enum { + LIGHT_DIRECTIONAL = 0, + LIGHT_POINT, + LIGHT_SPOT +} PBRLightType; + +// Create a light and get shader locations +PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader); + +// Send light properties to shader +// NOTE: Light shader locations should be available +void PBRLightUpdate(Shader shader, PBRLight light); //---------------------------------------------------------------------------------- // Main Entry Point @@ -53,44 +83,69 @@ int main() Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/pbr.vs",GLSL_VERSION), TextFormat("resources/shaders/glsl%i/pbr.fs",GLSL_VERSION)); - - - - PBRModel model = PBRModelLoad("resources/models/old_car_new.glb"); - //if we use obj file formator if model doesn't have tangents we have to calculate MeshTangents - //by using raylib function GenMeshTangents(mesh) for example: obj file doesn't support tangents - //GenMeshTangents(&model.model.meshes[0]); - - PBRMaterial model_mat = (PBRMaterial){0}; - PBRMaterialSetup(&model_mat, shader, NULL); //environment = NULL for now - PBRLoadTextures(&model_mat, PBR_TEXTURE_ALBEDO, "resources/old_car_d.png"); - PBRLoadTextures(&model_mat, PBR_TEXTURE_MRA, "resources/old_car_mra.png"); - PBRLoadTextures(&model_mat, PBR_TEXTURE_NORMAL, "resources/old_car_n.png"); - PBRLoadTextures(&model_mat, PBR_TEXTURE_EMISSIVE, "resources/old_car_e.png"); - PBRSetColor(&model_mat,PBR_COLOR_EMISSIVE, (Color){255,162,0,255}); - PBRSetVec2(&model_mat, PBR_VEC2_TILING,(Vector2){0.5,0.5}); - PBRSetMaterial(&model,&model_mat,0); - - PBRModel floor = PBRModelLoad("resources/models/plane.glb"); - - PBRMaterial floor_mat = (PBRMaterial){0}; - PBRMaterialSetup(&floor_mat, shader, NULL); - PBRLoadTextures(&floor_mat, PBR_TEXTURE_ALBEDO, "resources/road_a.png"); - PBRLoadTextures(&floor_mat, PBR_TEXTURE_MRA, "resources/road_mra.png"); - PBRLoadTextures(&floor_mat, PBR_TEXTURE_NORMAL, "resources/road_n.png"); - PBRSetVec2(&floor_mat, PBR_VEC2_TILING,(Vector2){0.5,0.5}); - PBRSetMaterial(&floor,&floor_mat,0); + shader.locs[SHADER_LOC_MAP_ALBEDO] = GetShaderLocation(shader, "albedoMap"); + // In reality, metalness, roughness, and ambient occlusion are all packed into the MRA texture + // We'll pass it in as the metalness map + shader.locs[SHADER_LOC_MAP_METALNESS] = GetShaderLocation(shader, "mraMap"); + shader.locs[SHADER_LOC_MAP_NORMAL] = GetShaderLocation(shader, "normalMap"); + // Similarly to the MRA map, the emissive map packs different information into a single texture + // This map stores both height and emission in reality + shader.locs[SHADER_LOC_MAP_EMISSION] = GetShaderLocation(shader, "emissiveMap"); + shader.locs[SHADER_LOC_COLOR_DIFFUSE] = GetShaderLocation(shader, "albedoColor"); shader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shader, "viewPos"); int numOfLightsLoc = GetShaderLocation(shader, "numOfLights"); int numOfLights = 4; SetShaderValue(shader, numOfLightsLoc, &numOfLights, SHADER_UNIFORM_INT); - Color ambCol = (Color){26,32,135,255}; + Color ambCol = (Color){ 26,32,135,255 }; + Vector3 ambColNormalized = (Vector3){ ambCol.r / 255.0f, ambCol.g / 255.0f, ambCol.b / 255.0f }; float ambIntens = 0.02; int albedoLoc = GetShaderLocation(shader, "albedo"); - PBRSetAmbient(shader,ambCol,ambIntens); + int ambColLoc = GetShaderLocation(shader, "ambientColor"); + int ambLoc = GetShaderLocation(shader, "ambient"); + SetShaderValue(shader, ambColLoc, &ambColNormalized, SHADER_UNIFORM_VEC3); + SetShaderValue(shader, ambLoc, &ambIntens, SHADER_UNIFORM_FLOAT); + + int emissiveIntensityLoc = GetShaderLocation(shader, "emissivePower"); + int emissiveColorLoc = GetShaderLocation(shader, "emissiveColor"); + int textureTilingLoc = GetShaderLocation(shader, "tiling"); + + Model model = LoadModel("resources/models/old_car_new.glb"); + // If the OBJ file format is used, we will have to generate tangents manually: + // GenMeshTangents(&model.meshes[0]); + + model.materials[0].shader = shader; + + model.materials[0].maps[MATERIAL_MAP_ALBEDO].color = WHITE; + model.materials[0].maps[MATERIAL_MAP_METALNESS].value = 0.0f; + model.materials[0].maps[MATERIAL_MAP_ROUGHNESS].value = 0.0f; + model.materials[0].maps[MATERIAL_MAP_OCCLUSION].value = 1.0f; + model.materials[0].maps[MATERIAL_MAP_EMISSION].color = (Color){ 255, 162, 0, 255 }; + + model.materials[0].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture("resources/old_car_d.png"); + model.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/old_car_mra.png"); + model.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/old_car_n.png"); + model.materials[0].maps[MATERIAL_MAP_EMISSION].texture = LoadTexture("resources/old_car_e.png"); + // We store tiling parameters in the generic parameter slots in the Material class + Vector2 modelTiling = (Vector2){ 0.5f, 0.5f }; + + Model floor = LoadModel("resources/models/plane.glb"); + + floor.materials[0].shader = shader; + + floor.materials[0].maps[MATERIAL_MAP_ALBEDO].color = WHITE; + floor.materials[0].maps[MATERIAL_MAP_METALNESS].value = 0.0f; + floor.materials[0].maps[MATERIAL_MAP_ROUGHNESS].value = 0.0f; + floor.materials[0].maps[MATERIAL_MAP_OCCLUSION].value = 1.0f; + floor.materials[0].maps[MATERIAL_MAP_EMISSION].color = BLACK; + + floor.materials[0].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture("resources/road_a.png"); + floor.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/road_mra.png"); + floor.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/road_n.png"); + + Vector2 floorTiling = (Vector2){ 0.5f, 0.5f }; // Create lights PBRLight lights[MAX_LIGHTS] = { 0 }; @@ -98,7 +153,13 @@ int main() lights[1] = PBRLightCreate(LIGHT_POINT, (Vector3){ 2, 1, 1 }, (Vector3){0,0,0}, GREEN,3.3, shader); lights[2] = PBRLightCreate(LIGHT_POINT, (Vector3){ -2, 1, 1 }, (Vector3){0,0,0}, RED,8.3, shader); lights[3] = PBRLightCreate(LIGHT_POINT, (Vector3){ 1, 1, -2 }, (Vector3){0,0,0}, BLUE,2, shader); - SetShaderValueV(shader, GetShaderLocation(shader, "lights"), lights, SHADER_UNIFORM_FLOAT, numOfLights); + + // The textures are always used + int one = 1; + SetShaderValue(shader, GetShaderLocation(shader, "useTexAlbedo"), &one, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexNormal"), &one, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexMRA"), &one, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexEmissive"), &one, SHADER_UNIFORM_INT); SetTargetFPS(60); // Set our game to run at 60 frames-per-second------------------------------------------------------------- @@ -122,32 +183,45 @@ int main() // Update light values (actually, only enable/disable them) for (int i = 0; i < MAX_LIGHTS; i++) PBRLightUpdate(shader, lights[i]); - emissiveCnt--; - if(emissiveCnt<=0){ - emissiveCnt = GetRandomValue(0,20); - PBRSetFloat(&model_mat,PBR_PARAM_EMISSIVE,(float)GetRandomValue(0,100)/100); - } //---------------------------------------------------------------------------------- // Draw //---------------------------------------------------------------------------------- BeginDrawing(); + ClearBackground(BLACK); + BeginMode3D(camera); + + SetShaderValue(shader, textureTilingLoc, &floorTiling, SHADER_UNIFORM_VEC2); + Vector4 floorEmission = ColorNormalize(floor.materials[0].maps[MATERIAL_MAP_EMISSION].color); + SetShaderValue(shader, emissiveColorLoc, &floorEmission, SHADER_UNIFORM_VEC4); + DrawModel(floor, (Vector3){0,0,0}, 5.0f, WHITE); - PBRDrawModel(floor, (Vector3){0,0,0}, 5.0f); - PBRDrawModel(model, (Vector3) {0, 0.0, 0}, 0.005); + emissiveCnt--; + if (emissiveCnt <= 0) + { + emissiveCnt = GetRandomValue(0, 20); + float intensity = (float)GetRandomValue(0, 100) / 100; + SetShaderValue(shader, emissiveIntensityLoc, &intensity, SHADER_UNIFORM_FLOAT); + } + SetShaderValue(shader, textureTilingLoc, &modelTiling, SHADER_UNIFORM_VEC2); + Vector4 modelEmission = ColorNormalize(model.materials[0].maps[MATERIAL_MAP_EMISSION].color); + SetShaderValue(shader, emissiveColorLoc, &modelEmission, SHADER_UNIFORM_VEC4); + DrawModel(model, (Vector3) {0, 0.0, 0}, 0.005, WHITE); // Draw spheres to show where the lights are - for (int i = 0; i < MAX_LIGHTS; i++) { + for (int i = 0; i < MAX_LIGHTS; i++) + { Color col = (Color) {lights[i].color[0] * 255, lights[i].color[1] * 255, lights[i].color[2] * 255, lights[i].color[3] * 255}; if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, col); else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(col, 0.3f)); } + EndMode3D(); - DrawText("(c) Old Rusty Car model by Renafox (https://skfb.ly/LxRy)", screenWidth - 320, screenHeight - 20, 10, GRAY); + DrawText("(c) Old Rusty Car model by Renafox (https://skfb.ly/LxRy)", screenWidth - 320, screenHeight - 20, 10, LIGHTGRAY); DrawFPS(10, 10); EndDrawing(); @@ -157,15 +231,65 @@ int main() //-------------------------------------------------------------------------------------- // De-Initialization //-------------------------------------------------------------------------------------- - - UnloadModel(floor.model); // Unload model - UnloadModel(model.model); // Unload model + model.materials[0].shader = (Shader){ 0 }; + floor.materials[0].shader = (Shader){ 0 }; + UnloadMaterial(model.materials[0]); + UnloadMaterial(floor.materials[0]); + model.materials[0].maps = NULL; + floor.materials[0].maps = NULL; + UnloadModel(floor); // Unload model + UnloadModel(model); // Unload model UnloadShader(shader); // Unload Shader - UnloadPBRMaterial(floor_mat); // Unload PBRMaterial - UnloadPBRMaterial(model_mat); // Unload PBRMaterial CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; +} + +PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader) +{ + PBRLight light = { 0 }; + + if (lightsCount < MAX_LIGHTS) + { + light.enabled = 1; + light.type = type; + light.position = position; + light.target = target; + light.color[0] = (float)color.r / (float)255; + light.color[1] = (float)color.g / (float)255; + light.color[2] = (float)color.b / (float)255; + light.color[3] = (float)color.a / (float)255; + light.intensity = intensity; + // NOTE: Lighting shader naming must be the provided ones + light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightsCount)); + light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightsCount)); + light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightsCount)); + light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightsCount)); + light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightsCount)); + light.intensityLoc = GetShaderLocation(shader, TextFormat("lights[%i].intensity", lightsCount)); + PBRLightUpdate(shader, light); + + lightsCount++; } + + return light; +} + +// Send light properties to shader +// NOTE: Light shader locations should be available +void PBRLightUpdate(Shader shader, PBRLight light) +{ + SetShaderValue(shader, light.enabledLoc, &light.enabled, SHADER_UNIFORM_INT); + SetShaderValue(shader, light.typeLoc, &light.type, SHADER_UNIFORM_INT); + // Send to shader light position values + float position[3] = { light.position.x, light.position.y, light.position.z }; + SetShaderValue(shader, light.positionLoc, position, SHADER_UNIFORM_VEC3); + + // Send to shader light target position values + float target[3] = { light.target.x, light.target.y, light.target.z }; + SetShaderValue(shader, light.targetLoc, target, SHADER_UNIFORM_VEC3); + SetShaderValue(shader, light.colorLoc, light.color, SHADER_UNIFORM_VEC4); + SetShaderValue(shader, light.intensityLoc, &light.intensity, SHADER_UNIFORM_FLOAT); +} From 1fc3d9aeb2bc629959a203dcb79b74efcb3c9882 Mon Sep 17 00:00:00 2001 From: TheManTheMythTheGameDev <76568234+TheManTheMythTheGameDev@users.noreply.github.com> Date: Tue, 19 Dec 2023 01:37:41 -0800 Subject: [PATCH 031/745] Add shadowmapping example (#3653) --- examples/Makefile | 1 + examples/Makefile.Web | 1 + examples/shaders/resources/models/robot.glb | Bin 0 -> 1602604 bytes .../resources/shaders/glsl120/shadowmap.fs | 86 ++++++ .../resources/shaders/glsl120/shadowmap.vs | 32 +++ .../resources/shaders/glsl330/shadowmap.fs | 86 ++++++ .../resources/shaders/glsl330/shadowmap.vs | 32 +++ examples/shaders/shaders_shadowmap.c | 251 ++++++++++++++++++ examples/shaders/shaders_shadowmap.png | Bin 0 -> 37581 bytes 9 files changed, 489 insertions(+) create mode 100644 examples/shaders/resources/models/robot.glb create mode 100644 examples/shaders/resources/shaders/glsl120/shadowmap.fs create mode 100644 examples/shaders/resources/shaders/glsl120/shadowmap.vs create mode 100644 examples/shaders/resources/shaders/glsl330/shadowmap.fs create mode 100644 examples/shaders/resources/shaders/glsl330/shadowmap.vs create mode 100644 examples/shaders/shaders_shadowmap.c create mode 100644 examples/shaders/shaders_shadowmap.png diff --git a/examples/Makefile b/examples/Makefile index 11669e3a3..235deda28 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -560,6 +560,7 @@ SHADERS = \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ + shaders/shaders_shadowmap \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index a3c2bb729..8bec06452 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -466,6 +466,7 @@ SHADERS = \ shaders/shaders_palette_switch \ shaders/shaders_postprocessing \ shaders/shaders_raymarching \ + shaders/shaders_shadowmap \ shaders/shaders_shapes_textures \ shaders/shaders_simple_mask \ shaders/shaders_spotlight \ diff --git a/examples/shaders/resources/models/robot.glb b/examples/shaders/resources/models/robot.glb new file mode 100644 index 0000000000000000000000000000000000000000..549011e75ee4ab8cd69b99743df72020d685b7f9 GIT binary patch literal 1602604 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

x$xQ#IDuBq>c|^98|q9F%at<_3@}@$O_H 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%0AuU*`6O7Ja$_HRPA1$ue9&_@pjMTAKZ3N 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 R|57)7fb1B>pgMNAV*uG%{pbJy literal 0 HcmV?d00001 diff --git a/examples/shaders/resources/shaders/glsl120/shadowmap.fs b/examples/shaders/resources/shaders/glsl120/shadowmap.fs new file mode 100644 index 000000000..668fdeb4b --- /dev/null +++ b/examples/shaders/resources/shaders/glsl120/shadowmap.fs @@ -0,0 +1,86 @@ +#version 120 + +precision mediump float; + +// This shader is based on the basic lighting shader +// This only supports one light, which is directional, and it (of course) supports shadows + +// Input vertex attributes (from vertex shader) +varying in vec3 fragPosition; +varying in vec2 fragTexCoord; +//varying in vec4 fragColor; +varying in vec3 fragNormal; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Input lighting values +uniform vec3 lightDir; +uniform vec4 lightColor; +uniform vec4 ambient; +uniform vec3 viewPos; + +// Input shadowmapping values +uniform mat4 lightVP; // Light source view-projection matrix +uniform sampler2D shadowMap; + +uniform int shadowMapResolution; + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture2D(texture0, fragTexCoord); + vec3 lightDot = vec3(0.0); + vec3 normal = normalize(fragNormal); + vec3 viewD = normalize(viewPos - fragPosition); + vec3 specular = vec3(0.0); + + vec3 l = -lightDir; + + float NdotL = max(dot(normal, l), 0.0); + lightDot += lightColor.rgb*NdotL; + + float specCo = 0.0; + if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(l), normal))), 16.0); // 16 refers to shine + specular += specCo; + + vec4 finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + + // Shadow calculations + vec4 fragPosLightSpace = lightVP * vec4(fragPosition, 1); + fragPosLightSpace.xyz /= fragPosLightSpace.w; // Perform the perspective division + fragPosLightSpace.xyz = (fragPosLightSpace.xyz + 1.0f) / 2.0f; // Transform from [-1, 1] range to [0, 1] range + vec2 sampleCoords = fragPosLightSpace.xy; + float curDepth = fragPosLightSpace.z; + // Slope-scale depth bias: depth biasing reduces "shadow acne" artifacts, where dark stripes appear all over the scene. + // The solution is adding a small bias to the depth + // In this case, the bias is proportional to the slope of the surface, relative to the light + float bias = max(0.0008 * (1.0 - dot(normal, l)), 0.00008); + int shadowCounter = 0; + const int numSamples = 9; + // PCF (percentage-closer filtering) algorithm: + // Instead of testing if just one point is closer to the current point, + // we test the surrounding points as well. + // This blurs shadow edges, hiding aliasing artifacts. + vec2 texelSize = vec2(1.0f / float(shadowMapResolution)); + for (int x = -1; x <= 1; x++) + { + for (int y = -1; y <= 1; y++) + { + float sampleDepth = texture2D(shadowMap, sampleCoords + texelSize * vec2(x, y)).r; + if (curDepth - bias > sampleDepth) + { + shadowCounter++; + } + } + } + finalColor = mix(finalColor, vec4(0, 0, 0, 1), float(shadowCounter) / float(numSamples)); + + // Add ambient lighting whether in shadow or not + finalColor += texelColor*(ambient/10.0)*colDiffuse; + + // Gamma correction + finalColor = pow(finalColor, vec4(1.0/2.2)); + gl_FragColor = finalColor; +} diff --git a/examples/shaders/resources/shaders/glsl120/shadowmap.vs b/examples/shaders/resources/shaders/glsl120/shadowmap.vs new file mode 100644 index 000000000..bace1d70d --- /dev/null +++ b/examples/shaders/resources/shaders/glsl120/shadowmap.vs @@ -0,0 +1,32 @@ +#version 120 + +// Input vertex attributes +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec3 vertexNormal; +attribute vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; +uniform mat4 matNormal; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/shaders/resources/shaders/glsl330/shadowmap.fs b/examples/shaders/resources/shaders/glsl330/shadowmap.fs new file mode 100644 index 000000000..506b51a8b --- /dev/null +++ b/examples/shaders/resources/shaders/glsl330/shadowmap.fs @@ -0,0 +1,86 @@ +#version 330 + +// This shader is based on the basic lighting shader +// This only supports one light, which is directional, and it (of course) supports shadows + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; +in vec2 fragTexCoord; +//in vec4 fragColor; +in vec3 fragNormal; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// Input lighting values +uniform vec3 lightDir; +uniform vec4 lightColor; +uniform vec4 ambient; +uniform vec3 viewPos; + +// Input shadowmapping values +uniform mat4 lightVP; // Light source view-projection matrix +uniform sampler2D shadowMap; + +uniform int shadowMapResolution; + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture(texture0, fragTexCoord); + vec3 lightDot = vec3(0.0); + vec3 normal = normalize(fragNormal); + vec3 viewD = normalize(viewPos - fragPosition); + vec3 specular = vec3(0.0); + + vec3 l = -lightDir; + + float NdotL = max(dot(normal, l), 0.0); + lightDot += lightColor.rgb*NdotL; + + float specCo = 0.0; + if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(l), normal))), 16.0); // 16 refers to shine + specular += specCo; + + finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + + // Shadow calculations + vec4 fragPosLightSpace = lightVP * vec4(fragPosition, 1); + fragPosLightSpace.xyz /= fragPosLightSpace.w; // Perform the perspective division + fragPosLightSpace.xyz = (fragPosLightSpace.xyz + 1.0f) / 2.0f; // Transform from [-1, 1] range to [0, 1] range + vec2 sampleCoords = fragPosLightSpace.xy; + float curDepth = fragPosLightSpace.z; + // Slope-scale depth bias: depth biasing reduces "shadow acne" artifacts, where dark stripes appear all over the scene. + // The solution is adding a small bias to the depth + // In this case, the bias is proportional to the slope of the surface, relative to the light + float bias = max(0.0002 * (1.0 - dot(normal, l)), 0.00002) + 0.00001; + int shadowCounter = 0; + const int numSamples = 9; + // PCF (percentage-closer filtering) algorithm: + // Instead of testing if just one point is closer to the current point, + // we test the surrounding points as well. + // This blurs shadow edges, hiding aliasing artifacts. + vec2 texelSize = vec2(1.0f / float(shadowMapResolution)); + for (int x = -1; x <= 1; x++) + { + for (int y = -1; y <= 1; y++) + { + float sampleDepth = texture(shadowMap, sampleCoords + texelSize * vec2(x, y)).r; + if (curDepth - bias > sampleDepth) + { + shadowCounter++; + } + } + } + finalColor = mix(finalColor, vec4(0, 0, 0, 1), float(shadowCounter) / float(numSamples)); + + // Add ambient lighting whether in shadow or not + finalColor += texelColor*(ambient/10.0)*colDiffuse; + + // Gamma correction + finalColor = pow(finalColor, vec4(1.0/2.2)); +} diff --git a/examples/shaders/resources/shaders/glsl330/shadowmap.vs b/examples/shaders/resources/shaders/glsl330/shadowmap.vs new file mode 100644 index 000000000..f8ec45f19 --- /dev/null +++ b/examples/shaders/resources/shaders/glsl330/shadowmap.vs @@ -0,0 +1,32 @@ +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; +uniform mat4 matNormal; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec4 fragColor; +out vec3 fragNormal; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/shaders/shaders_shadowmap.c b/examples/shaders/shaders_shadowmap.c new file mode 100644 index 000000000..15ffe008d --- /dev/null +++ b/examples/shaders/shaders_shadowmap.c @@ -0,0 +1,251 @@ +/******************************************************************************************* +* +* raylib [shaders] example - Shadowmap +* +* Example originally created with raylib 5.0, last time updated with raylib 5.0 +* +* Example contributed by @TheManTheMythTheGameDev and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" +#include "rlgl.h" + +#if defined(PLATFORM_DESKTOP) +#define GLSL_VERSION 330 +#else // PLATFORM_ANDROID, PLATFORM_WEB +#define GLSL_VERSION 120 +#endif + +#define SHADOWMAP_RESOLUTION 1024 + +RenderTexture2D LoadShadowmapRenderTexture(int width, int height); +void UnloadShadowmapRenderTexture(RenderTexture2D target); +void DrawScene(Model cube, Model robot); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + // Shadows are a HUGE topic, and this example shows an extremely simple implementation of the shadowmapping algorithm, + // which is the industry standard for shadows. This algorithm can be extended in a ridiculous number of ways to improve + // realism and also adapt it for different scenes. This is pretty much the simplest possible implementation. + InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shadowmap"); + + Camera3D cam = (Camera3D){ 0 }; + cam.position = (Vector3){ 10.0f, 10.0f, 10.0f }; + cam.target = Vector3Zero(); + cam.projection = CAMERA_PERSPECTIVE; + cam.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + cam.fovy = 45.0f; + + Shader shadowShader = LoadShader(TextFormat("resources/shaders/glsl%i/shadowmap.vs", GLSL_VERSION), + TextFormat("resources/shaders/glsl%i/shadowmap.fs", GLSL_VERSION)); + shadowShader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shadowShader, "viewPos"); + Vector3 lightDir = Vector3Normalize((Vector3){ 0.35f, -1.0f, -0.35f }); + Color lightColor = WHITE; + Vector4 lightColorNormalized = ColorNormalize(lightColor); + int lightDirLoc = GetShaderLocation(shadowShader, "lightDir"); + int lightColLoc = GetShaderLocation(shadowShader, "lightColor"); + SetShaderValue(shadowShader, lightDirLoc, &lightDir, SHADER_UNIFORM_VEC3); + SetShaderValue(shadowShader, lightColLoc, &lightColorNormalized, SHADER_UNIFORM_VEC4); + int ambientLoc = GetShaderLocation(shadowShader, "ambient"); + float ambient[4] = {0.1f, 0.1f, 0.1f, 1.0f}; + SetShaderValue(shadowShader, ambientLoc, ambient, SHADER_UNIFORM_VEC4); + int lightVPLoc = GetShaderLocation(shadowShader, "lightVP"); + int shadowMapLoc = GetShaderLocation(shadowShader, "shadowMap"); + int shadowMapResolution = SHADOWMAP_RESOLUTION; + SetShaderValue(shadowShader, GetShaderLocation(shadowShader, "shadowMapResolution"), &shadowMapResolution, SHADER_UNIFORM_INT); + + Model cube = LoadModelFromMesh(GenMeshCube(1.0f, 1.0f, 1.0f)); + cube.materials[0].shader = shadowShader; + Model robot = LoadModel("resources/models/robot.glb"); + for (int i = 0; i < robot.materialCount; i++) + { + robot.materials[i].shader = shadowShader; + } + int animCount = 0; + ModelAnimation* robotAnimations = LoadModelAnimations("resources/models/robot.glb", &animCount); + + RenderTexture2D shadowMap = LoadShadowmapRenderTexture(SHADOWMAP_RESOLUTION, SHADOWMAP_RESOLUTION); + // For the shadowmapping algorithm, we will be rendering everything from the light's point of view + Camera3D lightCam = (Camera3D){ 0 }; + lightCam.position = Vector3Scale(lightDir, -15.0f); + lightCam.target = Vector3Zero(); + // Use an orthographic projection for directional lights + lightCam.projection = CAMERA_ORTHOGRAPHIC; + lightCam.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + lightCam.fovy = 20.0f; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + int fc = 0; + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + float dt = GetFrameTime(); + + Vector3 cameraPos = cam.position; + SetShaderValue(shadowShader, shadowShader.locs[SHADER_LOC_VECTOR_VIEW], &cameraPos, SHADER_UNIFORM_VEC3); + UpdateCamera(&cam, CAMERA_ORBITAL); + + fc++; + fc %= (robotAnimations[0].frameCount); + UpdateModelAnimation(robot, robotAnimations[0], fc); + + const float cameraSpeed = 0.05f; + if (IsKeyDown(KEY_LEFT)) + { + if (lightDir.x < 0.6f) + lightDir.x += cameraSpeed * 60.0f * dt; + } + if (IsKeyDown(KEY_RIGHT)) + { + if (lightDir.x > -0.6f) + lightDir.x -= cameraSpeed * 60.0f * dt; + } + if (IsKeyDown(KEY_UP)) + { + if (lightDir.z < 0.6f) + lightDir.z += cameraSpeed * 60.0f * dt; + } + if (IsKeyDown(KEY_DOWN)) + { + if (lightDir.z > -0.6f) + lightDir.z -= cameraSpeed * 60.0f * dt; + } + lightDir = Vector3Normalize(lightDir); + lightCam.position = Vector3Scale(lightDir, -15.0f); + SetShaderValue(shadowShader, lightDirLoc, &lightDir, SHADER_UNIFORM_VEC3); + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + // First, render all objects into the shadowmap + // The idea is, we record all the objects' depths (as rendered from the light source's point of view) in a buffer + // Anything that is "visible" to the light is in light, anything that isn't is in shadow + // We can later use the depth buffer when rendering everything from the player's point of view + // to determine whether a given point is "visible" to the light + + // Record the light matrices for future use! + Matrix lightView; + Matrix lightProj; + BeginTextureMode(shadowMap); + ClearBackground(WHITE); + BeginMode3D(lightCam); + lightView = rlGetMatrixModelview(); + lightProj = rlGetMatrixProjection(); + DrawScene(cube, robot); + EndMode3D(); + EndTextureMode(); + Matrix lightViewProj = MatrixMultiply(lightView, lightProj); + + ClearBackground(RAYWHITE); + + SetShaderValueMatrix(shadowShader, lightVPLoc, lightViewProj); + + rlEnableShader(shadowShader.id); + int slot = 10; // Can be anything 0 to 15, but 0 will probably be taken up + rlActiveTextureSlot(10); + rlEnableTexture(shadowMap.depth.id); + rlSetUniform(shadowMapLoc, &slot, SHADER_UNIFORM_INT, 1); + + BeginMode3D(cam); + + // Draw the same exact things as we drew in the shadowmap! + DrawScene(cube, robot); + + EndMode3D(); + + DrawText("Shadows in raylib using the shadowmapping algorithm!", screenWidth - 320, screenHeight - 20, 10, GRAY); + DrawText("Use the arrow keys to rotate the light!", 10, 10, 30, RED); + + EndDrawing(); + + if (IsKeyPressed(KEY_F)) + { + TakeScreenshot("shaders_shadowmap.png"); + } + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + + UnloadShader(shadowShader); + UnloadModel(cube); + UnloadModel(robot); + UnloadModelAnimations(robotAnimations, animCount); + UnloadShadowmapRenderTexture(shadowMap); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +RenderTexture2D LoadShadowmapRenderTexture(int width, int height) +{ + RenderTexture2D target = { 0 }; + + target.id = rlLoadFramebuffer(width, height); // Load an empty framebuffer + target.texture.width = width; + target.texture.height = height; + + if (target.id > 0) + { + rlEnableFramebuffer(target.id); + + // Create depth texture + // We don't need a color texture for the shadowmap + target.depth.id = rlLoadTextureDepth(width, height, false); + target.depth.width = width; + target.depth.height = height; + target.depth.format = 19; //DEPTH_COMPONENT_24BIT? + target.depth.mipmaps = 1; + + // Attach depth texture to FBO + rlFramebufferAttach(target.id, target.depth.id, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_TEXTURE2D, 0); + + // Check if fbo is complete with attachments (valid) + if (rlFramebufferComplete(target.id)) TRACELOG(LOG_INFO, "FBO: [ID %i] Framebuffer object created successfully", target.id); + + rlDisableFramebuffer(); + } + else TRACELOG(LOG_WARNING, "FBO: Framebuffer object can not be created"); + + return target; +} + +// Unload shadowmap render texture from GPU memory (VRAM) +void UnloadShadowmapRenderTexture(RenderTexture2D target) +{ + if (target.id > 0) + { + // NOTE: Depth texture/renderbuffer is automatically + // queried and deleted before deleting framebuffer + rlUnloadFramebuffer(target.id); + } +} + +void DrawScene(Model cube, Model robot) +{ + DrawModelEx(cube, Vector3Zero(), (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, (Vector3) { 10.0f, 1.0f, 10.0f }, BLUE); + DrawModelEx(cube, (Vector3) { 1.5f, 1.0f, -1.5f }, (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, Vector3One(), WHITE); + DrawModelEx(robot, (Vector3) { 0.0f, 0.5f, 0.0f }, (Vector3) { 0.0f, 1.0f, 0.0f }, 0.0f, (Vector3) { 1.0f, 1.0f, 1.0f }, RED); +} diff --git a/examples/shaders/shaders_shadowmap.png b/examples/shaders/shaders_shadowmap.png new file mode 100644 index 0000000000000000000000000000000000000000..2d180ee73ef64722dd533750efc880c435af19b3 GIT binary patch literal 37581 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYU_8XZ#=yWJp1k%11H+^#o-U3d6>-Ubetmsi z-xg>f#k5!v2T{Voxa?wp9B<=A0ST-GV^!;c4E7Y0wY_ZzGB|p$5C%PE4sOB+u}k)} z9oWF#cu{h~MHgFK&T!Z+An~@LM{OHUH|&DAVIxjAfShm{hx>Zk4t#((A%r3)Fr3ba z=*QxJo^=90G9Iy%3;ds1yZEB96w_fX7PoW)qIS3E9aHoSaf$*y{XAGI5f-c2auUzyo3&zrko?ggjr z4@*>J+LGktHO%>+6-~WTG)XMcLgJ1?R;=@?*%QyocYWnHeCYgoQ+HINM~~&=(ZbWfUWHNiQ1gD>M{W8KS_ z-z!_rY4`f+a`L2Qv!#FF>NOH;)7k1dc(xU#ZK;zyYYH{ZVXlD0Tt-P>PbeR=peW&P zyvTPVBS{)-0nvC-U_mqo&kLb72g?qf4Dc^+{#ml%qH6RP|JWUun05UQF53D&BQUJz znz6Gs3)|t$9Oa)Pi!Tb#Ve^-?iz@4FJ5ay@E+0y4@TC+&c_l6Z)=d_8PE@FGt zB9ruH=~t0&3EzGPoVmQk?>X~U9bQXWq0KVgQ7^lM{`0k|)=YWw@!*3xuTKhVKQnE* z-4SW!k-b0QH18Fy&+f0qJ$m@RE}gODn6ly1&l%N~CM<1P96je6dY0WKzlge^%ObJA z?(eU9lRdCZW6*No#iZtoB^Dr`JDeAg&@Fbmd^>}K#|L8D9*S&>a64QDO;Q=6OwND5 zEWbF#5M-0V7N>+QXC!?$E><)!aY`s*OEFp6hoxWx7xou)S=_7@7I)@Cjlw9cK&i8e z>l*�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 Date: Tue, 19 Dec 2023 02:38:57 -0700 Subject: [PATCH 032/745] [rmodels] Set cgltf callbacks to use `LoadFileData()` and `UnloadFileData()` (#3652) --- src/rmodels.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 84c7d9cbe..9773391f4 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4740,6 +4740,25 @@ static ModelAnimation *LoadModelAnimationsIQM(const char *fileName, int *animCou #endif #if defined(SUPPORT_FILEFORMAT_GLTF) +// Load file data callback for cgltf +static cgltf_result LoadFileGLTFCallback(const struct cgltf_memory_options *memoryOptions, const struct cgltf_file_options *fileOptions, const char *path, cgltf_size *size, void **data) +{ + int filesize; + unsigned char *filedata = LoadFileData(path, &filesize); + + if (filedata == NULL) return cgltf_result_io_error; + + *size = filesize; + *data = filedata; + + return cgltf_result_success; +} + +// Release file data callback for cgltf +static void ReleaseFileGLTFCallback(const struct cgltf_memory_options *memoryOptions, const struct cgltf_file_options *fileOptions, void *data) { + UnloadFileData(data); +} + // Load image from different glTF provided methods (uri, path, buffer_view) static Image LoadImageFromCgltfImage(cgltf_image *cgltfImage, const char *texPath) { @@ -4768,6 +4787,8 @@ static Image LoadImageFromCgltfImage(cgltf_image *cgltfImage, const char *texPat void *data = NULL; cgltf_options options = { 0 }; + options.file.read = LoadFileGLTFCallback; + options.file.release = ReleaseFileGLTFCallback; cgltf_result result = cgltf_load_buffer_base64(&options, outSize, cgltfImage->uri + i + 1, &data); if (result == cgltf_result_success) @@ -4891,6 +4912,8 @@ static Model LoadGLTF(const char *fileName) // glTF data loading cgltf_options options = { 0 }; + options.file.read = LoadFileGLTFCallback; + options.file.release = ReleaseFileGLTFCallback; cgltf_data *data = NULL; cgltf_result result = cgltf_parse(&options, fileData, dataSize, &data); @@ -5387,6 +5410,8 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo // glTF data loading cgltf_options options = { 0 }; + options.file.read = LoadFileGLTFCallback; + options.file.release = ReleaseFileGLTFCallback; cgltf_data *data = NULL; cgltf_result result = cgltf_parse(&options, fileData, dataSize, &data); From 57a5ebe6c6cf586221666a50a861dcf3e127c5c1 Mon Sep 17 00:00:00 2001 From: Cinghy Creations <111689901+cinghycreations@users.noreply.github.com> Date: Tue, 19 Dec 2023 10:47:04 +0100 Subject: [PATCH 033/745] Don't use a separate thread when polling for gamepad events on DRM platforms (#3641) --- src/platforms/rcore_drm.c | 45 +++++++++++---------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 2fec53f58..3449e6993 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -128,7 +128,6 @@ typedef struct { int touchSlot; // Hold the touch slot number of the currently being sent multitouch block // Gamepad data - pthread_t gamepadThreadId; // Gamepad reading thread id int gamepadStreamFd[MAX_GAMEPADS]; // Gamepad device file descriptor } PlatformData; @@ -191,7 +190,7 @@ static void PollKeyboardEvents(void); // Process evdev keyboard events static void *EventThread(void *arg); // Input device events reading thread static void InitGamepad(void); // Initialize raw gamepad input -static void *GamepadThread(void *arg); // Mouse reading thread +static void PollGamepadEvents(void); // Gamepad reading function static int FindMatchingConnectorMode(const drmModeConnector *connector, const drmModeModeInfo *mode); // Search matching DRM mode in connector's mode list static int FindExactConnectorMode(const drmModeConnector *connector, uint width, uint height, uint fps, bool allowInterlaced); // Search exactly matching DRM connector mode in connector's list @@ -575,14 +574,7 @@ void PollInputEvents(void) } // Register gamepads buttons events - for (int i = 0; i < MAX_GAMEPADS; i++) - { - if (CORE.Input.Gamepad.ready[i]) - { - // Register previous gamepad states - for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; - } - } + PollGamepadEvents(); // Register previous touch states for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i]; @@ -598,9 +590,6 @@ void PollInputEvents(void) // stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console if (!platform.eventKeyboardMode) ProcessKeyboard(); - - // NOTE: Mouse input events polling is done asynchronously in another pthread - EventThread() - // NOTE: Gamepad (Joystick) input events polling is done asynchronously in another pthread - GamepadThread() #endif // Handle the mouse/touch/gestures events: @@ -1228,8 +1217,6 @@ void ClosePlatform(void) pthread_join(platform.eventWorker[i].threadId, NULL); } } - - if (platform.gamepadThreadId) pthread_join(platform.gamepadThreadId, NULL); } // Initialize Keyboard system (using standard input) @@ -1943,14 +1930,8 @@ static void InitGamepad(void) { CORE.Input.Gamepad.ready[i] = true; - // NOTE: Only create one thread - if (i == 0) - { - int error = pthread_create(&platform.gamepadThreadId, NULL, &GamepadThread, NULL); - - if (error != 0) TRACELOG(LOG_WARNING, "RPI: Failed to create gamepad input event thread"); - else TRACELOG(LOG_INFO, "RPI: Gamepad device initialized successfully"); - } + // NOTE: Only show message for first gamepad + if (i == 0) TRACELOG(LOG_INFO, "RPI: Gamepad device initialized successfully"); ioctl(platform.gamepadStreamFd[i], JSIOCGNAME(64), &CORE.Input.Gamepad.name[i]); ioctl(platform.gamepadStreamFd[i], JSIOCGAXES, &CORE.Input.Gamepad.axisCount[i]); @@ -1959,7 +1940,7 @@ static void InitGamepad(void) } // Process Gamepad (/dev/input/js0) -static void *GamepadThread(void *arg) +static void PollGamepadEvents(void) { #define JS_EVENT_BUTTON 0x01 // Button pressed/released #define JS_EVENT_AXIS 0x02 // Joystick axis moved @@ -1975,18 +1956,21 @@ static void *GamepadThread(void *arg) // Read gamepad event struct js_event gamepadEvent = { 0 }; - while (!CORE.Window.shouldClose) + for (int i = 0; i < MAX_GAMEPADS; i++) { - for (int i = 0; i < MAX_GAMEPADS; i++) + if (CORE.Input.Gamepad.ready[i]) { - if (read(platform.gamepadStreamFd[i], &gamepadEvent, sizeof(struct js_event)) == (int)sizeof(struct js_event)) + // Register previous gamepad states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; + + while (read(platform.gamepadStreamFd[i], &gamepadEvent, sizeof(struct js_event)) == (int)sizeof(struct js_event)) { gamepadEvent.type &= ~JS_EVENT_INIT; // Ignore synthetic events // Process gamepad events by type if (gamepadEvent.type == JS_EVENT_BUTTON) { - //TRACELOG(LOG_WARNING, "RPI: Gamepad button: %i, value: %i", gamepadEvent.number, gamepadEvent.value); + TRACELOG(LOG_DEBUG, "RPI: Gamepad %i button: %i, value: %i", i, gamepadEvent.number, gamepadEvent.value); if (gamepadEvent.number < MAX_GAMEPAD_BUTTONS) { @@ -1999,7 +1983,7 @@ static void *GamepadThread(void *arg) } else if (gamepadEvent.type == JS_EVENT_AXIS) { - //TRACELOG(LOG_WARNING, "RPI: Gamepad axis: %i, value: %i", gamepadEvent.number, gamepadEvent.value); + TRACELOG(LOG_DEBUG, "RPI: Gamepad %i axis: %i, value: %i", i, gamepadEvent.number, gamepadEvent.value); if (gamepadEvent.number < MAX_GAMEPAD_AXIS) { @@ -2008,11 +1992,8 @@ static void *GamepadThread(void *arg) } } } - else WaitTime(0.001); // Sleep for 1 ms to avoid hogging CPU time } } - - return NULL; } // Search matching DRM mode in connector's mode list From 3f776df94e774a550985b49900cc1bc16fb1d5de Mon Sep 17 00:00:00 2001 From: fubark Date: Tue, 19 Dec 2023 17:30:17 -0500 Subject: [PATCH 034/745] Update ray-cyber to 5.0 in BINDINGS.md (#3654) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index c66c12808..61ba1f17f 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -16,7 +16,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | claw-raylib | **auto** | [Common Lisp](https://common-lisp.net/) | Apache-2.0 | https://github.com/bohonghuang/claw-raylib | | chez-raylib | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib | | raylib-cr | **4.6-dev (5e1a81)** | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | -| ray-cyber | 4.5 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | +| ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | | raylib-c3 | **4.5** | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | | dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | | bindbc-raylib3 | **4.5** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | From e71153258b2f1b78b2d6de5578786f22582e523f Mon Sep 17 00:00:00 2001 From: Jett <30197659+JettMonstersGoBoom@users.noreply.github.com> Date: Tue, 19 Dec 2023 18:27:59 -0500 Subject: [PATCH 035/745] fix for deferred rendering example. (#3655) * fix for deferred rendering example. * missed defines to build. --- examples/shaders/shaders_deferred_render.c | 4 ++-- src/rlgl.h | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_render.c index 21d2af346..9df1b2496 100644 --- a/examples/shaders/shaders_deferred_render.c +++ b/examples/shaders/shaders_deferred_render.c @@ -254,8 +254,8 @@ int main(void) EndMode3D(); // As a last step, we now copy over the depth buffer from our g-buffer to the default framebuffer. - rlEnableFramebuffer(gBuffer.framebuffer); //glBindFramebuffer(GL_READ_FRAMEBUFFER, gBuffer.framebuffer); - rlEnableFramebuffer(0); //glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + rlBindFramebuffer(GL_READ_FRAMEBUFFER, gBuffer.framebuffer); + rlBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); rlBlitFramebuffer(0, 0, screenWidth, screenHeight, 0, 0, screenWidth, screenHeight, 0x00000100); // GL_DEPTH_BUFFER_BIT rlDisableFramebuffer(); diff --git a/src/rlgl.h b/src/rlgl.h index 4b3184986..b49185f15 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -320,6 +320,8 @@ #define RL_BLEND_SRC_ALPHA 0x80CB // GL_BLEND_SRC_ALPHA #define RL_BLEND_COLOR 0x8005 // GL_BLEND_COLOR +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -621,6 +623,7 @@ RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer +RLAPI void rlBindFramebuffer(unsigned int id,unsigned int val); // bind (FBO) // General render state RLAPI void rlEnableColorBlend(void); // Enable color blending @@ -631,6 +634,7 @@ RLAPI void rlEnableDepthMask(void); // Enable depth write RLAPI void rlDisableDepthMask(void); // Disable depth write RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling +RLAPI void rlColorMask(bool,bool,bool,bool); // color mask control RLAPI void rlSetCullFace(int mode); // Set face culling mode RLAPI void rlEnableScissorTest(void); // Enable scissor test RLAPI void rlDisableScissorTest(void); // Disable scissor test @@ -1737,6 +1741,14 @@ void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX #endif } +// bind framebuffer object +void rlBindFramebuffer(unsigned int id,unsigned int val) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT) + glBindFramebuffer(id, val); +#endif +} + // Activate multiple draw color buffers // NOTE: One color buffer is always active by default void rlActiveDrawBuffers(int count) @@ -1813,6 +1825,8 @@ void rlEnableBackfaceCulling(void) { glEnable(GL_CULL_FACE); } // Disable backface culling void rlDisableBackfaceCulling(void) { glDisable(GL_CULL_FACE); } +void rlColorMask(bool r,bool g,bool b,bool a) { glColorMask(r,g,b,a); } + // Set face culling mode void rlSetCullFace(int mode) { From 2fe68a8a121ec9bd864467b69c79a30a9b9eaf45 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 20 Dec 2023 00:51:51 +0100 Subject: [PATCH 036/745] REVIEWED PR deferred render --- examples/shaders/shaders_deferred_render.c | 4 ++-- src/rlgl.h | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_render.c index 9df1b2496..6ba71e4e8 100644 --- a/examples/shaders/shaders_deferred_render.c +++ b/examples/shaders/shaders_deferred_render.c @@ -254,8 +254,8 @@ int main(void) EndMode3D(); // As a last step, we now copy over the depth buffer from our g-buffer to the default framebuffer. - rlBindFramebuffer(GL_READ_FRAMEBUFFER, gBuffer.framebuffer); - rlBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + rlBindFramebuffer(RL_READ_FRAMEBUFFER, gBuffer.framebuffer); + rlBindFramebuffer(RL_DRAW_FRAMEBUFFER, 0); rlBlitFramebuffer(0, 0, screenWidth, screenHeight, 0, 0, screenWidth, screenHeight, 0x00000100); // GL_DEPTH_BUFFER_BIT rlDisableFramebuffer(); diff --git a/src/rlgl.h b/src/rlgl.h index b49185f15..f3bbcd337 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -320,8 +320,8 @@ #define RL_BLEND_SRC_ALPHA 0x80CB // GL_BLEND_SRC_ALPHA #define RL_BLEND_COLOR 0x8005 // GL_BLEND_COLOR -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define RL_READ_FRAMEBUFFER 0x8CA8 // GL_READ_FRAMEBUFFER +#define RL_DRAW_FRAMEBUFFER 0x8CA9 // GL_DRAW_FRAMEBUFFER //---------------------------------------------------------------------------------- // Types and Structures Definition @@ -623,7 +623,7 @@ RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer -RLAPI void rlBindFramebuffer(unsigned int id,unsigned int val); // bind (FBO) +RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO) // General render state RLAPI void rlEnableColorBlend(void); // Enable color blending @@ -634,7 +634,7 @@ RLAPI void rlEnableDepthMask(void); // Enable depth write RLAPI void rlDisableDepthMask(void); // Disable depth write RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling -RLAPI void rlColorMask(bool,bool,bool,bool); // color mask control +RLAPI void rlColorMask(bool r, bool g, bool b, bool a); // Color mask control RLAPI void rlSetCullFace(int mode); // Set face culling mode RLAPI void rlEnableScissorTest(void); // Enable scissor test RLAPI void rlDisableScissorTest(void); // Disable scissor test @@ -1741,11 +1741,11 @@ void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX #endif } -// bind framebuffer object -void rlBindFramebuffer(unsigned int id,unsigned int val) +// Bind framebuffer object (fbo) +void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); { #if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT) - glBindFramebuffer(id, val); + glBindFramebuffer(target, framebuffer); #endif } @@ -1825,7 +1825,8 @@ void rlEnableBackfaceCulling(void) { glEnable(GL_CULL_FACE); } // Disable backface culling void rlDisableBackfaceCulling(void) { glDisable(GL_CULL_FACE); } -void rlColorMask(bool r,bool g,bool b,bool a) { glColorMask(r,g,b,a); } +// Set color mask active for screen read/draw +void rlColorMask(bool r, bool g, bool b, bool a) { glColorMask(r, g, b, a); } // Set face culling mode void rlSetCullFace(int mode) From 68b6c79c3f4cea31f9b9baf9940a232b6f3372b5 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 20 Dec 2023 01:03:52 +0100 Subject: [PATCH 037/745] Update rlgl.h --- src/rlgl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index f3bbcd337..eb7320a66 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -1742,7 +1742,7 @@ void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX } // Bind framebuffer object (fbo) -void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); +void rlBindFramebuffer(unsigned int target, unsigned int framebuffer) { #if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(RLGL_RENDER_TEXTURES_HINT) glBindFramebuffer(target, framebuffer); From fbecab32e720e68cba78e040f7a13cf61c8dea6a Mon Sep 17 00:00:00 2001 From: glowiak <52356948+glowiak@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:31:34 +0100 Subject: [PATCH 038/745] Add new COBOL binding (#3661) --- BINDINGS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/BINDINGS.md b/BINDINGS.md index 61ba1f17f..c9b93bd84 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -85,6 +85,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-raku | **auto** | [Raku](https://www.raku.org/) | Artistic License 2.0 | https://github.com/vushu/raylib-raku | | Raylib.lean | 4.5 | [Lean4](https://lean-lang.org/) | BSD-3-Clause | https://github.com/KislyjKisel/Raylib.lean | | Raylib-CSharp-Vinculum | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/ZeroElectric/Raylib-CSharp-Vinculum | +| raylib-cobol | **auto** | [COBOL](https://gnucobol.sourceforge.io) | Public domain | https://codeberg.org/glowiak/raylib-cobol | ### Utility Wrapers These are utility wrappers for specific languages, they are not required to use raylib in the language but may adapt the raylib API to be more inline with the language's pardigm. From 4805dddc1888a4b5fc70e419c508ce084a7ba5b7 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 21 Dec 2023 21:32:00 +0100 Subject: [PATCH 039/745] Update shaders_deferred_render.c --- examples/shaders/shaders_deferred_render.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_render.c index 6ba71e4e8..b5e2e46d7 100644 --- a/examples/shaders/shaders_deferred_render.c +++ b/examples/shaders/shaders_deferred_render.c @@ -33,6 +33,7 @@ #define MAX_CUBES 30 +// GBuffer data typedef struct GBuffer { unsigned int framebuffer; @@ -43,6 +44,7 @@ typedef struct GBuffer { unsigned int depthRenderbuffer; } GBuffer; +// Deferred mode passes typedef enum { DEFERRED_POSITION, DEFERRED_NORMAL, @@ -270,9 +272,9 @@ int main(void) } rlDisableShader(); EndMode3D(); + DrawText("FINAL RESULT", 10, screenHeight - 30, 20, DARKGREEN); } break; - case DEFERRED_POSITION: { DrawTextureRec((Texture2D){ @@ -280,9 +282,9 @@ int main(void) .width = screenWidth, .height = screenHeight, }, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); + DrawText("POSITION TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); } break; - case DEFERRED_NORMAL: { DrawTextureRec((Texture2D){ @@ -290,9 +292,9 @@ int main(void) .width = screenWidth, .height = screenHeight, }, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); + DrawText("NORMAL TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); } break; - case DEFERRED_ALBEDO: { DrawTextureRec((Texture2D){ @@ -300,8 +302,10 @@ int main(void) .width = screenWidth, .height = screenHeight, }, (Rectangle) { 0, 0, screenWidth, -screenHeight }, Vector2Zero(), RAYWHITE); + DrawText("ALBEDO TEXTURE", 10, screenHeight - 30, 20, DARKGREEN); } break; + default: break; } DrawText("Toggle lights keys: [Y][R][G][B]", 10, 40, 20, DARKGRAY); @@ -318,7 +322,7 @@ int main(void) UnloadModel(model); // Unload the models UnloadModel(cube); - UnloadShader(deferredShader); // Unload shaders + UnloadShader(deferredShader); // Unload shaders UnloadShader(gbufferShader); // Unload geometry buffer and all attached textures @@ -333,4 +337,3 @@ int main(void) return 0; } - From bb18018f292d3332af2c0b426e26f250893c89ad Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 21 Dec 2023 21:32:53 +0100 Subject: [PATCH 040/745] REVIEWED: `shaders_basic_pbr`, added more comments --- examples/shaders/shaders_basic_pbr.c | 253 ++++++++++++++----------- examples/shaders/shaders_basic_pbr.png | Bin 0 -> 495504 bytes 2 files changed, 147 insertions(+), 106 deletions(-) create mode 100644 examples/shaders/shaders_basic_pbr.png diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c index 11e423d6b..685181d75 100644 --- a/examples/shaders/shaders_basic_pbr.c +++ b/examples/shaders/shaders_basic_pbr.c @@ -1,35 +1,43 @@ /******************************************************************************************* * -* raylib [core] example - Model Defuse Normal Shader (adapted for HTML5 platform) +* raylib [shaders] example - Basic PBR * -* This example is prepared to compile for PLATFORM_WEB and PLATFORM_DESKTOP -* As you will notice, code structure is slightly different to the other examples... -* To compile it for PLATFORM_WEB just uncomment #define PLATFORM_WEB at beginning +* Example originally created with raylib 5.0, last time updated with raylib 5.1-dev * -* This example has been created using raylib 5.0 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* Example contributed by Afan OLOVCIC (@_DevDad) and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2023-2024 Afan OLOVCIC (@_DevDad) +* +* Model: "Old Rusty Car" (https://skfb.ly/LxRy) by Renafox, +* licensed under Creative Commons Attribution-NonCommercial +* (http://creativecommons.org/licenses/by-nc/4.0/) * -* Copyright (c) 2023-2024 Afan OLOVCIC (@_DevDad) 2015 Ramon Santamaria (@raysan5) -* Model: "Old Rusty Car" (https://skfb.ly/LxRy) by Renafox is licensed under Creative Commons Attribution-NonCommercial (http://creativecommons.org/licenses/by-nc/4.0/). ********************************************************************************************/ #include "raylib.h" #if defined(PLATFORM_WEB) -#include + #include #endif #if defined(PLATFORM_DESKTOP) -#define GLSL_VERSION 330 + #define GLSL_VERSION 330 #else // PLATFORM_ANDROID, PLATFORM_WEB -#define GLSL_VERSION 120 + #define GLSL_VERSION 120 #endif #include // Required for: NULL #define MAX_LIGHTS 4 // Max dynamic lights supported by shader -int lightsCount; // Current number of dynamic lights that have been created +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- + +// Light data typedef struct { int enabled; int type; @@ -44,20 +52,29 @@ typedef struct { int targetLoc; int colorLoc; int intensityLoc; -} PBRLight; +} Light; +// Light type typedef enum { LIGHT_DIRECTIONAL = 0, LIGHT_POINT, LIGHT_SPOT -} PBRLightType; +} LightType; +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +static int lightCount = 0; // Current number of dynamic lights that have been created + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- // Create a light and get shader locations -PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader); +static Light CreateLight(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader); -// Send light properties to shader +// Update light properties on shader // NOTE: Light shader locations should be available -void PBRLightUpdate(Shader shader, PBRLight light); +static void UpdateLight(Shader shader, Light light); //---------------------------------------------------------------------------------- // Main Entry Point @@ -80,59 +97,73 @@ int main() camera.fovy = 45.0f; // Camera field-of-view Y camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - - Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/pbr.vs",GLSL_VERSION), - TextFormat("resources/shaders/glsl%i/pbr.fs",GLSL_VERSION)); + // Load PBR shader and setup all required locations + Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/pbr.vs", GLSL_VERSION), + TextFormat("resources/shaders/glsl%i/pbr.fs", GLSL_VERSION)); shader.locs[SHADER_LOC_MAP_ALBEDO] = GetShaderLocation(shader, "albedoMap"); - // In reality, metalness, roughness, and ambient occlusion are all packed into the MRA texture - // We'll pass it in as the metalness map + // WARNING: Metalness, roughness, and ambient occlusion are all packed into a MRA texture + // They are passed as to the SHADER_LOC_MAP_METALNESS location for convenience, + // shader already takes care of it accordingly shader.locs[SHADER_LOC_MAP_METALNESS] = GetShaderLocation(shader, "mraMap"); shader.locs[SHADER_LOC_MAP_NORMAL] = GetShaderLocation(shader, "normalMap"); - // Similarly to the MRA map, the emissive map packs different information into a single texture - // This map stores both height and emission in reality + // WARNING: Similar to the MRA map, the emissive map packs different information + // into a single texture: it stores height and emission data + // It is binded to SHADER_LOC_MAP_EMISSION location an properly processed on shader shader.locs[SHADER_LOC_MAP_EMISSION] = GetShaderLocation(shader, "emissiveMap"); shader.locs[SHADER_LOC_COLOR_DIFFUSE] = GetShaderLocation(shader, "albedoColor"); + // Setup additional required shader locations, including lights data shader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shader, "viewPos"); - int numOfLightsLoc = GetShaderLocation(shader, "numOfLights"); - int numOfLights = 4; - SetShaderValue(shader, numOfLightsLoc, &numOfLights, SHADER_UNIFORM_INT); + int lightCountLoc = GetShaderLocation(shader, "numOfLights"); + int maxLightCount = MAX_LIGHTS; + SetShaderValue(shader, lightCountLoc, &maxLightCount, SHADER_UNIFORM_INT); - Color ambCol = (Color){ 26,32,135,255 }; - Vector3 ambColNormalized = (Vector3){ ambCol.r / 255.0f, ambCol.g / 255.0f, ambCol.b / 255.0f }; - float ambIntens = 0.02; + // Setup ambient color and intensity parameters + Color ambientColor = (Color){ 26, 32, 135, 255 }; + Vector3 ambientColorNormalized = (Vector3){ ambientColor.r/255.0f, ambientColor.g/255.0f, ambientColor.b/255.0f }; + float ambientIntensity = 0.02; int albedoLoc = GetShaderLocation(shader, "albedo"); - int ambColLoc = GetShaderLocation(shader, "ambientColor"); - int ambLoc = GetShaderLocation(shader, "ambient"); - SetShaderValue(shader, ambColLoc, &ambColNormalized, SHADER_UNIFORM_VEC3); - SetShaderValue(shader, ambLoc, &ambIntens, SHADER_UNIFORM_FLOAT); + int ambientColorLoc = GetShaderLocation(shader, "ambientColor"); + int ambientLoc = GetShaderLocation(shader, "ambient"); + SetShaderValue(shader, ambientColorLoc, &ambientColorNormalized, SHADER_UNIFORM_VEC3); + SetShaderValue(shader, ambientLoc, &ambientIntensity, SHADER_UNIFORM_FLOAT); int emissiveIntensityLoc = GetShaderLocation(shader, "emissivePower"); int emissiveColorLoc = GetShaderLocation(shader, "emissiveColor"); int textureTilingLoc = GetShaderLocation(shader, "tiling"); - Model model = LoadModel("resources/models/old_car_new.glb"); - // If the OBJ file format is used, we will have to generate tangents manually: - // GenMeshTangents(&model.meshes[0]); + // Load old car model using PBR maps and shader + // WARNING: We know this model consists of a single model.meshes[0] and + // that model.materials[0] is by default assigned to that mesh + // There could be more complex models consisting of multiple meshes and + // multiple materials defined for those meshes... but always 1 mesh = 1 material + Model car = LoadModel("resources/models/old_car_new.glb"); - model.materials[0].shader = shader; + // Assign already setup PBR shader to model.materials[0], used by models.meshes[0] + car.materials[0].shader = shader; - model.materials[0].maps[MATERIAL_MAP_ALBEDO].color = WHITE; - model.materials[0].maps[MATERIAL_MAP_METALNESS].value = 0.0f; - model.materials[0].maps[MATERIAL_MAP_ROUGHNESS].value = 0.0f; - model.materials[0].maps[MATERIAL_MAP_OCCLUSION].value = 1.0f; - model.materials[0].maps[MATERIAL_MAP_EMISSION].color = (Color){ 255, 162, 0, 255 }; + // Setup materials[0].maps default parameters + car.materials[0].maps[MATERIAL_MAP_ALBEDO].color = WHITE; + car.materials[0].maps[MATERIAL_MAP_METALNESS].value = 0.0f; + car.materials[0].maps[MATERIAL_MAP_ROUGHNESS].value = 0.0f; + car.materials[0].maps[MATERIAL_MAP_OCCLUSION].value = 1.0f; + car.materials[0].maps[MATERIAL_MAP_EMISSION].color = (Color){ 255, 162, 0, 255 }; - model.materials[0].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture("resources/old_car_d.png"); - model.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/old_car_mra.png"); - model.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/old_car_n.png"); - model.materials[0].maps[MATERIAL_MAP_EMISSION].texture = LoadTexture("resources/old_car_e.png"); - // We store tiling parameters in the generic parameter slots in the Material class - Vector2 modelTiling = (Vector2){ 0.5f, 0.5f }; + // Setup materials[0].maps default textures + car.materials[0].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture("resources/old_car_d.png"); + car.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/old_car_mra.png"); + car.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/old_car_n.png"); + car.materials[0].maps[MATERIAL_MAP_EMISSION].texture = LoadTexture("resources/old_car_e.png"); + + // Old car model texture tiling parameter can be stored in the Material struct if required (CURRENTLY NOT USED) + // NOTE: Material.params[4] are available for generic parameters storage (float) + Vector2 carTextureTiling = (Vector2){ 0.5f, 0.5f }; + // Load floor model mesh and assign material parameters Model floor = LoadModel("resources/models/plane.glb"); + // Assign material shader for our floor model, same PBR shader floor.materials[0].shader = shader; floor.materials[0].maps[MATERIAL_MAP_ALBEDO].color = WHITE; @@ -145,25 +176,27 @@ int main() floor.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/road_mra.png"); floor.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/road_n.png"); - Vector2 floorTiling = (Vector2){ 0.5f, 0.5f }; + // Floor texture tiling parameter + Vector2 floorTextureTiling = (Vector2){ 0.5f, 0.5f }; - // Create lights - PBRLight lights[MAX_LIGHTS] = { 0 }; - lights[0] = PBRLightCreate(LIGHT_POINT, (Vector3){ -1, 1, -2 }, (Vector3){0,0,0}, YELLOW,4, shader); - lights[1] = PBRLightCreate(LIGHT_POINT, (Vector3){ 2, 1, 1 }, (Vector3){0,0,0}, GREEN,3.3, shader); - lights[2] = PBRLightCreate(LIGHT_POINT, (Vector3){ -2, 1, 1 }, (Vector3){0,0,0}, RED,8.3, shader); - lights[3] = PBRLightCreate(LIGHT_POINT, (Vector3){ 1, 1, -2 }, (Vector3){0,0,0}, BLUE,2, shader); + // Create some lights + Light lights[MAX_LIGHTS] = { 0 }; + lights[0] = CreateLight(LIGHT_POINT, (Vector3){ -1, 1, -2 }, (Vector3){0,0,0}, YELLOW,4, shader); + lights[1] = CreateLight(LIGHT_POINT, (Vector3){ 2, 1, 1 }, (Vector3){0,0,0}, GREEN,3.3, shader); + lights[2] = CreateLight(LIGHT_POINT, (Vector3){ -2, 1, 1 }, (Vector3){0,0,0}, RED,8.3, shader); + lights[3] = CreateLight(LIGHT_POINT, (Vector3){ 1, 1, -2 }, (Vector3){0,0,0}, BLUE,2, shader); - // The textures are always used - int one = 1; - SetShaderValue(shader, GetShaderLocation(shader, "useTexAlbedo"), &one, SHADER_UNIFORM_INT); - SetShaderValue(shader, GetShaderLocation(shader, "useTexNormal"), &one, SHADER_UNIFORM_INT); - SetShaderValue(shader, GetShaderLocation(shader, "useTexMRA"), &one, SHADER_UNIFORM_INT); - SetShaderValue(shader, GetShaderLocation(shader, "useTexEmissive"), &one, SHADER_UNIFORM_INT); + // Setup material texture maps usage in shader + // NOTE: By default, the texture maps are always used + int usage = 1; + SetShaderValue(shader, GetShaderLocation(shader, "useTexAlbedo"), &usage, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexNormal"), &usage, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexMRA"), &usage, SHADER_UNIFORM_INT); + SetShaderValue(shader, GetShaderLocation(shader, "useTexEmissive"), &usage, SHADER_UNIFORM_INT); + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //--------------------------------------------------------------------------------------- - SetTargetFPS(60); // Set our game to run at 60 frames-per-second------------------------------------------------------------- - - int emissiveCnt = 0; // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { @@ -181,8 +214,8 @@ int main() if (IsKeyPressed(KEY_R)) { lights[2].enabled = !lights[2].enabled; } if (IsKeyPressed(KEY_B)) { lights[3].enabled = !lights[3].enabled; } - // Update light values (actually, only enable/disable them) - for (int i = 0; i < MAX_LIGHTS; i++) PBRLightUpdate(shader, lights[i]); + // Update light values on shader (actually, only enable/disable them) + for (int i = 0; i < MAX_LIGHTS; i++) UpdateLight(shader, lights[i]); //---------------------------------------------------------------------------------- // Draw @@ -193,53 +226,58 @@ int main() BeginMode3D(camera); - SetShaderValue(shader, textureTilingLoc, &floorTiling, SHADER_UNIFORM_VEC2); - Vector4 floorEmission = ColorNormalize(floor.materials[0].maps[MATERIAL_MAP_EMISSION].color); - SetShaderValue(shader, emissiveColorLoc, &floorEmission, SHADER_UNIFORM_VEC4); - DrawModel(floor, (Vector3){0,0,0}, 5.0f, WHITE); + // Set floor model texture tiling and emissive color parameters on shader + SetShaderValue(shader, textureTilingLoc, &floorTextureTiling, SHADER_UNIFORM_VEC2); + Vector4 floorEmissiveColor = ColorNormalize(floor.materials[0].maps[MATERIAL_MAP_EMISSION].color); + SetShaderValue(shader, emissiveColorLoc, &floorEmissiveColor, SHADER_UNIFORM_VEC4); + + DrawModel(floor, (Vector3){ 0.0f, 0.0f, 0.0f }, 5.0f, WHITE); // Draw floor model - emissiveCnt--; - if (emissiveCnt <= 0) - { - emissiveCnt = GetRandomValue(0, 20); - float intensity = (float)GetRandomValue(0, 100) / 100; - SetShaderValue(shader, emissiveIntensityLoc, &intensity, SHADER_UNIFORM_FLOAT); - } - SetShaderValue(shader, textureTilingLoc, &modelTiling, SHADER_UNIFORM_VEC2); - Vector4 modelEmission = ColorNormalize(model.materials[0].maps[MATERIAL_MAP_EMISSION].color); - SetShaderValue(shader, emissiveColorLoc, &modelEmission, SHADER_UNIFORM_VEC4); - DrawModel(model, (Vector3) {0, 0.0, 0}, 0.005, WHITE); + // Set old car model texture tiling, emissive color and emissive intensity parameters on shader + SetShaderValue(shader, textureTilingLoc, &carTextureTiling, SHADER_UNIFORM_VEC2); + Vector4 carEmissiveColor = ColorNormalize(car.materials[0].maps[MATERIAL_MAP_EMISSION].color); + SetShaderValue(shader, emissiveColorLoc, &carEmissiveColor, SHADER_UNIFORM_VEC4); + float emissiveIntensity = 0.01f; + SetShaderValue(shader, emissiveIntensityLoc, &emissiveIntensity, SHADER_UNIFORM_FLOAT); + + DrawModel(car, (Vector3){ 0.0f, 0.0f, 0.0f }, 0.005f, WHITE); // Draw car model - // Draw spheres to show where the lights are + // Draw spheres to show the lights positions for (int i = 0; i < MAX_LIGHTS; i++) { - Color col = (Color) {lights[i].color[0] * 255, lights[i].color[1] * 255, lights[i].color[2] * 255, - lights[i].color[3] * 255}; - if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, col); - else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(col, 0.3f)); + Color lightColor = (Color){ lights[i].color[0]*255, lights[i].color[1]*255, lights[i].color[2]*255, lights[i].color[3]*255 }; + + if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, lightColor); + else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(lightColor, 0.3f)); } EndMode3D(); + + DrawText("Toggle lights: [Y][R][G][B]", 10, 40, 20, LIGHTGRAY); DrawText("(c) Old Rusty Car model by Renafox (https://skfb.ly/LxRy)", screenWidth - 320, screenHeight - 20, 10, LIGHTGRAY); + DrawFPS(10, 10); EndDrawing(); //---------------------------------------------------------------------------------- } - //-------------------------------------------------------------------------------------- // De-Initialization //-------------------------------------------------------------------------------------- - model.materials[0].shader = (Shader){ 0 }; + // Unbind (disconnect) shader from car.material[0] + // to avoid UnloadMaterial() trying to unload it automatically + car.materials[0].shader = (Shader){ 0 }; + UnloadMaterial(car.materials[0]); + car.materials[0].maps = NULL; + UnloadModel(car); + floor.materials[0].shader = (Shader){ 0 }; - UnloadMaterial(model.materials[0]); UnloadMaterial(floor.materials[0]); - model.materials[0].maps = NULL; floor.materials[0].maps = NULL; - UnloadModel(floor); // Unload model - UnloadModel(model); // Unload model - UnloadShader(shader); // Unload Shader + UnloadModel(floor); + + UnloadShader(shader); // Unload Shader CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- @@ -247,11 +285,13 @@ int main() return 0; } -PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader) +// Create light with provided data +// NOTE: It updated the global lightCount and it's limited to MAX_LIGHTS +static Light CreateLight(int type, Vector3 position, Vector3 target, Color color, float intensity, Shader shader) { - PBRLight light = { 0 }; + Light light = { 0 }; - if (lightsCount < MAX_LIGHTS) + if (lightCount < MAX_LIGHTS) { light.enabled = 1; light.type = type; @@ -263,15 +303,15 @@ PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, light.color[3] = (float)color.a / (float)255; light.intensity = intensity; // NOTE: Lighting shader naming must be the provided ones - light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightsCount)); - light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightsCount)); - light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightsCount)); - light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightsCount)); - light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightsCount)); - light.intensityLoc = GetShaderLocation(shader, TextFormat("lights[%i].intensity", lightsCount)); - PBRLightUpdate(shader, light); + light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightCount)); + light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightCount)); + light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightCount)); + light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightCount)); + light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightCount)); + light.intensityLoc = GetShaderLocation(shader, TextFormat("lights[%i].intensity", lightCount)); + UpdateLight(shader, light); - lightsCount++; + lightCount++; } return light; @@ -279,10 +319,11 @@ PBRLight PBRLightCreate(int type, Vector3 position, Vector3 target, Color color, // Send light properties to shader // NOTE: Light shader locations should be available -void PBRLightUpdate(Shader shader, PBRLight light) +static void UpdateLight(Shader shader, Light light) { SetShaderValue(shader, light.enabledLoc, &light.enabled, SHADER_UNIFORM_INT); SetShaderValue(shader, light.typeLoc, &light.type, SHADER_UNIFORM_INT); + // Send to shader light position values float position[3] = { light.position.x, light.position.y, light.position.z }; SetShaderValue(shader, light.positionLoc, position, SHADER_UNIFORM_VEC3); diff --git a/examples/shaders/shaders_basic_pbr.png b/examples/shaders/shaders_basic_pbr.png new file mode 100644 index 0000000000000000000000000000000000000000..1150ebffafcdece6732250ef0d0696262538ba24 GIT binary patch literal 495504 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

PNBmlCo-O7~bQqT6u>;lJy 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%0AF^>jAOj&~x zzs4zEAN}|RKjpR*{*cW$#_}T6a=}l3i-x=54?N@R?U+7W8dNs%y>EE)J}G4a+u0N* z>(&Qs{1^BFZnEEQX5S=K68QMF{)EZh`x@A}72M}F^GOLXwkf_~S-kv!t=59YlSLc7 zL*_9ouXmgt{g2Iz3{sr6+&$cJj&2u(s@m=!*rLUBCi>2SBc=akQ{r2>K5R196H_~} z>(~GP51HE+*s$I@&%EligY3cj{|VKz9eQKf+O{8H6I*eP@$5WrMrO_{FPYY!7H8~Z zy3c-2U?1bOVyOdypVJTU-d*6geU*jvVbcd2S1gELvbEv&wsnl=F3oHqR~oY3Fx%|Ik=r#rO zCmwhB511%%%Isx(`gyrS_0vXmuf{(g1#UbD6MDihf5%sz3Wqig1O7d%)5I4%y}qDt znofZ{gMEdiH1m?peDn7vHJmy2xBVO+<6GvZSFRuM`{19kmw%QbgYMzrX)Qb~ciGon z6=&3I|HqQUW6w4%u;CNItxh~5wgVeOmN zY_)NL_0GEDf2j<-agBaue>m^F{w5spqT!WiV1mSchA@`<4PO=2FWA~I$mMl=pr%@v zc0xzs#{rgzbqrmG&f)eA-}3gf>9sy!pT<~o!F1#K`!(qT!mU%TD;?N{&LW5~OPX5JeY{y^oWjUu-`=qUf-Mqk`gWW{Oaqf)g7xpHeIp8SK$3Ni%+uZ(7(p4|N zuqRB_VcEsTm?6NwL-?EgqnZm3*tC!MxG^%G{NJ(6$U|-k$4b$E^1E7E7;o)wn8B!* za=={KdFugYF_~Q*MUu1H7F@m{P&nb`hNWQ(s^&6kJCq)d&uHX-m*L<(=ilKu+@;bL zVU3-P_d43GrZV2*Yro@ghT+|F!-lGm2m5ZnOgX@uFzLUdvXH{m2W_m% zhwA@J8XRUQnrz}Shx67;hK~xTr4@MVZ*cIgC}4h?ulAxt(n6krm$h_?W2MxVFYGZ4 zO=+eJ0@?Vo)iRd9wBK@`!z=zm@1q5LSL|Q7*%kClT#07LV!EIIQGAkx;6P6 zRL*@6$KJv_ua&`c(oBUsHqn>`ss;;6&n!rFS#VSI!^NXL6K*nJ5Yh-({*rye0T$oq zO}8=^@SH!#Iddyxt{HppmV;@Q4*!^DG8*wGiKXPTSJbmz*lWK~R;%I`WAB{Cw9>}j zlm8d68BaLNY9eiv{8fI>ydUS~PfW31aggQJfd;LL3oo@7ERH%@p2TpL#Wb<(Z8{`zYa#Pa;gElgI~Me?e=^TVkuXU*!

o^6|w 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%0A` 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⋙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 VZ{t$^fPsO5!PC{xWt~$(69B4i9#sGU literal 0 HcmV?d00001 From a06f3d0e34fbba8fd4a49bb53ea1bdf7e3d2a011 Mon Sep 17 00:00:00 2001 From: o3o Date: Fri, 22 Dec 2023 17:40:57 +0100 Subject: [PATCH 041/745] Update BINDINGS.md (#3662) Udated version of `bindbd-raylib3` to 5.0.0 (bind to raylib 5.0.0) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index c9b93bd84..b7cddf238 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -19,7 +19,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | | raylib-c3 | **4.5** | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | | dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | -| bindbc-raylib3 | **4.5** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | +| bindbc-raylib3 | **5.0** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | | dray | 4.2 | [D](https://dlang.org/) | Apache-2.0 | https://github.com/redthing1/dray | | raylib-d | **5.0** | [D](https://dlang.org/) | Zlib | https://github.com/schveiguy/raylib-d | | dlang_raylib | 4.0 | [D](https://dlang.org) | MPL-2.0 |https://github.com/rc-05/dlang_raylib | From f914020d45f6e44b2de4e6ba6af8e5b60fe42731 Mon Sep 17 00:00:00 2001 From: Tim Romero Date: Sat, 23 Dec 2023 02:22:16 -0800 Subject: [PATCH 042/745] VSCode sample project Mac fixup (#3666) Change vscode config and makefile to add a missing IOKit framework reference and use whichever MacOSX sdk symlink is available --- projects/VSCode/.vscode/c_cpp_properties.json | 2 +- projects/VSCode/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/VSCode/.vscode/c_cpp_properties.json b/projects/VSCode/.vscode/c_cpp_properties.json index cbdb51941..dd0a2932e 100644 --- a/projects/VSCode/.vscode/c_cpp_properties.json +++ b/projects/VSCode/.vscode/c_cpp_properties.json @@ -32,7 +32,7 @@ "PLATFORM_DESKTOP" ], "macFrameworkPath": [ - "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks" + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" ], "compilerPath": "/usr/bin/clang", "cStandard": "c11", diff --git a/projects/VSCode/Makefile b/projects/VSCode/Makefile index a2a26f092..25e00c0b4 100644 --- a/projects/VSCode/Makefile +++ b/projects/VSCode/Makefile @@ -319,7 +319,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),OSX) # Libraries for OSX 10.9 desktop compiling # NOTE: Required packages: libopenal-dev libegl1-mesa-dev - LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa + LDLIBS = -lraylib -framework OpenGL -framework OpenAL -framework Cocoa -framework IOKit endif ifeq ($(PLATFORM_OS),BSD) # Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling From 1792bce2924d2cfed9f63aa855dc56be449334f2 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 23 Dec 2023 11:26:23 +0100 Subject: [PATCH 043/745] REVIEWED: `LoadTextureCubemap()`, added `mipmaps` #3665 --- src/rtextures.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rtextures.c b/src/rtextures.c index d42304c7d..c53d30aa6 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3778,7 +3778,9 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) if ((image.height/6) == image.width) { layout = CUBEMAP_LAYOUT_LINE_VERTICAL; cubemap.width = image.height/6; } else if ((image.width/3) == (image.height/4)) { layout = CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR; cubemap.width = image.width/3; } } - } else { + } + else + { if (layout == CUBEMAP_LAYOUT_LINE_VERTICAL) cubemap.width = image.height/6; if (layout == CUBEMAP_LAYOUT_LINE_HORIZONTAL) cubemap.width = image.width/6; if (layout == CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR) cubemap.width = image.width/3; @@ -3795,6 +3797,7 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) Image faces = { 0 }; // Vertical column image Rectangle faceRecs[6] = { 0 }; // Face source rectangles + for (int i = 0; i < 6; i++) faceRecs[i] = (Rectangle){ 0, 0, (float)size, (float)size }; if (layout == CUBEMAP_LAYOUT_LINE_VERTICAL) @@ -3841,6 +3844,7 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) // one after the other (that's a vertical image), following convention: +X, -X, +Y, -Y, +Z, -Z cubemap.id = rlLoadTextureCubemap(faces.data, size, faces.format); if (cubemap.id == 0) TRACELOG(LOG_WARNING, "IMAGE: Failed to load cubemap image"); + else cubemap.mipmaps = 1; UnloadImage(faces); } From efe3510a9a2863afc48c50d38679c0d2ef1929d4 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 23 Dec 2023 12:04:19 +0100 Subject: [PATCH 044/745] REVIEWED: SDL text input to Unicode codepoints #3650 REVIEWED: GLFW naming conventions to reflect codepoints reading --- src/platforms/rcore_desktop.c | 10 +++++----- src/platforms/rcore_desktop_sdl.c | 12 ++++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 0dfcacd81..2bbb3f2bc 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -126,7 +126,7 @@ static void WindowDropCallback(GLFWwindow *window, int count, const char **paths // Input callbacks events static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); // GLFW3 Keyboard Callback, runs on key pressed -static void CharCallback(GLFWwindow *window, unsigned int key); // GLFW3 Char Key Callback, runs on key pressed (get char value) +static void CharCallback(GLFWwindow *window, unsigned int codepoint); // GLFW3 Char Callback, runs on key pressed (get codepoint value) static void MouseButtonCallback(GLFWwindow *window, int button, int action, int mods); // GLFW3 Mouse Button Callback, runs on mouse button pressed static void MouseCursorPosCallback(GLFWwindow *window, double x, double y); // GLFW3 Cursor Position Callback, runs on mouse move static void MouseScrollCallback(GLFWwindow *window, double xoffset, double yoffset); // GLFW3 Scrolling Callback, runs on mouse wheel @@ -1714,10 +1714,10 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i if ((key == CORE.Input.Keyboard.exitKey) && (action == GLFW_PRESS)) glfwSetWindowShouldClose(platform.handle, GLFW_TRUE); } -// GLFW3 Char Key Callback, runs on key down (gets equivalent unicode char value) -static void CharCallback(GLFWwindow *window, unsigned int key) +// GLFW3 Char Callback, get unicode codepoint value +static void CharCallback(GLFWwindow *window, unsigned int codepoint) { - //TRACELOG(LOG_DEBUG, "Char Callback: KEY:%i(%c)", key, key); + //TRACELOG(LOG_DEBUG, "Char Callback: Codepoint: %i", codepoint); // NOTE: Registers any key down considering OS keyboard layout but // does not detect action events, those should be managed by user... @@ -1728,7 +1728,7 @@ static void CharCallback(GLFWwindow *window, unsigned int key) if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { // Add character to the queue - CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = key; + CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = codepoint; CORE.Input.Keyboard.charPressedQueueCount++; } } diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index e1e6e4c9a..1e55cbac4 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1111,19 +1111,23 @@ void PollInputEvents(void) case SDL_TEXTINPUT: { + // NOTE: event.text.text data comes an UTF-8 text sequence but we register codepoints (int) + + int codepointSize = 0; + // Check if there is space available in the key queue if (CORE.Input.Keyboard.keyPressedQueueCount < MAX_KEY_PRESSED_QUEUE) { - // Add character to the queue - CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = event.text.text[0]; + // Add character (key) to the queue + CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = GetCodepointNext(event.text.text, &codepointSize); CORE.Input.Keyboard.keyPressedQueueCount++; } // Check if there is space available in the queue if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { - // Add character to the queue - CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = event.text.text[0]; + // Add character (codepoint) to the queue + CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = GetCodepointNext(event.text.text, &codepointSize); CORE.Input.Keyboard.charPressedQueueCount++; } } break; From 7ca95512d876c47864f066aa5e90151a48290892 Mon Sep 17 00:00:00 2001 From: Antonis Geralis <43617260+planetis-m@users.noreply.github.com> Date: Sat, 23 Dec 2023 13:14:39 +0200 Subject: [PATCH 045/745] Review UnloadAutomationEventList (#3658) * Review UnloadAutomationEventList * Update raylib.h * Update rcore.c * Update core_automation_events.c * Fix mistake --- examples/core/core_automation_events.c | 2 +- src/raylib.h | 2 +- src/rcore.c | 7 ++----- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/examples/core/core_automation_events.c b/examples/core/core_automation_events.c index b58d572bd..319b013ba 100644 --- a/examples/core/core_automation_events.c +++ b/examples/core/core_automation_events.c @@ -98,7 +98,7 @@ int main(void) // Supports loading .rgs style files (text or binary) and .png style palette images if (IsFileExtension(droppedFiles.paths[0], ".txt;.rae")) { - UnloadAutomationEventList(&aelist); + UnloadAutomationEventList(aelist); aelist = LoadAutomationEventList(droppedFiles.paths[0]); eventRecording = false; diff --git a/src/raylib.h b/src/raylib.h index 206b26573..2ab3f3041 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1138,7 +1138,7 @@ RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize // Automation events functionality RLAPI AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS -RLAPI void UnloadAutomationEventList(AutomationEventList *list); // Unload automation events list from file +RLAPI void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file RLAPI bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file RLAPI void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to RLAPI void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording diff --git a/src/rcore.c b/src/rcore.c index 8691be304..3ddf3596d 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2480,13 +2480,10 @@ AutomationEventList LoadAutomationEventList(const char *fileName) } // Unload automation events list from file -void UnloadAutomationEventList(AutomationEventList *list) +void UnloadAutomationEventList(AutomationEventList list) { #if defined(SUPPORT_AUTOMATION_EVENTS) - RL_FREE(list->events); - list->events = NULL; - list->count = 0; - list->capacity = 0; + RL_FREE(list.events); #endif } From 706f74bce056c13ba32729c88bb7b30ceb6df34b Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 23 Dec 2023 13:32:47 +0100 Subject: [PATCH 046/745] Update shaders_basic_pbr.c --- examples/shaders/shaders_basic_pbr.c | 68 ++++++++++++++-------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c index 685181d75..e630fbc4e 100644 --- a/examples/shaders/shaders_basic_pbr.c +++ b/examples/shaders/shaders_basic_pbr.c @@ -37,23 +37,6 @@ // Types and Structures Definition //---------------------------------------------------------------------------------- -// Light data -typedef struct { - int enabled; - int type; - Vector3 position; - Vector3 target; - float color[4]; - float intensity; - - int enabledLoc; - int typeLoc; - int positionLoc; - int targetLoc; - int colorLoc; - int intensityLoc; -} Light; - // Light type typedef enum { LIGHT_DIRECTIONAL = 0, @@ -61,6 +44,24 @@ typedef enum { LIGHT_SPOT } LightType; +// Light data +typedef struct { + int type; + int enabled; + Vector3 position; + Vector3 target; + float color[4]; + float intensity; + + // Shader light parameters locations + int typeLoc; + int enabledLoc; + int positionLoc; + int targetLoc; + int colorLoc; + int intensityLoc; +} Light; + //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -119,16 +120,13 @@ int main() SetShaderValue(shader, lightCountLoc, &maxLightCount, SHADER_UNIFORM_INT); // Setup ambient color and intensity parameters + float ambientIntensity = 0.02f; Color ambientColor = (Color){ 26, 32, 135, 255 }; Vector3 ambientColorNormalized = (Vector3){ ambientColor.r/255.0f, ambientColor.g/255.0f, ambientColor.b/255.0f }; - float ambientIntensity = 0.02; - - int albedoLoc = GetShaderLocation(shader, "albedo"); - int ambientColorLoc = GetShaderLocation(shader, "ambientColor"); - int ambientLoc = GetShaderLocation(shader, "ambient"); - SetShaderValue(shader, ambientColorLoc, &ambientColorNormalized, SHADER_UNIFORM_VEC3); - SetShaderValue(shader, ambientLoc, &ambientIntensity, SHADER_UNIFORM_FLOAT); + SetShaderValue(shader, GetShaderLocation(shader, "ambientColor"), &ambientColorNormalized, SHADER_UNIFORM_VEC3); + SetShaderValue(shader, GetShaderLocation(shader, "ambient"), &ambientIntensity, SHADER_UNIFORM_FLOAT); + // Get location for shader parameters that can be modified in real time int emissiveIntensityLoc = GetShaderLocation(shader, "emissivePower"); int emissiveColorLoc = GetShaderLocation(shader, "emissiveColor"); int textureTilingLoc = GetShaderLocation(shader, "tiling"); @@ -156,12 +154,12 @@ int main() car.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/old_car_n.png"); car.materials[0].maps[MATERIAL_MAP_EMISSION].texture = LoadTexture("resources/old_car_e.png"); - // Old car model texture tiling parameter can be stored in the Material struct if required (CURRENTLY NOT USED) - // NOTE: Material.params[4] are available for generic parameters storage (float) - Vector2 carTextureTiling = (Vector2){ 0.5f, 0.5f }; - // Load floor model mesh and assign material parameters + // NOTE: A basic plane shape can be generated instead of being loaded from a model file Model floor = LoadModel("resources/models/plane.glb"); + //Mesh floorMesh = GenMeshPlane(10, 10, 10, 10); + //GenMeshTangents(&floorMesh); // TODO: Review tangents generation + //Model floor = LoadModelFromMesh(floorMesh); // Assign material shader for our floor model, same PBR shader floor.materials[0].shader = shader; @@ -176,7 +174,9 @@ int main() floor.materials[0].maps[MATERIAL_MAP_METALNESS].texture = LoadTexture("resources/road_mra.png"); floor.materials[0].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture("resources/road_n.png"); - // Floor texture tiling parameter + // Models texture tiling parameter can be stored in the Material struct if required (CURRENTLY NOT USED) + // NOTE: Material.params[4] are available for generic parameters storage (float) + Vector2 carTextureTiling = (Vector2){ 0.5f, 0.5f }; Vector2 floorTextureTiling = (Vector2){ 0.5f, 0.5f }; // Create some lights @@ -209,10 +209,10 @@ int main() SetShaderValue(shader, shader.locs[SHADER_LOC_VECTOR_VIEW], cameraPos, SHADER_UNIFORM_VEC3); // Check key inputs to enable/disable lights - if (IsKeyPressed(KEY_Y)) { lights[0].enabled = !lights[0].enabled; } - if (IsKeyPressed(KEY_G)) { lights[1].enabled = !lights[1].enabled; } - if (IsKeyPressed(KEY_R)) { lights[2].enabled = !lights[2].enabled; } - if (IsKeyPressed(KEY_B)) { lights[3].enabled = !lights[3].enabled; } + if (IsKeyPressed(KEY_ONE)) { lights[2].enabled = !lights[2].enabled; } + if (IsKeyPressed(KEY_TWO)) { lights[1].enabled = !lights[1].enabled; } + if (IsKeyPressed(KEY_THREE)) { lights[3].enabled = !lights[3].enabled; } + if (IsKeyPressed(KEY_FOUR)) { lights[0].enabled = !lights[0].enabled; } // Update light values on shader (actually, only enable/disable them) for (int i = 0; i < MAX_LIGHTS; i++) UpdateLight(shader, lights[i]); @@ -253,7 +253,7 @@ int main() EndMode3D(); - DrawText("Toggle lights: [Y][R][G][B]", 10, 40, 20, LIGHTGRAY); + DrawText("Toggle lights: [1][2][3][4]", 10, 40, 20, LIGHTGRAY); DrawText("(c) Old Rusty Car model by Renafox (https://skfb.ly/LxRy)", screenWidth - 320, screenHeight - 20, 10, LIGHTGRAY); From e039a221a3cf45d115aa9d9489e7d7e03d92b91e Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 23 Dec 2023 14:07:45 +0100 Subject: [PATCH 047/745] Review formating --- .../shaders/resources/shaders/glsl330/pbr.fs | 163 +++++++++--------- .../shaders/resources/shaders/glsl330/pbr.vs | 13 +- src/rmodels.c | 4 +- src/rtextures.c | 2 +- 4 files changed, 92 insertions(+), 90 deletions(-) diff --git a/examples/shaders/resources/shaders/glsl330/pbr.fs b/examples/shaders/resources/shaders/glsl330/pbr.fs index 5375d4498..d7544d310 100644 --- a/examples/shaders/resources/shaders/glsl330/pbr.fs +++ b/examples/shaders/resources/shaders/glsl330/pbr.fs @@ -24,8 +24,8 @@ in mat3 TBN; // Output fragment color out vec4 finalColor; -// Input uniform values +// Input uniform values uniform int numOfLights; uniform sampler2D albedoMap; uniform sampler2D mraMap; @@ -55,105 +55,108 @@ uniform vec3 viewPos; uniform vec3 ambientColor; uniform float ambient; -// refl in range 0 to 1 -// returns base reflectivity to 1 -// incrase reflectivity when surface view at larger angle -vec3 schlickFresnel(float hDotV,vec3 refl) +// Reflectivity in range 0.0 to 1.0 +// NOTE: Reflectivity is increased when surface view at larger angle +vec3 SchlickFresnel(float hDotV,vec3 refl) { - return refl + (1.0 - refl) * pow(1.0 - hDotV,5.0); + return refl + (1.0 - refl)*pow(1.0 - hDotV, 5.0); } -float ggxDistribution(float nDotH,float roughness) +float GgxDistribution(float nDotH,float roughness) { - float a = roughness * roughness * roughness * roughness; - float d = nDotH * nDotH * (a - 1.0) + 1.0; - d = PI * d * d; - return a / max(d,0.0000001); + float a = roughness * roughness * roughness * roughness; + float d = nDotH * nDotH * (a - 1.0) + 1.0; + d = PI * d * d; + return a / max(d,0.0000001); } -float geomSmith(float nDotV,float nDotL,float roughness) +float GeomSmith(float nDotV,float nDotL,float roughness) { - float r = roughness + 1.0; - float k = r * r / 8.0; - float ik = 1.0 - k; - float ggx1 = nDotV / (nDotV * ik + k); - float ggx2 = nDotL / (nDotL * ik + k); - return ggx1 * ggx2; + float r = roughness + 1.0; + float k = r*r / 8.0; + float ik = 1.0 - k; + float ggx1 = nDotV/(nDotV*ik + k); + float ggx2 = nDotL/(nDotL*ik + k); + return ggx1*ggx2; } -vec3 pbr(){ - vec3 albedo = texture(albedoMap,vec2(fragTexCoord.x*tiling.x+offset.x,fragTexCoord.y*tiling.y+offset.y)).rgb; - albedo = vec3(albedoColor.x*albedo.x,albedoColor.y*albedo.y,albedoColor.z*albedo.z); - float metallic = clamp(metallicValue,0.0,1.0); - float roughness = clamp(roughnessValue,0.0,1.0); - float ao = clamp(aoValue,0.0,1.0); - if(useTexMRA == 1) { - vec4 mra = texture(mraMap, vec2(fragTexCoord.x * tiling.x + offset.x, fragTexCoord.y * tiling.y + offset.y)) * useTexMRA; - metallic = clamp(mra.r+metallicValue,0.04,1.0); - roughness = clamp(mra.g+roughnessValue,0.04,1.0); - ao = (mra.b+aoValue)*0.5; - } +vec3 ComputePBR() +{ + vec3 albedo = texture(albedoMap,vec2(fragTexCoord.x*tiling.x + offset.x, fragTexCoord.y*tiling.y + offset.y)).rgb; + albedo = vec3(albedoColor.x*albedo.x, albedoColor.y*albedo.y, albedoColor.z*albedo.z); + + float metallic = clamp(metallicValue, 0.0, 1.0); + float roughness = clamp(roughnessValue, 0.0, 1.0); + float ao = clamp(aoValue, 0.0, 1.0); + + if (useTexMRA == 1) + { + vec4 mra = texture(mraMap, vec2(fragTexCoord.x*tiling.x + offset.x, fragTexCoord.y*tiling.y + offset.y))*useTexMRA; + metallic = clamp(mra.r + metallicValue, 0.04, 1.0); + roughness = clamp(mra.g + roughnessValue, 0.04, 1.0); + ao = (mra.b + aoValue)*0.5; + } + vec3 N = normalize(fragNormal); + if (useTexNormal == 1) + { + N = texture(normalMap, vec2(fragTexCoord.x*tiling.x + offset.y, fragTexCoord.y*tiling.y + offset.y)).rgb; + N = normalize(N*2.0 - 1.0); + N = normalize(N*TBN); + } + vec3 V = normalize(viewPos - fragPosition); - vec3 N = normalize(fragNormal); - if(useTexNormal == 1) { - N = texture(normalMap, vec2(fragTexCoord.x * tiling.x + offset.y, fragTexCoord.y * tiling.y + offset.y)).rgb; - N = normalize(N * 2.0 - 1.0); - N = normalize(N * TBN); - } + vec3 emissive = vec3(0); + emissive = (texture(emissiveMap, vec2(fragTexCoord.x*tiling.x+offset.x, fragTexCoord.y*tiling.y+offset.y)).rgb).g * emissiveColor.rgb*emissivePower * useTexEmissive; - vec3 V = normalize(viewPos - fragPosition); + // return N;//vec3(metallic,metallic,metallic); + // if dia-electric use base reflectivity of 0.04 otherwise ut is a metal use albedo as base reflectivity + vec3 baseRefl = mix(vec3(0.04), albedo.rgb, metallic); + vec3 lightAccum = vec3(0.0); // Acumulate lighting lum - vec3 e = vec3(0); - e = (texture(emissiveMap, vec2(fragTexCoord.x*tiling.x+offset.x, fragTexCoord.y*tiling.y+offset.y)).rgb).g * emissiveColor.rgb*emissivePower * useTexEmissive; + for (int i = 0; i < numOfLights; i++) + { + vec3 L = normalize(lights[i].position - fragPosition); // Compute light vector + vec3 H = normalize(V + L); // Compute halfway bisecting vector + float dist = length(lights[i].position - fragPosition); // Compute distance to light + float attenuation = 1.0/(dist*dist*0.23); // Compute attenuation + vec3 radiance = lights[i].color.rgb*lights[i].intensity*attenuation; // Compute input radiance, light energy comming in + // Cook-Torrance BRDF distribution function + float nDotV = max(dot(N,V), 0.0000001); + float nDotL = max(dot(N,L), 0.0000001); + float hDotV = max(dot(H,V), 0.0); + float nDotH = max(dot(N,H), 0.0); + float D = GgxDistribution(nDotH, roughness); // Larger the more micro-facets aligned to H + float G = GeomSmith(nDotV, nDotL, roughness); // Smaller the more micro-facets shadow + vec3 F = SchlickFresnel(hDotV, baseRefl); // Fresnel proportion of specular reflectance - - - - //return N;//vec3(metallic,metallic,metallic); - //if dia-electric use base reflectivity of 0.04 otherwise ut is a metal use albedo as base reflectivity - vec3 baseRefl = mix(vec3(0.04),albedo.rgb,metallic); - vec3 Lo = vec3(0.0); // acumulate lighting lum - - for(int i=0;iuri + i + 1, &data); if (result == cgltf_result_success) diff --git a/src/rtextures.c b/src/rtextures.c index c53d30aa6..a16fb386a 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1967,7 +1967,7 @@ void ImageBlurGaussian(Image *image, int blurSize) { avgG += pixelsCopy1[row*image->width + i].y; avgB += pixelsCopy1[row*image->width + i].z; avgAlpha += pixelsCopy1[row*image->width + i].w; - } + } for (int x = 0; x < image->width; x++) { From 36df9c5bd6999d5a047cf94097f258a27aaafc52 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 23 Dec 2023 18:16:06 +0100 Subject: [PATCH 048/745] Update shaders_basic_pbr.c --- examples/shaders/shaders_basic_pbr.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/examples/shaders/shaders_basic_pbr.c b/examples/shaders/shaders_basic_pbr.c index e630fbc4e..d025ab8a9 100644 --- a/examples/shaders/shaders_basic_pbr.c +++ b/examples/shaders/shaders_basic_pbr.c @@ -19,10 +19,6 @@ #include "raylib.h" -#if defined(PLATFORM_WEB) - #include -#endif - #if defined(PLATFORM_DESKTOP) #define GLSL_VERSION 330 #else // PLATFORM_ANDROID, PLATFORM_WEB @@ -181,10 +177,10 @@ int main() // Create some lights Light lights[MAX_LIGHTS] = { 0 }; - lights[0] = CreateLight(LIGHT_POINT, (Vector3){ -1, 1, -2 }, (Vector3){0,0,0}, YELLOW,4, shader); - lights[1] = CreateLight(LIGHT_POINT, (Vector3){ 2, 1, 1 }, (Vector3){0,0,0}, GREEN,3.3, shader); - lights[2] = CreateLight(LIGHT_POINT, (Vector3){ -2, 1, 1 }, (Vector3){0,0,0}, RED,8.3, shader); - lights[3] = CreateLight(LIGHT_POINT, (Vector3){ 1, 1, -2 }, (Vector3){0,0,0}, BLUE,2, shader); + lights[0] = CreateLight(LIGHT_POINT, (Vector3){ -1.0f, 1.0f, -2.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, YELLOW, 4.0f, shader); + lights[1] = CreateLight(LIGHT_POINT, (Vector3){ 2.0f, 1.0f, 1.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, GREEN, 3.3f, shader); + lights[2] = CreateLight(LIGHT_POINT, (Vector3){ -2.0f, 1.0f, 1.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, RED, 8.3f, shader); + lights[3] = CreateLight(LIGHT_POINT, (Vector3){ 1.0f, 1.0f, -2.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, BLUE, 2.0f, shader); // Setup material texture maps usage in shader // NOTE: By default, the texture maps are always used @@ -297,18 +293,20 @@ static Light CreateLight(int type, Vector3 position, Vector3 target, Color color light.type = type; light.position = position; light.target = target; - light.color[0] = (float)color.r / (float)255; - light.color[1] = (float)color.g / (float)255; - light.color[2] = (float)color.b / (float)255; - light.color[3] = (float)color.a / (float)255; + light.color[0] = (float)color.r/255.0f; + light.color[1] = (float)color.g/255.0f; + light.color[2] = (float)color.b/255.0f; + light.color[3] = (float)color.a/255.0f; light.intensity = intensity; - // NOTE: Lighting shader naming must be the provided ones + + // NOTE: Shader parameters names for lights must match the requested ones light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightCount)); light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightCount)); light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightCount)); light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightCount)); light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightCount)); light.intensityLoc = GetShaderLocation(shader, TextFormat("lights[%i].intensity", lightCount)); + UpdateLight(shader, light); lightCount++; From 21bfd06570497a19e8bb64d0a1e97ad70c3bfd6d Mon Sep 17 00:00:00 2001 From: iacore <74560659+iacore@users.noreply.github.com> Date: Mon, 25 Dec 2023 13:38:49 +0000 Subject: [PATCH 049/745] Update BINDINGS.md (#3672) Update zig libs version --- BINDINGS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index b7cddf238..cb6ccd715 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -76,8 +76,8 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib.v | 4.2 | [V](https://vlang.io/) | Zlib | https://github.com/irishgreencitrus/raylib.v | | raylib-vapi | 4.2 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | | raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | -| raylib-zig | 4.2 | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | -| raylib.zig | **4.5** | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | +| raylib-zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | +| raylib.zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | | hare-raylib | **auto** | [Hare](https://harelang.org/) | Zlib | https://git.sr.ht/~evantj/hare-raylib | | raylib-sunder | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | https://github.com/ashn-dot-dev/raylib-sunder | | rayed-bqn | **auto** | [BQN](https://mlochbaum.github.io/BQN/) | MIT | https://github.com/Brian-ED/rayed-bqn | From 99f22a47ff09ae3bef4ee16c1910953efc46832b Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 25 Dec 2023 14:44:49 +0100 Subject: [PATCH 050/745] Update some versions BINDINGS.md --- BINDINGS.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index cb6ccd715..80dd0c277 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -9,51 +9,51 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | https://github.com/raysan5/raylib | | raylib-beef | **5.0** | [Beef](https://www.beeflang.org/) | MIT | https://github.com/Starpelly/raylib-beef | | raylib-boo | 3.7 | [Boo](http://boo-language.github.io/)| MIT | https://github.com/Rabios/raylib-boo | -| Raylib-cs | **4.5** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | +| Raylib-cs | 4.5 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | | Raylib-CsLo | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/NotNotTech/Raylib-CsLo | | cl-raylib | 4.0 | [Common Lisp](https://common-lisp.net/) | MIT | https://github.com/longlene/cl-raylib | -| claylib/wrap | **4.5** | [Common Lisp](https://common-lisp.net/) | Zlib | https://github.com/defun-games/claylib | +| claylib/wrap | 4.5 | [Common Lisp](https://common-lisp.net/) | Zlib | https://github.com/defun-games/claylib | | claw-raylib | **auto** | [Common Lisp](https://common-lisp.net/) | Apache-2.0 | https://github.com/bohonghuang/claw-raylib | | chez-raylib | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib | -| raylib-cr | **4.6-dev (5e1a81)** | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | +| raylib-cr | 4.6-dev (5e1a81) | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | | ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | -| raylib-c3 | **4.5** | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | +| raylib-c3 | 4.5 | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | | dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | | bindbc-raylib3 | **5.0** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | | dray | 4.2 | [D](https://dlang.org/) | Apache-2.0 | https://github.com/redthing1/dray | | raylib-d | **5.0** | [D](https://dlang.org/) | Zlib | https://github.com/schveiguy/raylib-d | | dlang_raylib | 4.0 | [D](https://dlang.org) | MPL-2.0 |https://github.com/rc-05/dlang_raylib | | rayex | 3.7 | [elixir](https://elixir-lang.org/) | Apache-2.0 | https://github.com/shiryel/rayex | -| raylib-factor | **4.5** | [Factor](https://factorcode.org/) | BSD | https://github.com/factor/factor/blob/master/extra/raylib/raylib.factor | +| raylib-factor | 4.5 | [Factor](https://factorcode.org/) | BSD | https://github.com/factor/factor/blob/master/extra/raylib/raylib.factor | | raylib-freebasic | **5.0** | [FreeBASIC](https://www.freebasic.net/) | MIT | https://github.com/WIITD/raylib-freebasic | -| fortran-raylib | **4.5** | [Fortran](https://fortran-lang.org/) | ISC | https://github.com/interkosmos/fortran-raylib | -| raylib for Pascal | **4.5** | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | Modified Zlib | https://github.com/tinyBigGAMES/raylib | +| fortran-raylib | 4.5 | [Fortran](https://fortran-lang.org/) | ISC | https://github.com/interkosmos/fortran-raylib | +| raylib for Pascal | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | Modified Zlib | https://github.com/tinyBigGAMES/raylib | | raylib-go | **5.0** | [Go](https://golang.org/) | Zlib | https://github.com/gen2brain/raylib-go | | raylib-guile | **auto** | [Guile](https://www.gnu.org/software/guile/) | Zlib | https://github.com/petelliott/raylib-guile | | gforth-raylib | 3.5 | [Gforth](https://gforth.org/) | **???** | https://github.com/ArnautDaniel/gforth-raylib | -| h-raylib | **4.6-dev** | [Haskell](https://haskell.org/) | Apache-2.0 | https://github.com/Anut-py/h-raylib | +| h-raylib | 4.6-dev | [Haskell](https://haskell.org/) | Apache-2.0 | https://github.com/Anut-py/h-raylib | | raylib-hx | 4.2 | [Haxe](https://haxe.org/) | Zlib | https://github.com/foreignsasquatch/raylib-hx | | hb-raylib | 3.5 | [Harbour](https://harbour.github.io) | MIT | https://github.com/MarcosLeonardoMendezGerencir/hb-raylib | | jaylib | 5.0 | [Janet](https://janet-lang.org/) | MIT | https://github.com/janet-lang/jaylib | -| jaylib | **4.5** | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | GPLv3+CE | https://github.com/electronstudio/jaylib/ | +| jaylib | 4.5 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | GPLv3+CE | https://github.com/electronstudio/jaylib/ | | raylib-j | 4.0 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | Zlib | https://github.com/CreedVI/Raylib-J | | raylib.jl | 4.2 | [Julia](https://julialang.org/) | Zlib | https://github.com/irishgreencitrus/raylib.jl | | kaylib | 3.7 | [Kotlin/native](https://kotlinlang.org) | ? | https://github.com/electronstudio/kaylib | -| KaylibKit | **4.5**| [Kotlin/native](https://kotlinlang.org) | Zlib | https://codeberg.org/Kenta/KaylibKit | -| raylib-lua | **4.5** | [Lua](http://www.lua.org/) | ISC | https://github.com/TSnake41/raylib-lua | +| KaylibKit | 4.5 | [Kotlin/native](https://kotlinlang.org) | Zlib | https://codeberg.org/Kenta/KaylibKit | +| raylib-lua | 4.5 | [Lua](http://www.lua.org/) | ISC | https://github.com/TSnake41/raylib-lua | | raylua | 4.0 | [Lua](http://www.lua.org/) | MIT | https://github.com/Rabios/raylua | | raylib-matte | 4.6-dev | [Matte](https://github.com/jcorks/matte/) | MIT | https://github.com/jcorks/raylib-matte | | nelua-raylib | 4.0 | [nelua](https://nelua.io/) | MIT | https://github.com/AKDev21/nelua-raylib | | Raylib.nelua | **5.0** | [nelua](https://nelua.io/) | Zlib | https://github.com/AuzFox/Raylib.nelua | | NimraylibNow! | 4.2 | [Nim](https://nim-lang.org/) | MIT | https://github.com/greenfork/nimraylib_now | -| raylib-bindings | **4.5** | [Ruby](https://www.ruby-lang.org/en/) | Zlib | https://github.com/vaiorabbit/raylib-bindings | +| raylib-bindings | 4.5 | [Ruby](https://www.ruby-lang.org/en/) | Zlib | https://github.com/vaiorabbit/raylib-bindings | | raylib-Forever | auto | [Nim](https://nim-lang.org/) | ? | https://github.com/Guevara-chan/Raylib-Forever | | naylib | auto | [Nim](https://nim-lang.org/) | MIT | https://github.com/planetis-m/naylib | -| node-raylib | **4.5** | [Node.js](https://nodejs.org/en/) | Zlib | https://github.com/RobLoach/node-raylib | -| raylib-odin | **4.5** | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | +| node-raylib | 4.5 | [Node.js](https://nodejs.org/en/) | Zlib | https://github.com/RobLoach/node-raylib | +| raylib-odin | 4.5 | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | | raylib_odin_bindings | 4.0-dev | [Odin](https://odin-lang.org/) | MIT | https://github.com/Deathbat2190/raylib_odin_bindings | -| raylib-ocaml | **4.5** | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | -| TurboRaylib | **4.5** | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | https://github.com/turborium/TurboRaylib | +| raylib-ocaml | 4.5 | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | +| TurboRaylib | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | https://github.com/turborium/TurboRaylib | | Ray4Laz | **5.0** | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/GuvaCode/Ray4Laz | | Raylib.4.0.Pascal | 4.0 | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/sysrpl/Raylib.4.0.Pascal | | pyraylib | 3.7 | [Python](https://www.python.org/) | Zlib | https://github.com/Ho011/pyraylib | From ad64a43b34bb413f29850ed602df733961b62d60 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Thu, 28 Dec 2023 06:40:03 -0800 Subject: [PATCH 051/745] [rshapes] Expose shapes drawing texture and rectangle (#3677) * provide access to the shape texture so that shapes can be extended outside of raylib with the same optimizations as internal raylib functions. * PR feedback, comply with C standards * oops --- src/raylib.h | 2 + src/rshapes.c | 223 ++++++++++++++++++++++++++++---------------------- 2 files changed, 126 insertions(+), 99 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 2ab3f3041..cd31da621 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1220,6 +1220,8 @@ RLAPI void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, f // NOTE: It can be useful when using basic shapes and one single font, // defining a font char white rectangle would allow drawing everything in a single draw call RLAPI void SetShapesTexture(Texture2D texture, Rectangle source); // Set texture and rectangle to be used on shapes drawing +RLAPI Texture2D GetShapesTexture(void); // Get texture that is used for shapes drawing +RLAPI Rectangle GetShapesTextureRectangle(void); // Get texture source rectangle that is used for shapes drawing // Basic shapes drawing functions RLAPI void DrawPixel(int posX, int posY, Color color); // Draw a pixel diff --git a/src/rshapes.c b/src/rshapes.c index b8c17e702..53d12fe3a 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -112,6 +112,18 @@ void SetShapesTexture(Texture2D texture, Rectangle source) } } +// Get texture that is used for shapes drawing +Texture2D GetShapesTexture(void) +{ + return texShapes; +} + +// Get texture source rectangle that is used for shapes drawing +Rectangle GetShapesTextureRectangle(void) +{ + return texShapesRec; +} + // Draw a pixel void DrawPixel(int posX, int posY, Color color) { @@ -122,23 +134,25 @@ void DrawPixel(int posX, int posY, Color color) void DrawPixelV(Vector2 position, Color color) { #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); rlNormal3f(0.0f, 0.0f, 1.0f); rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/ shapeRect.width, shapeRect.y/ shapeRect.height); rlVertex2f(position.x, position.y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/ shapeRect.width, (shapeRect.y + shapeRect.height)/ shapeRect.height); rlVertex2f(position.x, position.y + 1); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/ shapeRect.width, (shapeRect.y + shapeRect.height)/ shapeRect.height); rlVertex2f(position.x + 1, position.y + 1); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/ shapeRect.width, shapeRect.y/ shapeRect.height); rlVertex2f(position.x + 1, position.y); rlEnd(); @@ -300,7 +314,8 @@ void DrawCircleSector(Vector2 center, float radius, float startAngle, float endA float angle = startAngle; #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); @@ -309,16 +324,16 @@ void DrawCircleSector(Vector2 center, float radius, float startAngle, float endA { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength*2.0f))*radius, center.y + sinf(DEG2RAD*(angle + stepLength*2.0f))*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*radius, center.y + sinf(DEG2RAD*(angle + stepLength))*radius); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*radius, center.y + sinf(DEG2RAD*angle)*radius); angle += (stepLength*2.0f); @@ -329,16 +344,16 @@ void DrawCircleSector(Vector2 center, float radius, float startAngle, float endA { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*radius, center.y + sinf(DEG2RAD*(angle + stepLength))*radius); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*radius, center.y + sinf(DEG2RAD*angle)*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); } @@ -528,23 +543,24 @@ void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startA float angle = startAngle; #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); for (int i = 0; i < segments; i++) { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius); angle += stepLength; @@ -707,23 +723,24 @@ void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color } #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); rlNormal3f(0.0f, 0.0f, 1.0f); rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(topLeft.x, topLeft.y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(bottomLeft.x, bottomLeft.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(bottomRight.x, bottomRight.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(topRight.x, topRight.y); rlEnd(); @@ -764,26 +781,27 @@ void DrawRectangleGradientH(int posX, int posY, int width, int height, Color col // NOTE: Colors refer to corners, starting at top-lef corner and counter-clockwise void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4) { - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); rlNormal3f(0.0f, 0.0f, 1.0f); // NOTE: Default raylib font character 95 is a white square rlColor4ub(col1.r, col1.g, col1.b, col1.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(rec.x, rec.y); rlColor4ub(col2.r, col2.g, col2.b, col2.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(rec.x, rec.y + rec.height); rlColor4ub(col3.r, col3.g, col3.b, col3.a); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(rec.x + rec.width, rec.y + rec.height); rlColor4ub(col4.r, col4.g, col4.b, col4.a); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(rec.x + rec.width, rec.y); rlEnd(); @@ -904,7 +922,8 @@ void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color co const float angles[4] = { 180.0f, 270.0f, 0.0f, 90.0f }; #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); // Draw all the 4 corners: [1] Upper Left Corner, [3] Upper Right Corner, [5] Lower Right Corner, [7] Lower Left Corner @@ -917,16 +936,16 @@ void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color co for (int i = 0; i < segments/2; i++) { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength*2))*radius, center.y + sinf(DEG2RAD*(angle + stepLength*2))*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*radius, center.y + sinf(DEG2RAD*(angle + stepLength))*radius); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*radius, center.y + sinf(DEG2RAD*angle)*radius); angle += (stepLength*2); @@ -936,73 +955,73 @@ void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color co if (segments%2) { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*radius, center.y + sinf(DEG2RAD*(angle + stepLength))*radius); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*radius, center.y + sinf(DEG2RAD*angle)*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); } } // [2] Upper Rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[0].x, point[0].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[8].x, point[8].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[9].x, point[9].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[1].x, point[1].y); // [4] Right Rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[2].x, point[2].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[9].x, point[9].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[10].x, point[10].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[3].x, point[3].y); // [6] Bottom Rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[11].x, point[11].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[5].x, point[5].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[4].x, point[4].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[10].x, point[10].y); // [8] Left Rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[7].x, point[7].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[6].x, point[6].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[11].x, point[11].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[8].x, point[8].y); // [9] Middle Rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[8].x, point[8].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[11].x, point[11].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[10].x, point[10].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[9].x, point[9].y); rlEnd(); @@ -1139,7 +1158,8 @@ void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, flo if (lineThick > 1) { #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); @@ -1152,16 +1172,16 @@ void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, flo { rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*innerRadius, center.y + sinf(DEG2RAD*angle)*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*innerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*(angle + stepLength))*outerRadius, center.y + sinf(DEG2RAD*(angle + stepLength))*outerRadius); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(DEG2RAD*angle)*outerRadius, center.y + sinf(DEG2RAD*angle)*outerRadius); angle += stepLength; @@ -1170,46 +1190,46 @@ void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, flo // Upper rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[0].x, point[0].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[8].x, point[8].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[9].x, point[9].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[1].x, point[1].y); // Right rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[2].x, point[2].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[10].x, point[10].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[11].x, point[11].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[3].x, point[3].y); // Lower rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[13].x, point[13].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[5].x, point[5].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[4].x, point[4].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[12].x, point[12].y); // Left rectangle rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[15].x, point[15].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[7].x, point[7].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(point[6].x, point[6].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(point[14].x, point[14].y); rlEnd(); @@ -1314,21 +1334,22 @@ void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, flo void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color) { #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(v1.x, v1.y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(v2.x, v2.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(v2.x, v2.y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(v3.x, v3.y); rlEnd(); @@ -1367,22 +1388,24 @@ void DrawTriangleFan(Vector2 *points, int pointCount, Color color) { if (pointCount >= 3) { - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); + rlBegin(RL_QUADS); rlColor4ub(color.r, color.g, color.b, color.a); for (int i = 1; i < pointCount - 1; i++) { - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(points[0].x, points[0].y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(points[i].x, points[i].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(points[i + 1].x, points[i + 1].y); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(points[i + 1].x, points[i + 1].y); } rlEnd(); @@ -1426,7 +1449,8 @@ void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color col float angleStep = 360.0f/(float)sides*DEG2RAD; #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); for (int i = 0; i < sides; i++) @@ -1434,16 +1458,16 @@ void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color col rlColor4ub(color.r, color.g, color.b, color.a); float nextAngle = centralAngle + angleStep; - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x, center.y); - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(centralAngle)*radius, center.y + sinf(centralAngle)*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(nextAngle)*radius, center.y + sinf(nextAngle)*radius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(centralAngle)*radius, center.y + sinf(centralAngle)*radius); centralAngle = nextAngle; @@ -1494,7 +1518,8 @@ void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, fl float innerRadius = radius - (lineThick*cosf(DEG2RAD*exteriorAngle/2.0f)); #if defined(SUPPORT_QUADS_DRAW_MODE) - rlSetTexture(texShapes.id); + rlSetTexture(GetShapesTexture().id); + Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); for (int i = 0; i < sides; i++) @@ -1502,16 +1527,16 @@ void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, fl rlColor4ub(color.r, color.g, color.b, color.a); float nextAngle = centralAngle + exteriorAngle; - rlTexCoord2f(texShapesRec.x/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(centralAngle)*radius, center.y + sinf(centralAngle)*radius); - rlTexCoord2f(texShapesRec.x/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(centralAngle)*innerRadius, center.y + sinf(centralAngle)*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, (texShapesRec.y + texShapesRec.height)/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(center.x + cosf(nextAngle)*innerRadius, center.y + sinf(nextAngle)*innerRadius); - rlTexCoord2f((texShapesRec.x + texShapesRec.width)/texShapes.width, texShapesRec.y/texShapes.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(center.x + cosf(nextAngle)*radius, center.y + sinf(nextAngle)*radius); centralAngle = nextAngle; From 1727ddb9ea3de9fb4f5f4e287958ac85c77a5213 Mon Sep 17 00:00:00 2001 From: WisonYe Date: Fri, 29 Dec 2023 03:41:33 +1300 Subject: [PATCH 052/745] [ fix-crash-caused-by-zig-build ] - Fixed 'Illegal instruction' crash on 'rtextures' and 'raudio' model that caused by zig build. (#3682) --- src/build.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/build.zig b/src/build.zig index 12d4a7a58..a574ad632 100644 --- a/src/build.zig +++ b/src/build.zig @@ -29,7 +29,9 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/raudio.c", - }, raylib_flags); + }, &[_][]const u8{ + "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 + } ++ raylib_flags); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ @@ -51,7 +53,9 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rtextures.c", - }, raylib_flags); + }, &[_][]const u8{ + "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 + } ++ raylib_flags); } var gen_step = b.addWriteFiles(); From 43b4f90eb7b12bff4539a419663ebbfbf4f58503 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:08:04 -0300 Subject: [PATCH 053/745] Fix SUPPORT_WINMM_HIGHRES_TIMER for PLATFORM_DESKTOP_SDL (#3679) --- src/platforms/rcore_desktop_sdl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 1e55cbac4..28dd9d1dc 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1112,7 +1112,7 @@ void PollInputEvents(void) case SDL_TEXTINPUT: { // NOTE: event.text.text data comes an UTF-8 text sequence but we register codepoints (int) - + int codepointSize = 0; // Check if there is space available in the key queue @@ -1426,6 +1426,10 @@ int InitPlatform(void) //---------------------------------------------------------------------------- // NOTE: No need to call InitTimer(), let SDL manage it internally CORE.Time.previous = GetTime(); // Get time as double + + #if defined(_WIN32) && defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) + SDL_SetHint(SDL_HINT_TIMER_RESOLUTION, "1"); // SDL equivalent of timeBeginPeriod() and timeEndPeriod() + #endif //---------------------------------------------------------------------------- // Initialize storage system From 7cfdf33ff03f2c453f4b525eca66c074cdfe299c Mon Sep 17 00:00:00 2001 From: maverikou Date: Thu, 28 Dec 2023 21:09:49 +0200 Subject: [PATCH 054/745] TextReplace const correctness (#3678) * TextReplace const correctness * cleanup --- src/raylib.h | 2 +- src/rtext.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index cd31da621..0e6ef23fb 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1472,7 +1472,7 @@ RLAPI bool TextIsEqual(const char *text1, const char *text2); RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending RLAPI const char *TextFormat(const char *text, ...); // Text formatting with variables (sprintf() style) RLAPI const char *TextSubtext(const char *text, int position, int length); // Get a piece of a text string -RLAPI char *TextReplace(char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!) +RLAPI char *TextReplace(const char *text, const char *replace, const char *by); // Replace text string (WARNING: memory must be freed!) RLAPI char *TextInsert(const char *text, const char *insert, int position); // Insert text in a position (WARNING: memory must be freed!) RLAPI const char *TextJoin(const char **textList, int count, const char *delimiter); // Join text strings with delimiter RLAPI const char **TextSplit(const char *text, char delimiter, int *count); // Split text into multiple strings diff --git a/src/rtext.c b/src/rtext.c index 2a6aa1273..104e302ac 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1514,7 +1514,7 @@ const char *TextSubtext(const char *text, int position, int length) // Replace text string // REQUIRES: strlen(), strstr(), strncpy(), strcpy() // WARNING: Allocated memory must be manually freed -char *TextReplace(char *text, const char *replace, const char *by) +char *TextReplace(const char *text, const char *replace, const char *by) { // Sanity checks and initialization if (!text || !replace || !by) return NULL; From 3fc43c109642135ce33c77b06b376dd24a5811eb Mon Sep 17 00:00:00 2001 From: IoIxD <30945097+IoIxD@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:12:52 -0700 Subject: [PATCH 055/745] LoadImageAnimFromMemory (#3681) --- src/rtextures.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/rtextures.c b/src/rtextures.c index a16fb386a..953458e1e 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -438,6 +438,45 @@ Image LoadImageAnim(const char *fileName, int *frames) return image; } +// Load animated image data +// - Image.data buffer includes all frames: [image#0][image#1][image#2][...] +// - Number of frames is returned through 'frames' parameter +// - All frames are returned in RGBA format +// - Frames delay data is discarded +Image LoadImageAnimFromMemory(const char *fileType,const char *fileData, int dataSize,int *frames) +{ + Image image = { 0 }; + int frameCount = 0; + +#if defined(SUPPORT_FILEFORMAT_GIF) + if ((strcmp(fileType, ".gif") == 0) || (strcmp(fileType, ".GIF") == 0)) + { + if (fileData != NULL) + { + int comp = 0; + int *delays = NULL; + image.data = stbi_load_gif_from_memory(fileData, dataSize, &delays, &image.width, &image.height, &frameCount, &comp, 4); + + image.mipmaps = 1; + image.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; + + RL_FREE(fileData); + RL_FREE(delays); // NOTE: Frames delays are discarded + } + } +#else + if (false) { } +#endif + else + { + image = LoadImageFromMemory(fileType,fileData,dataSize); + frameCount = 1; + } + + *frames = frameCount; + return image; +} + // Load image from memory buffer, fileType refers to extension: i.e. ".png" // WARNING: File extension must be provided in lower-case Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) From 7ea6adb29eaf39e18c6faa4d7d6d9bd8a9d60910 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 28 Dec 2023 22:10:10 +0100 Subject: [PATCH 056/745] Update raylib.h --- src/raylib.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index 2ab3f3041..d22e11cfc 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -748,10 +748,11 @@ typedef enum { // Material map index typedef enum { MATERIAL_MAP_ALBEDO = 0, // Albedo material (same as: MATERIAL_MAP_DIFFUSE) - MATERIAL_MAP_METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) MATERIAL_MAP_NORMAL, // Normal material + MATERIAL_MAP_METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) MATERIAL_MAP_ROUGHNESS, // Roughness material MATERIAL_MAP_OCCLUSION, // Ambient occlusion material + MATERIAL_MAP_MRA, // Metalness-Roughness-AmbientOcclusion material, combined in a single image (RBG channels) MATERIAL_MAP_EMISSION, // Emission material MATERIAL_MAP_HEIGHT, // Heightmap material MATERIAL_MAP_CUBEMAP, // Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) From 5b5a2d035d61554b0032c3aa7b524a0cb0c52160 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Thu, 28 Dec 2023 19:13:47 -0300 Subject: [PATCH 057/745] Fix TextReplace warning for const (#3687) --- src/rtext.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 104e302ac..4ead02ca7 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -653,7 +653,7 @@ GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSiz chars[i].offsetY += (int)((float)ascent*scaleFactor); } - // NOTE: We create an empty image for space character, + // NOTE: We create an empty image for space character, // it could be further required for atlas packing if (ch == 32) { @@ -1534,7 +1534,7 @@ char *TextReplace(const char *text, const char *replace, const char *by) byLen = TextLength(by); // Count the number of replacements needed - insertPoint = text; + insertPoint = (char*)text; for (count = 0; (temp = strstr(insertPoint, replace)); count++) insertPoint = temp + replaceLen; // Allocate returning string and point temp to it @@ -2086,9 +2086,9 @@ static Font LoadBMFont(const char *fileName) searchPoint = strstr(buffer, "lineHeight"); readVars = sscanf(searchPoint, "lineHeight=%i base=%i scaleW=%i scaleH=%i pages=%i", &fontSize, &base, &imWidth, &imHeight, &pageCount); fileTextPtr += (readBytes + 1); - + if (readVars < 4) { UnloadFileText(fileText); return font; } // Some data not available, file malformed - + if (pageCount > MAX_FONT_IMAGE_PAGES) { TRACELOG(LOG_WARNING, "FONT: [%s] Font defines more pages than supported: %i/%i", fileName, pageCount, MAX_FONT_IMAGE_PAGES); @@ -2148,17 +2148,17 @@ static Font LoadBMFont(const char *fileName) // NOTE: WARNING: This process could be really slow! if (pageCount > 1) { - // Resize font atlas to draw additional images - ImageResizeCanvas(&fullFont, imWidth, imHeight*pageCount, 0, 0, BLACK); + // Resize font atlas to draw additional images + ImageResizeCanvas(&fullFont, imWidth, imHeight*pageCount, 0, 0, BLACK); for (int i = 1; i < pageCount; i++) { Rectangle srcRec = { 0.0f, 0.0f, (float)imWidth, (float)imHeight }; Rectangle destRec = { 0.0f, (float)imHeight*(float)i, (float)imWidth, (float)imHeight }; - ImageDraw(&fullFont, imFonts[i], srcRec, destRec, WHITE); + ImageDraw(&fullFont, imFonts[i], srcRec, destRec, WHITE); } } - + RL_FREE(imFonts); font.texture = LoadTextureFromImage(fullFont); @@ -2178,7 +2178,7 @@ static Font LoadBMFont(const char *fileName) readVars = sscanf(buffer, "char id=%i x=%i y=%i width=%i height=%i xoffset=%i yoffset=%i xadvance=%i page=%i", &charId, &charX, &charY, &charWidth, &charHeight, &charOffsetX, &charOffsetY, &charAdvanceX, &pageID); fileTextPtr += (readBytes + 1); - + if (readVars == 9) // Make sure all char data has been properly read { // Get character rectangle in the font atlas texture From fd5e1e6afb69ef190e74ac780ec3718d36e2d7d1 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Thu, 28 Dec 2023 19:15:04 -0300 Subject: [PATCH 058/745] [rtextures] Fix `LoadImageAnimFromMemory()` warning for `fileData` (#3686) * Fix LoadImageAnimFromMemory() warning for fileData * Add LoadImageAnimFromMemory() to raylib.h * Fix missing ; on previous commit --- src/raylib.h | 1 + src/rtextures.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 0e6ef23fb..8b126141a 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1302,6 +1302,7 @@ RLAPI Image LoadImage(const char *fileName); RLAPI Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); // Load image from RAW file data RLAPI Image LoadImageSvg(const char *fileNameOrString, int width, int height); // Load image from SVG file data or string with specified size RLAPI Image LoadImageAnim(const char *fileName, int *frames); // Load image sequence from file (frames appended to image.data) +RLAPI Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int *frames); // Load image sequence from memory buffer RLAPI Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png' RLAPI Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data RLAPI Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot) diff --git a/src/rtextures.c b/src/rtextures.c index 953458e1e..e9fb95cb3 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -443,7 +443,7 @@ Image LoadImageAnim(const char *fileName, int *frames) // - Number of frames is returned through 'frames' parameter // - All frames are returned in RGBA format // - Frames delay data is discarded -Image LoadImageAnimFromMemory(const char *fileType,const char *fileData, int dataSize,int *frames) +Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int *frames) { Image image = { 0 }; int frameCount = 0; @@ -2147,14 +2147,14 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ { startRange = -kernelWidth/2; endRange = kernelWidth/2; - } else + } else { startRange = -kernelWidth/2; endRange = kernelWidth/2+1; } - for(int x = 0; x < image->height; x++) + for(int x = 0; x < image->height; x++) { - for(int y = 0; y < image->width; y++) + for(int y = 0; y < image->width; y++) { for(int xk = startRange; xk < endRange; xk++) @@ -2232,14 +2232,14 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ } } - for (int i = 0; i < (image->width) * (image->height); i++) + for (int i = 0; i < (image->width) * (image->height); i++) { float alpha = (float)imageCopy2[i].w; pixels[i].r = (unsigned char)((imageCopy2[i].x)*255.0f); pixels[i].g = (unsigned char)((imageCopy2[i].y)*255.0f); pixels[i].b = (unsigned char)((imageCopy2[i].z)*255.0f); pixels[i].a = (unsigned char)((alpha)*255.0f); - // printf("pixels[%d] = %d", i, pixels[i].r); + // printf("pixels[%d] = %d", i, pixels[i].r); } @@ -3817,7 +3817,7 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) if ((image.height/6) == image.width) { layout = CUBEMAP_LAYOUT_LINE_VERTICAL; cubemap.width = image.height/6; } else if ((image.width/3) == (image.height/4)) { layout = CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR; cubemap.width = image.width/3; } } - } + } else { if (layout == CUBEMAP_LAYOUT_LINE_VERTICAL) cubemap.width = image.height/6; @@ -3836,7 +3836,7 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) Image faces = { 0 }; // Vertical column image Rectangle faceRecs[6] = { 0 }; // Face source rectangles - + for (int i = 0; i < 6; i++) faceRecs[i] = (Rectangle){ 0, 0, (float)size, (float)size }; if (layout == CUBEMAP_LAYOUT_LINE_VERTICAL) From 1f3121d2faa3e47afd018722d9f7f8d16e269101 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 28 Dec 2023 23:17:07 +0100 Subject: [PATCH 059/745] Revert "Update raylib.h" This reverts commit 7ea6adb29eaf39e18c6faa4d7d6d9bd8a9d60910. --- src/raylib.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 04853145e..8b126141a 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -748,11 +748,10 @@ typedef enum { // Material map index typedef enum { MATERIAL_MAP_ALBEDO = 0, // Albedo material (same as: MATERIAL_MAP_DIFFUSE) - MATERIAL_MAP_NORMAL, // Normal material MATERIAL_MAP_METALNESS, // Metalness material (same as: MATERIAL_MAP_SPECULAR) + MATERIAL_MAP_NORMAL, // Normal material MATERIAL_MAP_ROUGHNESS, // Roughness material MATERIAL_MAP_OCCLUSION, // Ambient occlusion material - MATERIAL_MAP_MRA, // Metalness-Roughness-AmbientOcclusion material, combined in a single image (RBG channels) MATERIAL_MAP_EMISSION, // Emission material MATERIAL_MAP_HEIGHT, // Heightmap material MATERIAL_MAP_CUBEMAP, // Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) From 710e811b2768e573b3c1a9eb4883f7a552d3d101 Mon Sep 17 00:00:00 2001 From: Kenta <106167071+Its-Kenta@users.noreply.github.com> Date: Fri, 29 Dec 2023 22:41:44 +0000 Subject: [PATCH 060/745] Update BINDINGS.md (#3689) Update Raylib.c3 to 5.0 --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 80dd0c277..8c821903c 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -17,7 +17,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | chez-raylib | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib | | raylib-cr | 4.6-dev (5e1a81) | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | | ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | -| raylib-c3 | 4.5 | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | +| raylib-c3 | **5.0** | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | | dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | | bindbc-raylib3 | **5.0** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | | dray | 4.2 | [D](https://dlang.org/) | Apache-2.0 | https://github.com/redthing1/dray | From 0a25a3ed7051377d7966cec6c3a3555d8ee0d551 Mon Sep 17 00:00:00 2001 From: seiren Date: Sun, 31 Dec 2023 23:06:46 +0900 Subject: [PATCH 061/745] Update raylib_api.* by CI (#3692) * wip: add parse.yml * Temporarily force run * Auto commit parse files * Update raylib_api.* by CI * Remove temporary setting * format --------- Co-authored-by: github-actions[bot] --- .github/workflows/parse.yml | 37 ++ parser/output/raylib_api.json | 98 ++++- parser/output/raylib_api.lua | 65 ++- parser/output/raylib_api.txt | 766 ++++++++++++++++++---------------- parser/output/raylib_api.xml | 34 +- 5 files changed, 584 insertions(+), 416 deletions(-) create mode 100644 .github/workflows/parse.yml diff --git a/.github/workflows/parse.yml b/.github/workflows/parse.yml new file mode 100644 index 000000000..dcbd3e43d --- /dev/null +++ b/.github/workflows/parse.yml @@ -0,0 +1,37 @@ +name: Parse raylib_api + +on: + workflow_dispatch: + push: + paths: + - "src/raylib.h" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Update parse files + working-directory: parser + run: | + make raylib_api + mv raylib_api.* output + + - name: Diff parse files + id: diff + run: | + git add -N parser + git diff --name-only --exit-code + continue-on-error: true + + - name: Commit parse files + if: steps.diff.outcome == 'failure' + run: | + set -x + git config user.email "github-actions[bot]@users.noreply.github.com" + git config user.name "github-actions[bot]" + git add parser + git commit -m "Update raylib_api.* by CI" + git push diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 4b7049d8d..c64a080f1 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -1231,11 +1231,6 @@ "name": "vScreenSize", "description": "Vertical size in meters" }, - { - "type": "float", - "name": "vScreenCenter", - "description": "Screen center in meters" - }, { "type": "float", "name": "eyeToScreenDistance", @@ -4637,7 +4632,7 @@ "returnType": "void", "params": [ { - "type": "AutomationEventList *", + "type": "AutomationEventList", "name": "list" } ] @@ -5172,6 +5167,16 @@ } ] }, + { + "name": "GetShapesTexture", + "description": "Get texture that is used for shapes drawing", + "returnType": "Texture2D" + }, + { + "name": "GetShapesTextureRectangle", + "description": "Get texture source rectangle that is used for shapes drawing", + "returnType": "Rectangle" + }, { "name": "DrawPixel", "description": "Draw a pixel", @@ -6703,6 +6708,29 @@ } ] }, + { + "name": "LoadImageAnimFromMemory", + "description": "Load image sequence from memory buffer", + "returnType": "Image", + "params": [ + { + "type": "const char *", + "name": "fileType" + }, + { + "type": "const unsigned char *", + "name": "fileData" + }, + { + "type": "int", + "name": "dataSize" + }, + { + "type": "int *", + "name": "frames" + } + ] + }, { "name": "LoadImageFromMemory", "description": "Load image from memory buffer, fileType refers to extension: i.e. '.png'", @@ -9194,7 +9222,7 @@ "returnType": "char *", "params": [ { - "type": "char *", + "type": "const char *", "name": "text" }, { @@ -9342,6 +9370,17 @@ } ] }, + { + "name": "TextToFloat", + "description": "Get float value from text (negative values not supported)", + "returnType": "float", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, { "name": "DrawLine3D", "description": "Draw a line in 3D world space", @@ -10219,21 +10258,6 @@ } ] }, - { - "name": "ExportMesh", - "description": "Export mesh data to file, returns true on success", - "returnType": "bool", - "params": [ - { - "type": "Mesh", - "name": "mesh" - }, - { - "type": "const char *", - "name": "fileName" - } - ] - }, { "name": "GetMeshBoundingBox", "description": "Compute mesh bounding box limits", @@ -10256,6 +10280,36 @@ } ] }, + { + "name": "ExportMesh", + "description": "Export mesh data to file, returns true on success", + "returnType": "bool", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, + { + "name": "ExportMeshAsCode", + "description": "Export mesh as code file (.h) defining multiple arrays of vertex attributes", + "returnType": "bool", + "params": [ + { + "type": "Mesh", + "name": "mesh" + }, + { + "type": "const char *", + "name": "fileName" + } + ] + }, { "name": "GenMeshPoly", "description": "Generate polygonal mesh", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 18375e179..091b2a0ad 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -1231,11 +1231,6 @@ return { name = "vScreenSize", description = "Vertical size in meters" }, - { - type = "float", - name = "vScreenCenter", - description = "Screen center in meters" - }, { type = "float", name = "eyeToScreenDistance", @@ -4150,7 +4145,7 @@ return { description = "Unload automation events list from file", returnType = "void", params = { - {type = "AutomationEventList *", name = "list"} + {type = "AutomationEventList", name = "list"} } }, { @@ -4539,6 +4534,16 @@ return { {type = "Rectangle", name = "source"} } }, + { + name = "GetShapesTexture", + description = "Get texture that is used for shapes drawing", + returnType = "Texture2D" + }, + { + name = "GetShapesTextureRectangle", + description = "Get texture source rectangle that is used for shapes drawing", + returnType = "Rectangle" + }, { name = "DrawPixel", description = "Draw a pixel", @@ -5263,6 +5268,17 @@ return { {type = "int *", name = "frames"} } }, + { + name = "LoadImageAnimFromMemory", + description = "Load image sequence from memory buffer", + returnType = "Image", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "frames"} + } + }, { name = "LoadImageFromMemory", description = "Load image from memory buffer, fileType refers to extension: i.e. '.png'", @@ -6616,7 +6632,7 @@ return { description = "Replace text string (WARNING: memory must be freed!)", returnType = "char *", params = { - {type = "char *", name = "text"}, + {type = "const char *", name = "text"}, {type = "const char *", name = "replace"}, {type = "const char *", name = "by"} } @@ -6702,6 +6718,14 @@ return { {type = "const char *", name = "text"} } }, + { + name = "TextToFloat", + description = "Get float value from text (negative values not supported)", + returnType = "float", + params = { + {type = "const char *", name = "text"} + } + }, { name = "DrawLine3D", description = "Draw a line in 3D world space", @@ -7126,15 +7150,6 @@ return { {type = "int", name = "instances"} } }, - { - name = "ExportMesh", - description = "Export mesh data to file, returns true on success", - returnType = "bool", - params = { - {type = "Mesh", name = "mesh"}, - {type = "const char *", name = "fileName"} - } - }, { name = "GetMeshBoundingBox", description = "Compute mesh bounding box limits", @@ -7151,6 +7166,24 @@ return { {type = "Mesh *", name = "mesh"} } }, + { + name = "ExportMesh", + description = "Export mesh data to file, returns true on success", + returnType = "bool", + params = { + {type = "Mesh", name = "mesh"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportMeshAsCode", + description = "Export mesh as code file (.h) defining multiple arrays of vertex attributes", + returnType = "bool", + params = { + {type = "Mesh", name = "mesh"}, + {type = "const char *", name = "fileName"} + } + }, { name = "GenMeshPoly", description = "Generate polygonal mesh", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 8a57b4e15..d3370dca6 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -510,19 +510,18 @@ Struct 29: Music (5 fields) Field[3]: bool looping // Music looping enable Field[4]: int ctxType // Type of music context (audio filetype) Field[5]: void * ctxData // Audio context data, depends on type -Struct 30: VrDeviceInfo (10 fields) +Struct 30: VrDeviceInfo (9 fields) Name: VrDeviceInfo Description: VrDeviceInfo, Head-Mounted-Display device parameters Field[1]: int hResolution // Horizontal resolution in pixels Field[2]: int vResolution // Vertical resolution in pixels Field[3]: float hScreenSize // Horizontal size in meters Field[4]: float vScreenSize // Vertical size in meters - Field[5]: float vScreenCenter // Screen center in meters - Field[6]: float eyeToScreenDistance // Distance between eye and display in meters - Field[7]: float lensSeparationDistance // Lens separation distance in meters - Field[8]: float interpupillaryDistance // IPD (distance between pupils) in meters - Field[9]: float[4] lensDistortionValues // Lens distortion constant parameters - Field[10]: float[4] chromaAbCorrection // Chromatic aberration correction parameters + Field[5]: float eyeToScreenDistance // Distance between eye and display in meters + Field[6]: float lensSeparationDistance // Lens separation distance in meters + Field[7]: float interpupillaryDistance // IPD (distance between pupils) in meters + Field[8]: float[4] lensDistortionValues // Lens distortion constant parameters + Field[9]: float[4] chromaAbCorrection // Chromatic aberration correction parameters Struct 31: VrStereoConfig (8 fields) Name: VrStereoConfig Description: VrStereoConfig, VR stereo rendering configuration for simulator @@ -980,7 +979,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 553 +Functions found: 558 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -1770,7 +1769,7 @@ Function 147: UnloadAutomationEventList() (1 input parameters) Name: UnloadAutomationEventList Return type: void Description: Unload automation events list from file - Param[1]: list (type: AutomationEventList *) + Param[1]: list (type: AutomationEventList) Function 148: ExportAutomationEventList() (2 input parameters) Name: ExportAutomationEventList Return type: bool @@ -2055,20 +2054,30 @@ Function 201: SetShapesTexture() (2 input parameters) Description: Set texture and rectangle to be used on shapes drawing Param[1]: texture (type: Texture2D) Param[2]: source (type: Rectangle) -Function 202: DrawPixel() (3 input parameters) +Function 202: GetShapesTexture() (0 input parameters) + Name: GetShapesTexture + Return type: Texture2D + Description: Get texture that is used for shapes drawing + No input parameters +Function 203: GetShapesTextureRectangle() (0 input parameters) + Name: GetShapesTextureRectangle + Return type: Rectangle + Description: Get texture source rectangle that is used for shapes drawing + No input parameters +Function 204: DrawPixel() (3 input parameters) Name: DrawPixel Return type: void Description: Draw a pixel Param[1]: posX (type: int) Param[2]: posY (type: int) Param[3]: color (type: Color) -Function 203: DrawPixelV() (2 input parameters) +Function 205: DrawPixelV() (2 input parameters) Name: DrawPixelV Return type: void Description: Draw a pixel (Vector version) Param[1]: position (type: Vector2) Param[2]: color (type: Color) -Function 204: DrawLine() (5 input parameters) +Function 206: DrawLine() (5 input parameters) Name: DrawLine Return type: void Description: Draw a line @@ -2077,14 +2086,14 @@ Function 204: DrawLine() (5 input parameters) Param[3]: endPosX (type: int) Param[4]: endPosY (type: int) Param[5]: color (type: Color) -Function 205: DrawLineV() (3 input parameters) +Function 207: DrawLineV() (3 input parameters) Name: DrawLineV Return type: void Description: Draw a line (using gl lines) Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: color (type: Color) -Function 206: DrawLineEx() (4 input parameters) +Function 208: DrawLineEx() (4 input parameters) Name: DrawLineEx Return type: void Description: Draw a line (using triangles/quads) @@ -2092,14 +2101,14 @@ Function 206: DrawLineEx() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 207: DrawLineStrip() (3 input parameters) +Function 209: DrawLineStrip() (3 input parameters) Name: DrawLineStrip Return type: void Description: Draw lines sequence (using gl lines) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 208: DrawLineBezier() (4 input parameters) +Function 210: DrawLineBezier() (4 input parameters) Name: DrawLineBezier Return type: void Description: Draw line segment cubic-bezier in-out interpolation @@ -2107,7 +2116,7 @@ Function 208: DrawLineBezier() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 209: DrawCircle() (4 input parameters) +Function 211: DrawCircle() (4 input parameters) Name: DrawCircle Return type: void Description: Draw a color-filled circle @@ -2115,7 +2124,7 @@ Function 209: DrawCircle() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 210: DrawCircleSector() (6 input parameters) +Function 212: DrawCircleSector() (6 input parameters) Name: DrawCircleSector Return type: void Description: Draw a piece of a circle @@ -2125,7 +2134,7 @@ Function 210: DrawCircleSector() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 211: DrawCircleSectorLines() (6 input parameters) +Function 213: DrawCircleSectorLines() (6 input parameters) Name: DrawCircleSectorLines Return type: void Description: Draw circle sector outline @@ -2135,7 +2144,7 @@ Function 211: DrawCircleSectorLines() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 212: DrawCircleGradient() (5 input parameters) +Function 214: DrawCircleGradient() (5 input parameters) Name: DrawCircleGradient Return type: void Description: Draw a gradient-filled circle @@ -2144,14 +2153,14 @@ Function 212: DrawCircleGradient() (5 input parameters) Param[3]: radius (type: float) Param[4]: color1 (type: Color) Param[5]: color2 (type: Color) -Function 213: DrawCircleV() (3 input parameters) +Function 215: DrawCircleV() (3 input parameters) Name: DrawCircleV Return type: void Description: Draw a color-filled circle (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 214: DrawCircleLines() (4 input parameters) +Function 216: DrawCircleLines() (4 input parameters) Name: DrawCircleLines Return type: void Description: Draw circle outline @@ -2159,14 +2168,14 @@ Function 214: DrawCircleLines() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 215: DrawCircleLinesV() (3 input parameters) +Function 217: DrawCircleLinesV() (3 input parameters) Name: DrawCircleLinesV Return type: void Description: Draw circle outline (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 216: DrawEllipse() (5 input parameters) +Function 218: DrawEllipse() (5 input parameters) Name: DrawEllipse Return type: void Description: Draw ellipse @@ -2175,7 +2184,7 @@ Function 216: DrawEllipse() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 217: DrawEllipseLines() (5 input parameters) +Function 219: DrawEllipseLines() (5 input parameters) Name: DrawEllipseLines Return type: void Description: Draw ellipse outline @@ -2184,7 +2193,7 @@ Function 217: DrawEllipseLines() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 218: DrawRing() (7 input parameters) +Function 220: DrawRing() (7 input parameters) Name: DrawRing Return type: void Description: Draw ring @@ -2195,7 +2204,7 @@ Function 218: DrawRing() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 219: DrawRingLines() (7 input parameters) +Function 221: DrawRingLines() (7 input parameters) Name: DrawRingLines Return type: void Description: Draw ring outline @@ -2206,7 +2215,7 @@ Function 219: DrawRingLines() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 220: DrawRectangle() (5 input parameters) +Function 222: DrawRectangle() (5 input parameters) Name: DrawRectangle Return type: void Description: Draw a color-filled rectangle @@ -2215,20 +2224,20 @@ Function 220: DrawRectangle() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 221: DrawRectangleV() (3 input parameters) +Function 223: DrawRectangleV() (3 input parameters) Name: DrawRectangleV Return type: void Description: Draw a color-filled rectangle (Vector version) Param[1]: position (type: Vector2) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 222: DrawRectangleRec() (2 input parameters) +Function 224: DrawRectangleRec() (2 input parameters) Name: DrawRectangleRec Return type: void Description: Draw a color-filled rectangle Param[1]: rec (type: Rectangle) Param[2]: color (type: Color) -Function 223: DrawRectanglePro() (4 input parameters) +Function 225: DrawRectanglePro() (4 input parameters) Name: DrawRectanglePro Return type: void Description: Draw a color-filled rectangle with pro parameters @@ -2236,7 +2245,7 @@ Function 223: DrawRectanglePro() (4 input parameters) Param[2]: origin (type: Vector2) Param[3]: rotation (type: float) Param[4]: color (type: Color) -Function 224: DrawRectangleGradientV() (6 input parameters) +Function 226: DrawRectangleGradientV() (6 input parameters) Name: DrawRectangleGradientV Return type: void Description: Draw a vertical-gradient-filled rectangle @@ -2246,7 +2255,7 @@ Function 224: DrawRectangleGradientV() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 225: DrawRectangleGradientH() (6 input parameters) +Function 227: DrawRectangleGradientH() (6 input parameters) Name: DrawRectangleGradientH Return type: void Description: Draw a horizontal-gradient-filled rectangle @@ -2256,7 +2265,7 @@ Function 225: DrawRectangleGradientH() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 226: DrawRectangleGradientEx() (5 input parameters) +Function 228: DrawRectangleGradientEx() (5 input parameters) Name: DrawRectangleGradientEx Return type: void Description: Draw a gradient-filled rectangle with custom vertex colors @@ -2265,7 +2274,7 @@ Function 226: DrawRectangleGradientEx() (5 input parameters) Param[3]: col2 (type: Color) Param[4]: col3 (type: Color) Param[5]: col4 (type: Color) -Function 227: DrawRectangleLines() (5 input parameters) +Function 229: DrawRectangleLines() (5 input parameters) Name: DrawRectangleLines Return type: void Description: Draw rectangle outline @@ -2274,14 +2283,14 @@ Function 227: DrawRectangleLines() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 228: DrawRectangleLinesEx() (3 input parameters) +Function 230: DrawRectangleLinesEx() (3 input parameters) Name: DrawRectangleLinesEx Return type: void Description: Draw rectangle outline with extended parameters Param[1]: rec (type: Rectangle) Param[2]: lineThick (type: float) Param[3]: color (type: Color) -Function 229: DrawRectangleRounded() (4 input parameters) +Function 231: DrawRectangleRounded() (4 input parameters) Name: DrawRectangleRounded Return type: void Description: Draw rectangle with rounded edges @@ -2289,7 +2298,7 @@ Function 229: DrawRectangleRounded() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 230: DrawRectangleRoundedLines() (5 input parameters) +Function 232: DrawRectangleRoundedLines() (5 input parameters) Name: DrawRectangleRoundedLines Return type: void Description: Draw rectangle with rounded edges outline @@ -2298,7 +2307,7 @@ Function 230: DrawRectangleRoundedLines() (5 input parameters) Param[3]: segments (type: int) Param[4]: lineThick (type: float) Param[5]: color (type: Color) -Function 231: DrawTriangle() (4 input parameters) +Function 233: DrawTriangle() (4 input parameters) Name: DrawTriangle Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -2306,7 +2315,7 @@ Function 231: DrawTriangle() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 232: DrawTriangleLines() (4 input parameters) +Function 234: DrawTriangleLines() (4 input parameters) Name: DrawTriangleLines Return type: void Description: Draw triangle outline (vertex in counter-clockwise order!) @@ -2314,21 +2323,21 @@ Function 232: DrawTriangleLines() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 233: DrawTriangleFan() (3 input parameters) +Function 235: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 234: DrawTriangleStrip() (3 input parameters) +Function 236: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 235: DrawPoly() (5 input parameters) +Function 237: DrawPoly() (5 input parameters) Name: DrawPoly Return type: void Description: Draw a regular polygon (Vector version) @@ -2337,7 +2346,7 @@ Function 235: DrawPoly() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 236: DrawPolyLines() (5 input parameters) +Function 238: DrawPolyLines() (5 input parameters) Name: DrawPolyLines Return type: void Description: Draw a polygon outline of n sides @@ -2346,7 +2355,7 @@ Function 236: DrawPolyLines() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 237: DrawPolyLinesEx() (6 input parameters) +Function 239: DrawPolyLinesEx() (6 input parameters) Name: DrawPolyLinesEx Return type: void Description: Draw a polygon outline of n sides with extended parameters @@ -2356,7 +2365,7 @@ Function 237: DrawPolyLinesEx() (6 input parameters) Param[4]: rotation (type: float) Param[5]: lineThick (type: float) Param[6]: color (type: Color) -Function 238: DrawSplineLinear() (4 input parameters) +Function 240: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points @@ -2364,7 +2373,7 @@ Function 238: DrawSplineLinear() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 239: DrawSplineBasis() (4 input parameters) +Function 241: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points @@ -2372,7 +2381,7 @@ Function 239: DrawSplineBasis() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 240: DrawSplineCatmullRom() (4 input parameters) +Function 242: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points @@ -2380,7 +2389,7 @@ Function 240: DrawSplineCatmullRom() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 241: DrawSplineBezierQuadratic() (4 input parameters) +Function 243: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] @@ -2388,7 +2397,7 @@ Function 241: DrawSplineBezierQuadratic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 242: DrawSplineBezierCubic() (4 input parameters) +Function 244: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] @@ -2396,7 +2405,7 @@ Function 242: DrawSplineBezierCubic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 243: DrawSplineSegmentLinear() (4 input parameters) +Function 245: DrawSplineSegmentLinear() (4 input parameters) Name: DrawSplineSegmentLinear Return type: void Description: Draw spline segment: Linear, 2 points @@ -2404,7 +2413,7 @@ Function 243: DrawSplineSegmentLinear() (4 input parameters) Param[2]: p2 (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 244: DrawSplineSegmentBasis() (6 input parameters) +Function 246: DrawSplineSegmentBasis() (6 input parameters) Name: DrawSplineSegmentBasis Return type: void Description: Draw spline segment: B-Spline, 4 points @@ -2414,7 +2423,7 @@ Function 244: DrawSplineSegmentBasis() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 245: DrawSplineSegmentCatmullRom() (6 input parameters) +Function 247: DrawSplineSegmentCatmullRom() (6 input parameters) Name: DrawSplineSegmentCatmullRom Return type: void Description: Draw spline segment: Catmull-Rom, 4 points @@ -2424,7 +2433,7 @@ Function 245: DrawSplineSegmentCatmullRom() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 246: DrawSplineSegmentBezierQuadratic() (5 input parameters) +Function 248: DrawSplineSegmentBezierQuadratic() (5 input parameters) Name: DrawSplineSegmentBezierQuadratic Return type: void Description: Draw spline segment: Quadratic Bezier, 2 points, 1 control point @@ -2433,7 +2442,7 @@ Function 246: DrawSplineSegmentBezierQuadratic() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: thick (type: float) Param[5]: color (type: Color) -Function 247: DrawSplineSegmentBezierCubic() (6 input parameters) +Function 249: DrawSplineSegmentBezierCubic() (6 input parameters) Name: DrawSplineSegmentBezierCubic Return type: void Description: Draw spline segment: Cubic Bezier, 2 points, 2 control points @@ -2443,14 +2452,14 @@ Function 247: DrawSplineSegmentBezierCubic() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 248: GetSplinePointLinear() (3 input parameters) +Function 250: GetSplinePointLinear() (3 input parameters) Name: GetSplinePointLinear Return type: Vector2 Description: Get (evaluate) spline point: Linear Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: t (type: float) -Function 249: GetSplinePointBasis() (5 input parameters) +Function 251: GetSplinePointBasis() (5 input parameters) Name: GetSplinePointBasis Return type: Vector2 Description: Get (evaluate) spline point: B-Spline @@ -2459,7 +2468,7 @@ Function 249: GetSplinePointBasis() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 250: GetSplinePointCatmullRom() (5 input parameters) +Function 252: GetSplinePointCatmullRom() (5 input parameters) Name: GetSplinePointCatmullRom Return type: Vector2 Description: Get (evaluate) spline point: Catmull-Rom @@ -2468,7 +2477,7 @@ Function 250: GetSplinePointCatmullRom() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 251: GetSplinePointBezierQuad() (4 input parameters) +Function 253: GetSplinePointBezierQuad() (4 input parameters) Name: GetSplinePointBezierQuad Return type: Vector2 Description: Get (evaluate) spline point: Quadratic Bezier @@ -2476,7 +2485,7 @@ Function 251: GetSplinePointBezierQuad() (4 input parameters) Param[2]: c2 (type: Vector2) Param[3]: p3 (type: Vector2) Param[4]: t (type: float) -Function 252: GetSplinePointBezierCubic() (5 input parameters) +Function 254: GetSplinePointBezierCubic() (5 input parameters) Name: GetSplinePointBezierCubic Return type: Vector2 Description: Get (evaluate) spline point: Cubic Bezier @@ -2485,13 +2494,13 @@ Function 252: GetSplinePointBezierCubic() (5 input parameters) Param[3]: c3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 253: CheckCollisionRecs() (2 input parameters) +Function 255: CheckCollisionRecs() (2 input parameters) Name: CheckCollisionRecs Return type: bool Description: Check collision between two rectangles Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 254: CheckCollisionCircles() (4 input parameters) +Function 256: CheckCollisionCircles() (4 input parameters) Name: CheckCollisionCircles Return type: bool Description: Check collision between two circles @@ -2499,27 +2508,27 @@ Function 254: CheckCollisionCircles() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector2) Param[4]: radius2 (type: float) -Function 255: CheckCollisionCircleRec() (3 input parameters) +Function 257: CheckCollisionCircleRec() (3 input parameters) Name: CheckCollisionCircleRec Return type: bool Description: Check collision between circle and rectangle Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: rec (type: Rectangle) -Function 256: CheckCollisionPointRec() (2 input parameters) +Function 258: CheckCollisionPointRec() (2 input parameters) Name: CheckCollisionPointRec Return type: bool Description: Check if point is inside rectangle Param[1]: point (type: Vector2) Param[2]: rec (type: Rectangle) -Function 257: CheckCollisionPointCircle() (3 input parameters) +Function 259: CheckCollisionPointCircle() (3 input parameters) Name: CheckCollisionPointCircle Return type: bool Description: Check if point is inside circle Param[1]: point (type: Vector2) Param[2]: center (type: Vector2) Param[3]: radius (type: float) -Function 258: CheckCollisionPointTriangle() (4 input parameters) +Function 260: CheckCollisionPointTriangle() (4 input parameters) Name: CheckCollisionPointTriangle Return type: bool Description: Check if point is inside a triangle @@ -2527,14 +2536,14 @@ Function 258: CheckCollisionPointTriangle() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: p3 (type: Vector2) -Function 259: CheckCollisionPointPoly() (3 input parameters) +Function 261: CheckCollisionPointPoly() (3 input parameters) Name: CheckCollisionPointPoly Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) -Function 260: CheckCollisionLines() (5 input parameters) +Function 262: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines Return type: bool Description: Check the collision between two lines defined by two points each, returns collision point by reference @@ -2543,7 +2552,7 @@ Function 260: CheckCollisionLines() (5 input parameters) Param[3]: startPos2 (type: Vector2) Param[4]: endPos2 (type: Vector2) Param[5]: collisionPoint (type: Vector2 *) -Function 261: CheckCollisionPointLine() (4 input parameters) +Function 263: CheckCollisionPointLine() (4 input parameters) Name: CheckCollisionPointLine Return type: bool Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] @@ -2551,18 +2560,18 @@ Function 261: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 262: GetCollisionRec() (2 input parameters) +Function 264: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 263: LoadImage() (1 input parameters) +Function 265: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 264: LoadImageRaw() (5 input parameters) +Function 266: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2571,73 +2580,81 @@ Function 264: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 265: LoadImageSvg() (3 input parameters) +Function 267: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 266: LoadImageAnim() (2 input parameters) +Function 268: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 267: LoadImageFromMemory() (3 input parameters) +Function 269: LoadImageAnimFromMemory() (4 input parameters) + Name: LoadImageAnimFromMemory + Return type: Image + Description: Load image sequence from memory buffer + Param[1]: fileType (type: const char *) + Param[2]: fileData (type: const unsigned char *) + Param[3]: dataSize (type: int) + Param[4]: frames (type: int *) +Function 270: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 268: LoadImageFromTexture() (1 input parameters) +Function 271: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 269: LoadImageFromScreen() (0 input parameters) +Function 272: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 270: IsImageReady() (1 input parameters) +Function 273: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 271: UnloadImage() (1 input parameters) +Function 274: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 272: ExportImage() (2 input parameters) +Function 275: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 273: ExportImageToMemory() (3 input parameters) +Function 276: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 274: ExportImageAsCode() (2 input parameters) +Function 277: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 275: GenImageColor() (3 input parameters) +Function 278: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 276: GenImageGradientLinear() (5 input parameters) +Function 279: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2646,7 +2663,7 @@ Function 276: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 277: GenImageGradientRadial() (5 input parameters) +Function 280: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2655,7 +2672,7 @@ Function 277: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 278: GenImageGradientSquare() (5 input parameters) +Function 281: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2664,7 +2681,7 @@ Function 278: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 279: GenImageChecked() (6 input parameters) +Function 282: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2674,14 +2691,14 @@ Function 279: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 280: GenImageWhiteNoise() (3 input parameters) +Function 283: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 281: GenImagePerlinNoise() (5 input parameters) +Function 284: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2690,39 +2707,39 @@ Function 281: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 282: GenImageCellular() (3 input parameters) +Function 285: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 283: GenImageText() (3 input parameters) +Function 286: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 284: ImageCopy() (1 input parameters) +Function 287: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 285: ImageFromImage() (2 input parameters) +Function 288: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 286: ImageText() (3 input parameters) +Function 289: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 287: ImageTextEx() (5 input parameters) +Function 290: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2731,76 +2748,76 @@ Function 287: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 288: ImageFormat() (2 input parameters) +Function 291: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 289: ImageToPOT() (2 input parameters) +Function 292: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 290: ImageCrop() (2 input parameters) +Function 293: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 291: ImageAlphaCrop() (2 input parameters) +Function 294: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 292: ImageAlphaClear() (3 input parameters) +Function 295: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 293: ImageAlphaMask() (2 input parameters) +Function 296: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 294: ImageAlphaPremultiply() (1 input parameters) +Function 297: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 295: ImageBlurGaussian() (2 input parameters) +Function 298: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 296: ImageKernelConvolution() (3 input parameters) +Function 299: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 297: ImageResize() (3 input parameters) +Function 300: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 298: ImageResizeNN() (3 input parameters) +Function 301: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 299: ImageResizeCanvas() (6 input parameters) +Function 302: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2810,12 +2827,12 @@ Function 299: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 300: ImageMipmaps() (1 input parameters) +Function 303: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 301: ImageDither() (5 input parameters) +Function 304: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2824,109 +2841,109 @@ Function 301: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 302: ImageFlipVertical() (1 input parameters) +Function 305: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 303: ImageFlipHorizontal() (1 input parameters) +Function 306: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 304: ImageRotate() (2 input parameters) +Function 307: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 305: ImageRotateCW() (1 input parameters) +Function 308: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 306: ImageRotateCCW() (1 input parameters) +Function 309: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 307: ImageColorTint() (2 input parameters) +Function 310: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 308: ImageColorInvert() (1 input parameters) +Function 311: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 309: ImageColorGrayscale() (1 input parameters) +Function 312: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 310: ImageColorContrast() (2 input parameters) +Function 313: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 311: ImageColorBrightness() (2 input parameters) +Function 314: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 312: ImageColorReplace() (3 input parameters) +Function 315: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 313: LoadImageColors() (1 input parameters) +Function 316: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 314: LoadImagePalette() (3 input parameters) +Function 317: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 315: UnloadImageColors() (1 input parameters) +Function 318: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 316: UnloadImagePalette() (1 input parameters) +Function 319: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 317: GetImageAlphaBorder() (2 input parameters) +Function 320: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 318: GetImageColor() (3 input parameters) +Function 321: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 319: ImageClearBackground() (2 input parameters) +Function 322: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 320: ImageDrawPixel() (4 input parameters) +Function 323: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2934,14 +2951,14 @@ Function 320: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 321: ImageDrawPixelV() (3 input parameters) +Function 324: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 322: ImageDrawLine() (6 input parameters) +Function 325: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -2951,7 +2968,7 @@ Function 322: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 323: ImageDrawLineV() (4 input parameters) +Function 326: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -2959,7 +2976,7 @@ Function 323: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 324: ImageDrawCircle() (5 input parameters) +Function 327: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -2968,7 +2985,7 @@ Function 324: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 325: ImageDrawCircleV() (4 input parameters) +Function 328: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -2976,7 +2993,7 @@ Function 325: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 326: ImageDrawCircleLines() (5 input parameters) +Function 329: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -2985,7 +3002,7 @@ Function 326: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 327: ImageDrawCircleLinesV() (4 input parameters) +Function 330: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -2993,7 +3010,7 @@ Function 327: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 328: ImageDrawRectangle() (6 input parameters) +Function 331: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3003,7 +3020,7 @@ Function 328: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 329: ImageDrawRectangleV() (4 input parameters) +Function 332: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3011,14 +3028,14 @@ Function 329: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 330: ImageDrawRectangleRec() (3 input parameters) +Function 333: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 331: ImageDrawRectangleLines() (4 input parameters) +Function 334: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3026,7 +3043,7 @@ Function 331: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 332: ImageDraw() (5 input parameters) +Function 335: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3035,7 +3052,7 @@ Function 332: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 333: ImageDrawText() (6 input parameters) +Function 336: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3045,7 +3062,7 @@ Function 333: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 334: ImageDrawTextEx() (7 input parameters) +Function 337: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3056,79 +3073,79 @@ Function 334: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 335: LoadTexture() (1 input parameters) +Function 338: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 336: LoadTextureFromImage() (1 input parameters) +Function 339: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 337: LoadTextureCubemap() (2 input parameters) +Function 340: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 338: LoadRenderTexture() (2 input parameters) +Function 341: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 339: IsTextureReady() (1 input parameters) +Function 342: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 340: UnloadTexture() (1 input parameters) +Function 343: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 341: IsRenderTextureReady() (1 input parameters) +Function 344: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 342: UnloadRenderTexture() (1 input parameters) +Function 345: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 343: UpdateTexture() (2 input parameters) +Function 346: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 344: UpdateTextureRec() (3 input parameters) +Function 347: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 345: GenTextureMipmaps() (1 input parameters) +Function 348: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 346: SetTextureFilter() (2 input parameters) +Function 349: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 347: SetTextureWrap() (2 input parameters) +Function 350: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 348: DrawTexture() (4 input parameters) +Function 351: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3136,14 +3153,14 @@ Function 348: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 349: DrawTextureV() (3 input parameters) +Function 352: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 350: DrawTextureEx() (5 input parameters) +Function 353: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3152,7 +3169,7 @@ Function 350: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 351: DrawTextureRec() (4 input parameters) +Function 354: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3160,7 +3177,7 @@ Function 351: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 352: DrawTexturePro() (6 input parameters) +Function 355: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3170,7 +3187,7 @@ Function 352: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 353: DrawTextureNPatch() (6 input parameters) +Function 356: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3180,106 +3197,106 @@ Function 353: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 354: Fade() (2 input parameters) +Function 357: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 355: ColorToInt() (1 input parameters) +Function 358: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color Param[1]: color (type: Color) -Function 356: ColorNormalize() (1 input parameters) +Function 359: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 357: ColorFromNormalized() (1 input parameters) +Function 360: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 358: ColorToHSV() (1 input parameters) +Function 361: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 359: ColorFromHSV() (3 input parameters) +Function 362: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 360: ColorTint() (2 input parameters) +Function 363: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 361: ColorBrightness() (2 input parameters) +Function 364: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 362: ColorContrast() (2 input parameters) +Function 365: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 363: ColorAlpha() (2 input parameters) +Function 366: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 364: ColorAlphaBlend() (3 input parameters) +Function 367: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 365: GetColor() (1 input parameters) +Function 368: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 366: GetPixelColor() (2 input parameters) +Function 369: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 367: SetPixelColor() (3 input parameters) +Function 370: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 368: GetPixelDataSize() (3 input parameters) +Function 371: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 369: GetFontDefault() (0 input parameters) +Function 372: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 370: LoadFont() (1 input parameters) +Function 373: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 371: LoadFontEx() (4 input parameters) +Function 374: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3287,14 +3304,14 @@ Function 371: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 372: LoadFontFromImage() (3 input parameters) +Function 375: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 373: LoadFontFromMemory() (6 input parameters) +Function 376: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3304,12 +3321,12 @@ Function 373: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 374: IsFontReady() (1 input parameters) +Function 377: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 375: LoadFontData() (6 input parameters) +Function 378: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3319,7 +3336,7 @@ Function 375: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 376: GenImageFontAtlas() (6 input parameters) +Function 379: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3329,30 +3346,30 @@ Function 376: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 377: UnloadFontData() (2 input parameters) +Function 380: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 378: UnloadFont() (1 input parameters) +Function 381: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 379: ExportFontAsCode() (2 input parameters) +Function 382: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 380: DrawFPS() (2 input parameters) +Function 383: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 381: DrawText() (5 input parameters) +Function 384: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3361,7 +3378,7 @@ Function 381: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 382: DrawTextEx() (6 input parameters) +Function 385: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3371,7 +3388,7 @@ Function 382: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 383: DrawTextPro() (8 input parameters) +Function 386: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3383,7 +3400,7 @@ Function 383: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 384: DrawTextCodepoint() (5 input parameters) +Function 387: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3392,7 +3409,7 @@ Function 384: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 385: DrawTextCodepoints() (7 input parameters) +Function 388: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3403,18 +3420,18 @@ Function 385: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 386: SetTextLineSpacing() (1 input parameters) +Function 389: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 387: MeasureText() (2 input parameters) +Function 390: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 388: MeasureTextEx() (4 input parameters) +Function 391: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3422,180 +3439,185 @@ Function 388: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 389: GetGlyphIndex() (2 input parameters) +Function 392: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 390: GetGlyphInfo() (2 input parameters) +Function 393: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 391: GetGlyphAtlasRec() (2 input parameters) +Function 394: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 392: LoadUTF8() (2 input parameters) +Function 395: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 393: UnloadUTF8() (1 input parameters) +Function 396: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 394: LoadCodepoints() (2 input parameters) +Function 397: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 395: UnloadCodepoints() (1 input parameters) +Function 398: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 396: GetCodepointCount() (1 input parameters) +Function 399: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 397: GetCodepoint() (2 input parameters) +Function 400: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 398: GetCodepointNext() (2 input parameters) +Function 401: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 399: GetCodepointPrevious() (2 input parameters) +Function 402: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 400: CodepointToUTF8() (2 input parameters) +Function 403: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 401: TextCopy() (2 input parameters) +Function 404: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 402: TextIsEqual() (2 input parameters) +Function 405: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 403: TextLength() (1 input parameters) +Function 406: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 404: TextFormat() (2 input parameters) +Function 407: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 405: TextSubtext() (3 input parameters) +Function 408: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 406: TextReplace() (3 input parameters) +Function 409: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) - Param[1]: text (type: char *) + Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 407: TextInsert() (3 input parameters) +Function 410: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 408: TextJoin() (3 input parameters) +Function 411: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 409: TextSplit() (3 input parameters) +Function 412: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 410: TextAppend() (3 input parameters) +Function 413: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 411: TextFindIndex() (2 input parameters) +Function 414: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 412: TextToUpper() (1 input parameters) +Function 415: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 413: TextToLower() (1 input parameters) +Function 416: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 414: TextToPascal() (1 input parameters) +Function 417: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 415: TextToInteger() (1 input parameters) +Function 418: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 416: DrawLine3D() (3 input parameters) +Function 419: TextToFloat() (1 input parameters) + Name: TextToFloat + Return type: float + Description: Get float value from text (negative values not supported) + Param[1]: text (type: const char *) +Function 420: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 417: DrawPoint3D() (2 input parameters) +Function 421: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 418: DrawCircle3D() (5 input parameters) +Function 422: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3604,7 +3626,7 @@ Function 418: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 419: DrawTriangle3D() (4 input parameters) +Function 423: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3612,14 +3634,14 @@ Function 419: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 420: DrawTriangleStrip3D() (3 input parameters) +Function 424: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 421: DrawCube() (5 input parameters) +Function 425: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3628,14 +3650,14 @@ Function 421: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 422: DrawCubeV() (3 input parameters) +Function 426: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 423: DrawCubeWires() (5 input parameters) +Function 427: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3644,21 +3666,21 @@ Function 423: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 424: DrawCubeWiresV() (3 input parameters) +Function 428: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 425: DrawSphere() (3 input parameters) +Function 429: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 426: DrawSphereEx() (5 input parameters) +Function 430: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3667,7 +3689,7 @@ Function 426: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 427: DrawSphereWires() (5 input parameters) +Function 431: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3676,7 +3698,7 @@ Function 427: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 428: DrawCylinder() (6 input parameters) +Function 432: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3686,7 +3708,7 @@ Function 428: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 429: DrawCylinderEx() (6 input parameters) +Function 433: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3696,7 +3718,7 @@ Function 429: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 430: DrawCylinderWires() (6 input parameters) +Function 434: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3706,7 +3728,7 @@ Function 430: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 431: DrawCylinderWiresEx() (6 input parameters) +Function 435: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3716,7 +3738,7 @@ Function 431: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 432: DrawCapsule() (6 input parameters) +Function 436: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3726,7 +3748,7 @@ Function 432: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 433: DrawCapsuleWires() (6 input parameters) +Function 437: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3736,51 +3758,51 @@ Function 433: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 434: DrawPlane() (3 input parameters) +Function 438: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 435: DrawRay() (2 input parameters) +Function 439: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 436: DrawGrid() (2 input parameters) +Function 440: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 437: LoadModel() (1 input parameters) +Function 441: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 438: LoadModelFromMesh() (1 input parameters) +Function 442: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 439: IsModelReady() (1 input parameters) +Function 443: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 440: UnloadModel() (1 input parameters) +Function 444: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 441: GetModelBoundingBox() (1 input parameters) +Function 445: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 442: DrawModel() (4 input parameters) +Function 446: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3788,7 +3810,7 @@ Function 442: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 443: DrawModelEx() (6 input parameters) +Function 447: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3798,7 +3820,7 @@ Function 443: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 444: DrawModelWires() (4 input parameters) +Function 448: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3806,7 +3828,7 @@ Function 444: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 445: DrawModelWiresEx() (6 input parameters) +Function 449: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3816,13 +3838,13 @@ Function 445: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 446: DrawBoundingBox() (2 input parameters) +Function 450: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 447: DrawBillboard() (5 input parameters) +Function 451: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3831,7 +3853,7 @@ Function 447: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 448: DrawBillboardRec() (6 input parameters) +Function 452: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3841,7 +3863,7 @@ Function 448: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 449: DrawBillboardPro() (9 input parameters) +Function 453: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3854,13 +3876,13 @@ Function 449: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 450: UploadMesh() (2 input parameters) +Function 454: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 451: UpdateMeshBuffer() (5 input parameters) +Function 455: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3869,19 +3891,19 @@ Function 451: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 452: UnloadMesh() (1 input parameters) +Function 456: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 453: DrawMesh() (3 input parameters) +Function 457: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 454: DrawMeshInstanced() (4 input parameters) +Function 458: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3889,29 +3911,35 @@ Function 454: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 455: ExportMesh() (2 input parameters) +Function 459: GetMeshBoundingBox() (1 input parameters) + Name: GetMeshBoundingBox + Return type: BoundingBox + Description: Compute mesh bounding box limits + Param[1]: mesh (type: Mesh) +Function 460: GenMeshTangents() (1 input parameters) + Name: GenMeshTangents + Return type: void + Description: Compute mesh tangents + Param[1]: mesh (type: Mesh *) +Function 461: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 456: GetMeshBoundingBox() (1 input parameters) - Name: GetMeshBoundingBox - Return type: BoundingBox - Description: Compute mesh bounding box limits +Function 462: ExportMeshAsCode() (2 input parameters) + Name: ExportMeshAsCode + Return type: bool + Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) -Function 457: GenMeshTangents() (1 input parameters) - Name: GenMeshTangents - Return type: void - Description: Compute mesh tangents - Param[1]: mesh (type: Mesh *) -Function 458: GenMeshPoly() (2 input parameters) + Param[2]: fileName (type: const char *) +Function 463: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 459: GenMeshPlane() (4 input parameters) +Function 464: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3919,42 +3947,42 @@ Function 459: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 460: GenMeshCube() (3 input parameters) +Function 465: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 461: GenMeshSphere() (3 input parameters) +Function 466: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 462: GenMeshHemiSphere() (3 input parameters) +Function 467: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 463: GenMeshCylinder() (3 input parameters) +Function 468: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 464: GenMeshCone() (3 input parameters) +Function 469: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 465: GenMeshTorus() (4 input parameters) +Function 470: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -3962,7 +3990,7 @@ Function 465: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 466: GenMeshKnot() (4 input parameters) +Function 471: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -3970,84 +3998,84 @@ Function 466: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 467: GenMeshHeightmap() (2 input parameters) +Function 472: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 468: GenMeshCubicmap() (2 input parameters) +Function 473: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 469: LoadMaterials() (2 input parameters) +Function 474: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 470: LoadMaterialDefault() (0 input parameters) +Function 475: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 471: IsMaterialReady() (1 input parameters) +Function 476: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 472: UnloadMaterial() (1 input parameters) +Function 477: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 473: SetMaterialTexture() (3 input parameters) +Function 478: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 474: SetModelMeshMaterial() (3 input parameters) +Function 479: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 475: LoadModelAnimations() (2 input parameters) +Function 480: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 476: UpdateModelAnimation() (3 input parameters) +Function 481: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 477: UnloadModelAnimation() (1 input parameters) +Function 482: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 478: UnloadModelAnimations() (2 input parameters) +Function 483: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 479: IsModelAnimationValid() (2 input parameters) +Function 484: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 480: CheckCollisionSpheres() (4 input parameters) +Function 485: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4055,40 +4083,40 @@ Function 480: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 481: CheckCollisionBoxes() (2 input parameters) +Function 486: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 482: CheckCollisionBoxSphere() (3 input parameters) +Function 487: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 483: GetRayCollisionSphere() (3 input parameters) +Function 488: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 484: GetRayCollisionBox() (2 input parameters) +Function 489: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 485: GetRayCollisionMesh() (3 input parameters) +Function 490: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 486: GetRayCollisionTriangle() (4 input parameters) +Function 491: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4096,7 +4124,7 @@ Function 486: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 487: GetRayCollisionQuad() (5 input parameters) +Function 492: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4105,158 +4133,158 @@ Function 487: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 488: InitAudioDevice() (0 input parameters) +Function 493: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 489: CloseAudioDevice() (0 input parameters) +Function 494: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 490: IsAudioDeviceReady() (0 input parameters) +Function 495: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 491: SetMasterVolume() (1 input parameters) +Function 496: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 492: GetMasterVolume() (0 input parameters) +Function 497: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 493: LoadWave() (1 input parameters) +Function 498: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 494: LoadWaveFromMemory() (3 input parameters) +Function 499: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 495: IsWaveReady() (1 input parameters) +Function 500: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 496: LoadSound() (1 input parameters) +Function 501: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 497: LoadSoundFromWave() (1 input parameters) +Function 502: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 498: LoadSoundAlias() (1 input parameters) +Function 503: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 499: IsSoundReady() (1 input parameters) +Function 504: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 500: UpdateSound() (3 input parameters) +Function 505: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 501: UnloadWave() (1 input parameters) +Function 506: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 502: UnloadSound() (1 input parameters) +Function 507: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 503: UnloadSoundAlias() (1 input parameters) +Function 508: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 504: ExportWave() (2 input parameters) +Function 509: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 505: ExportWaveAsCode() (2 input parameters) +Function 510: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 506: PlaySound() (1 input parameters) +Function 511: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 507: StopSound() (1 input parameters) +Function 512: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 508: PauseSound() (1 input parameters) +Function 513: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 509: ResumeSound() (1 input parameters) +Function 514: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 510: IsSoundPlaying() (1 input parameters) +Function 515: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 511: SetSoundVolume() (2 input parameters) +Function 516: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 512: SetSoundPitch() (2 input parameters) +Function 517: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 513: SetSoundPan() (2 input parameters) +Function 518: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 514: WaveCopy() (1 input parameters) +Function 519: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 515: WaveCrop() (3 input parameters) +Function 520: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined samples range Param[1]: wave (type: Wave *) Param[2]: initSample (type: int) Param[3]: finalSample (type: int) -Function 516: WaveFormat() (4 input parameters) +Function 521: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4264,203 +4292,203 @@ Function 516: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 517: LoadWaveSamples() (1 input parameters) +Function 522: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 518: UnloadWaveSamples() (1 input parameters) +Function 523: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 519: LoadMusicStream() (1 input parameters) +Function 524: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 520: LoadMusicStreamFromMemory() (3 input parameters) +Function 525: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 521: IsMusicReady() (1 input parameters) +Function 526: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 522: UnloadMusicStream() (1 input parameters) +Function 527: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 523: PlayMusicStream() (1 input parameters) +Function 528: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 524: IsMusicStreamPlaying() (1 input parameters) +Function 529: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 525: UpdateMusicStream() (1 input parameters) +Function 530: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 526: StopMusicStream() (1 input parameters) +Function 531: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 527: PauseMusicStream() (1 input parameters) +Function 532: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 528: ResumeMusicStream() (1 input parameters) +Function 533: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 529: SeekMusicStream() (2 input parameters) +Function 534: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 530: SetMusicVolume() (2 input parameters) +Function 535: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 531: SetMusicPitch() (2 input parameters) +Function 536: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 532: SetMusicPan() (2 input parameters) +Function 537: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 533: GetMusicTimeLength() (1 input parameters) +Function 538: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 534: GetMusicTimePlayed() (1 input parameters) +Function 539: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 535: LoadAudioStream() (3 input parameters) +Function 540: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 536: IsAudioStreamReady() (1 input parameters) +Function 541: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 537: UnloadAudioStream() (1 input parameters) +Function 542: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 538: UpdateAudioStream() (3 input parameters) +Function 543: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 539: IsAudioStreamProcessed() (1 input parameters) +Function 544: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 540: PlayAudioStream() (1 input parameters) +Function 545: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 541: PauseAudioStream() (1 input parameters) +Function 546: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 542: ResumeAudioStream() (1 input parameters) +Function 547: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 543: IsAudioStreamPlaying() (1 input parameters) +Function 548: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 544: StopAudioStream() (1 input parameters) +Function 549: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 545: SetAudioStreamVolume() (2 input parameters) +Function 550: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 546: SetAudioStreamPitch() (2 input parameters) +Function 551: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 547: SetAudioStreamPan() (2 input parameters) +Function 552: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 548: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 553: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 549: SetAudioStreamCallback() (2 input parameters) +Function 554: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 550: AttachAudioStreamProcessor() (2 input parameters) +Function 555: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as s Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 551: DetachAudioStreamProcessor() (2 input parameters) +Function 556: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 552: AttachAudioMixedProcessor() (1 input parameters) +Function 557: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as s Param[1]: processor (type: AudioCallback) -Function 553: DetachAudioMixedProcessor() (1 input parameters) +Function 558: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 15cb77dce..4a483b36e 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -256,12 +256,11 @@ - + - @@ -670,7 +669,7 @@ - + @@ -1113,7 +1112,7 @@ - + @@ -1271,6 +1270,10 @@ + + + + @@ -1670,6 +1673,12 @@ + + + + + + @@ -2328,7 +2337,7 @@ - + @@ -2368,6 +2377,9 @@ + + + @@ -2597,16 +2609,20 @@ - - - - + + + + + + + + From 3f1e59a7cfd53f4a4643dc57f4466784a66542bc Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 2 Jan 2024 20:58:12 +0100 Subject: [PATCH 062/745] Update copyright to 2024 --- examples/Makefile | 2 +- examples/Makefile.Android | 2 +- examples/Makefile.Web | 2 +- examples/audio/audio_module_playing.c | 2 +- examples/audio/audio_music_stream.c | 2 +- examples/audio/audio_raw_stream.c | 2 +- examples/audio/audio_sound_loading.c | 2 +- examples/audio/audio_stream_effects.c | 2 +- examples/core/core_2d_camera.c | 2 +- examples/core/core_2d_camera_mouse_zoom.c | 2 +- examples/core/core_2d_camera_platformer.c | 2 +- examples/core/core_3d_camera_first_person.c | 2 +- examples/core/core_3d_camera_free.c | 2 +- examples/core/core_3d_camera_mode.c | 2 +- examples/core/core_3d_camera_split_screen.c | 2 +- examples/core/core_3d_picking.c | 2 +- examples/core/core_basic_screen_manager.c | 2 +- examples/core/core_basic_window.c | 2 +- examples/core/core_basic_window_web.c | 2 +- examples/core/core_custom_frame_control.c | 2 +- examples/core/core_custom_logging.c | 2 +- examples/core/core_drop_files.c | 2 +- examples/core/core_input_gamepad.c | 2 +- examples/core/core_input_gamepad_info.c | 2 +- examples/core/core_input_gestures.c | 2 +- examples/core/core_input_keys.c | 2 +- examples/core/core_input_mouse.c | 2 +- examples/core/core_input_mouse_wheel.c | 2 +- examples/core/core_input_multitouch.c | 2 +- examples/core/core_loading_thread.c | 2 +- examples/core/core_random_values.c | 2 +- examples/core/core_scissor_test.c | 2 +- examples/core/core_smooth_pixelperfect.c | 2 +- examples/core/core_storage_values.c | 2 +- examples/core/core_vr_simulator.c | 2 +- examples/core/core_window_flags.c | 2 +- examples/core/core_window_letterbox.c | 2 +- examples/core/core_window_should_close.c | 2 +- examples/core/core_world_screen.c | 2 +- examples/models/models_animation.c | 2 +- examples/models/models_billboard.c | 2 +- examples/models/models_box_collisions.c | 2 +- examples/models/models_cubicmap.c | 2 +- examples/models/models_draw_cube_texture.c | 2 +- examples/models/models_first_person_maze.c | 2 +- examples/models/models_geometric_shapes.c | 2 +- examples/models/models_heightmap.c | 2 +- examples/models/models_loading.c | 2 +- examples/models/models_loading_gltf.c | 2 +- examples/models/models_loading_m3d.c | 2 +- examples/models/models_loading_vox.c | 2 +- examples/models/models_mesh_generation.c | 2 +- examples/models/models_mesh_picking.c | 2 +- examples/models/models_orthographic_projection.c | 2 +- examples/models/models_rlgl_solar_system.c | 2 +- examples/models/models_skybox.c | 2 +- examples/models/models_waving_cubes.c | 2 +- examples/models/models_yaw_pitch_roll.c | 2 +- examples/others/easings_testbed.c | 2 +- examples/others/embedded_files_loading.c | 2 +- examples/others/raylib_opengl_interop.c | 2 +- examples/others/reasings.h | 2 +- examples/others/rlgl_compute_shader.c | 2 +- examples/others/rlgl_standalone.c | 2 +- examples/shaders/rlights.h | 2 +- examples/shaders/shaders_basic_lighting.c | 2 +- examples/shaders/shaders_custom_uniform.c | 2 +- examples/shaders/shaders_eratosthenes.c | 2 +- examples/shaders/shaders_fog.c | 2 +- examples/shaders/shaders_hot_reloading.c | 2 +- examples/shaders/shaders_hybrid_render.c | 2 +- examples/shaders/shaders_julia_set.c | 2 +- examples/shaders/shaders_lightmap.c | 2 +- examples/shaders/shaders_mesh_instancing.c | 2 +- examples/shaders/shaders_model_shader.c | 2 +- examples/shaders/shaders_multi_sample2d.c | 2 +- examples/shaders/shaders_palette_switch.c | 2 +- examples/shaders/shaders_postprocessing.c | 2 +- examples/shaders/shaders_raymarching.c | 2 +- examples/shaders/shaders_shapes_textures.c | 2 +- examples/shaders/shaders_simple_mask.c | 2 +- examples/shaders/shaders_spotlight.c | 2 +- examples/shaders/shaders_texture_drawing.c | 2 +- examples/shaders/shaders_texture_outline.c | 2 +- examples/shaders/shaders_texture_waves.c | 2 +- examples/shaders/shaders_write_depth.c | 2 +- examples/shapes/reasings.h | 2 +- examples/shapes/shapes_basic_shapes.c | 2 +- examples/shapes/shapes_bouncing_ball.c | 2 +- examples/shapes/shapes_collision_area.c | 2 +- examples/shapes/shapes_colors_palette.c | 2 +- examples/shapes/shapes_draw_circle_sector.c | 2 +- examples/shapes/shapes_draw_rectangle_rounded.c | 2 +- examples/shapes/shapes_draw_ring.c | 2 +- examples/shapes/shapes_easings_ball_anim.c | 2 +- examples/shapes/shapes_easings_box_anim.c | 2 +- examples/shapes/shapes_easings_rectangle_array.c | 2 +- examples/shapes/shapes_following_eyes.c | 2 +- examples/shapes/shapes_lines_bezier.c | 2 +- examples/shapes/shapes_logo_raylib.c | 2 +- examples/shapes/shapes_logo_raylib_anim.c | 2 +- examples/shapes/shapes_rectangle_scaling.c | 2 +- examples/shapes/shapes_top_down_lights.c | 2 +- examples/text/text_codepoints_loading.c | 2 +- examples/text/text_draw_3d.c | 2 +- examples/text/text_font_filters.c | 2 +- examples/text/text_font_loading.c | 2 +- examples/text/text_font_sdf.c | 2 +- examples/text/text_font_spritefont.c | 2 +- examples/text/text_format_text.c | 2 +- examples/text/text_input_box.c | 2 +- examples/text/text_raylib_fonts.c | 2 +- examples/text/text_rectangle_bounds.c | 2 +- examples/text/text_unicode.c | 2 +- examples/text/text_writing_anim.c | 2 +- examples/textures/textures_background_scrolling.c | 2 +- examples/textures/textures_blend_modes.c | 2 +- examples/textures/textures_bunnymark.c | 2 +- examples/textures/textures_draw_tiled.c | 2 +- examples/textures/textures_fog_of_war.c | 2 +- examples/textures/textures_gif_player.c | 2 +- examples/textures/textures_image_drawing.c | 2 +- examples/textures/textures_image_generation.c | 2 +- examples/textures/textures_image_kernel.c | 2 +- examples/textures/textures_image_loading.c | 2 +- examples/textures/textures_image_processing.c | 2 +- examples/textures/textures_image_rotate.c | 2 +- examples/textures/textures_image_text.c | 2 +- examples/textures/textures_logo_raylib.c | 2 +- examples/textures/textures_mouse_painting.c | 2 +- examples/textures/textures_npatch_drawing.c | 2 +- examples/textures/textures_particles_blending.c | 2 +- examples/textures/textures_polygon.c | 2 +- examples/textures/textures_raw_data.c | 2 +- examples/textures/textures_sprite_anim.c | 2 +- examples/textures/textures_sprite_button.c | 2 +- examples/textures/textures_sprite_explosion.c | 2 +- examples/textures/textures_srcrec_dstrec.c | 2 +- examples/textures/textures_textured_curve.c | 2 +- examples/textures/textures_to_image.c | 2 +- parser/README.md | 2 +- parser/raylib_parser.c | 4 ++-- projects/4coder/Makefile | 2 +- projects/Geany/core_basic_window.c | 2 +- projects/VSCode/main.c | 2 +- src/Makefile | 2 +- src/config.h | 2 +- src/platforms/rcore_android.c | 2 +- src/platforms/rcore_desktop.c | 2 +- src/platforms/rcore_desktop_sdl.c | 2 +- src/platforms/rcore_drm.c | 2 +- src/platforms/rcore_template.c | 2 +- src/platforms/rcore_web.c | 2 +- src/raudio.c | 4 ++-- src/raylib.h | 2 +- src/raymath.h | 2 +- src/rcamera.h | 2 +- src/rcore.c | 2 +- src/rgestures.h | 2 +- src/rglfw.c | 2 +- src/rlgl.h | 2 +- src/rmodels.c | 4 ++-- src/rshapes.c | 2 +- src/rtext.c | 4 ++-- src/rtextures.c | 4 ++-- src/utils.c | 4 ++-- src/utils.h | 2 +- 167 files changed, 173 insertions(+), 173 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 235deda28..bc81a58f4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -21,7 +21,7 @@ # > PLATFORM_ANDROID: # - Android (ARM, ARM64) # -# Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/Makefile.Android b/examples/Makefile.Android index 267c4aa57..08cdf1515 100644 --- a/examples/Makefile.Android +++ b/examples/Makefile.Android @@ -2,7 +2,7 @@ # # raylib makefile for Android project (APK building) # -# Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +# Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 8bec06452..39f64c071 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -2,7 +2,7 @@ # # raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5 # -# Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/audio/audio_module_playing.c b/examples/audio/audio_module_playing.c index bf5530fdc..6234f0e55 100644 --- a/examples/audio/audio_module_playing.c +++ b/examples/audio/audio_module_playing.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/audio/audio_music_stream.c b/examples/audio/audio_music_stream.c index 4cf29973d..bdf141edf 100644 --- a/examples/audio/audio_music_stream.c +++ b/examples/audio/audio_music_stream.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/audio/audio_raw_stream.c b/examples/audio/audio_raw_stream.c index b3173ab97..0b7954293 100644 --- a/examples/audio/audio_raw_stream.c +++ b/examples/audio/audio_raw_stream.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) and James Hofmann (@triplefox) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) and James Hofmann (@triplefox) * ********************************************************************************************/ diff --git a/examples/audio/audio_sound_loading.c b/examples/audio/audio_sound_loading.c index dae6516ee..41aa2160e 100644 --- a/examples/audio/audio_sound_loading.c +++ b/examples/audio/audio_sound_loading.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/audio/audio_stream_effects.c b/examples/audio/audio_stream_effects.c index 2262d41f9..cc8273abc 100644 --- a/examples/audio/audio_stream_effects.c +++ b/examples/audio/audio_stream_effects.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2022-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_2d_camera.c b/examples/core/core_2d_camera.c index 759c099a1..99b61d4e5 100644 --- a/examples/core/core_2d_camera.c +++ b/examples/core/core_2d_camera.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_2d_camera_mouse_zoom.c b/examples/core/core_2d_camera_mouse_zoom.c index 2e94d37a5..abc6a6d14 100644 --- a/examples/core/core_2d_camera_mouse_zoom.c +++ b/examples/core/core_2d_camera_mouse_zoom.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Jeffery Myers (@JeffM2501) +* Copyright (c) 2022-2024 Jeffery Myers (@JeffM2501) * ********************************************************************************************/ diff --git a/examples/core/core_2d_camera_platformer.c b/examples/core/core_2d_camera_platformer.c index 72b1ee1e3..6c574387e 100644 --- a/examples/core/core_2d_camera_platformer.c +++ b/examples/core/core_2d_camera_platformer.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 arvyy (@arvyy) +* Copyright (c) 2019-2024 arvyy (@arvyy) * ********************************************************************************************/ diff --git a/examples/core/core_3d_camera_first_person.c b/examples/core/core_3d_camera_first_person.c index 6a2a115a7..35b18ace4 100644 --- a/examples/core/core_3d_camera_first_person.c +++ b/examples/core/core_3d_camera_first_person.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_3d_camera_free.c b/examples/core/core_3d_camera_free.c index 3c30a426e..9899dbdb5 100644 --- a/examples/core/core_3d_camera_free.c +++ b/examples/core/core_3d_camera_free.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_3d_camera_mode.c b/examples/core/core_3d_camera_mode.c index cb83a4a2b..0600fd330 100644 --- a/examples/core/core_3d_camera_mode.c +++ b/examples/core/core_3d_camera_mode.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_3d_camera_split_screen.c b/examples/core/core_3d_camera_split_screen.c index d625e1c0e..5294e8949 100644 --- a/examples/core/core_3d_camera_split_screen.c +++ b/examples/core/core_3d_camera_split_screen.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Jeffery Myers (@JeffM2501) +* Copyright (c) 2021-2024 Jeffery Myers (@JeffM2501) * ********************************************************************************************/ diff --git a/examples/core/core_3d_picking.c b/examples/core/core_3d_picking.c index c7bf94663..fa6fcaec3 100644 --- a/examples/core/core_3d_picking.c +++ b/examples/core/core_3d_picking.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_basic_screen_manager.c b/examples/core/core_basic_screen_manager.c index a80572988..728ef1257 100644 --- a/examples/core/core_basic_screen_manager.c +++ b/examples/core/core_basic_screen_manager.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_basic_window.c b/examples/core/core_basic_window.c index 5bfd186da..81bea16b8 100644 --- a/examples/core/core_basic_window.c +++ b/examples/core/core_basic_window.c @@ -17,7 +17,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_basic_window_web.c b/examples/core/core_basic_window_web.c index e0e1f9fb1..8726908cb 100644 --- a/examples/core/core_basic_window_web.c +++ b/examples/core/core_basic_window_web.c @@ -11,7 +11,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_custom_frame_control.c b/examples/core/core_custom_frame_control.c index 9bfd25d3e..6e494d86e 100644 --- a/examples/core/core_custom_frame_control.c +++ b/examples/core/core_custom_frame_control.c @@ -22,7 +22,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_custom_logging.c b/examples/core/core_custom_logging.c index b4da2d575..f886267ee 100644 --- a/examples/core/core_custom_logging.c +++ b/examples/core/core_custom_logging.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Pablo Marcos Oltra (@pamarcos) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Pablo Marcos Oltra (@pamarcos) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_drop_files.c b/examples/core/core_drop_files.c index d4ddd9edc..2e51d872b 100644 --- a/examples/core/core_drop_files.c +++ b/examples/core/core_drop_files.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_gamepad.c b/examples/core/core_input_gamepad.c index c28ff1f9e..843d5d90b 100644 --- a/examples/core/core_input_gamepad.c +++ b/examples/core/core_input_gamepad.c @@ -13,7 +13,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_gamepad_info.c b/examples/core/core_input_gamepad_info.c index 9aebb815a..66fedda90 100644 --- a/examples/core/core_input_gamepad_info.c +++ b/examples/core/core_input_gamepad_info.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_gestures.c b/examples/core/core_input_gestures.c index 312e78ffd..27ecef56e 100644 --- a/examples/core/core_input_gestures.c +++ b/examples/core/core_input_gestures.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_keys.c b/examples/core/core_input_keys.c index ccff24005..8e74b93b0 100644 --- a/examples/core/core_input_keys.c +++ b/examples/core/core_input_keys.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_mouse.c b/examples/core/core_input_mouse.c index 874e16c30..e6a3e15dc 100644 --- a/examples/core/core_input_mouse.c +++ b/examples/core/core_input_mouse.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_mouse_wheel.c b/examples/core/core_input_mouse_wheel.c index 826bad3a1..54f33545e 100644 --- a/examples/core/core_input_mouse_wheel.c +++ b/examples/core/core_input_mouse_wheel.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_input_multitouch.c b/examples/core/core_input_multitouch.c index 37817e5a0..73b363576 100644 --- a/examples/core/core_input_multitouch.c +++ b/examples/core/core_input_multitouch.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Berni (@Berni8k) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Berni (@Berni8k) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_loading_thread.c b/examples/core/core_loading_thread.c index 8451ff037..8e09c99da 100644 --- a/examples/core/core_loading_thread.c +++ b/examples/core/core_loading_thread.c @@ -9,7 +9,7 @@ * * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_random_values.c b/examples/core/core_random_values.c index bec1de27b..46516ea1c 100644 --- a/examples/core/core_random_values.c +++ b/examples/core/core_random_values.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_scissor_test.c b/examples/core/core_scissor_test.c index c2b853c05..62ae080cb 100644 --- a/examples/core/core_scissor_test.c +++ b/examples/core/core_scissor_test.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Dill (@MysteriousSpace) +* Copyright (c) 2019-2024 Chris Dill (@MysteriousSpace) * ********************************************************************************************/ diff --git a/examples/core/core_smooth_pixelperfect.c b/examples/core/core_smooth_pixelperfect.c index 3d5ed94f9..991805981 100644 --- a/examples/core/core_smooth_pixelperfect.c +++ b/examples/core/core_smooth_pixelperfect.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Giancamillo Alessandroni (@NotManyIdeasDev) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Giancamillo Alessandroni (@NotManyIdeasDev) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_storage_values.c b/examples/core/core_storage_values.c index c7fd7d9b4..39edcb5e9 100644 --- a/examples/core/core_storage_values.c +++ b/examples/core/core_storage_values.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_vr_simulator.c b/examples/core/core_vr_simulator.c index 9acea1972..c98fce931 100644 --- a/examples/core/core_vr_simulator.c +++ b/examples/core/core_vr_simulator.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_window_flags.c b/examples/core/core_window_flags.c index b1cbb1b64..c9f858929 100644 --- a/examples/core/core_window_flags.c +++ b/examples/core/core_window_flags.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_window_letterbox.c b/examples/core/core_window_letterbox.c index 751fb14ab..ded782431 100644 --- a/examples/core/core_window_letterbox.c +++ b/examples/core/core_window_letterbox.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Anata (@anatagawa) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Anata (@anatagawa) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_window_should_close.c b/examples/core/core_window_should_close.c index f0392b013..e28ef7dbd 100644 --- a/examples/core/core_window_should_close.c +++ b/examples/core/core_window_should_close.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/core/core_world_screen.c b/examples/core/core_world_screen.c index 6c811a509..82fa31281 100644 --- a/examples/core/core_world_screen.c +++ b/examples/core/core_world_screen.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_animation.c b/examples/models/models_animation.c index 8e6f7f877..76998d1ec 100644 --- a/examples/models/models_animation.c +++ b/examples/models/models_animation.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Culacant (@culacant) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Culacant (@culacant) and Ramon Santamaria (@raysan5) * ******************************************************************************************** * diff --git a/examples/models/models_billboard.c b/examples/models/models_billboard.c index 9b02a8af1..237e1b69d 100644 --- a/examples/models/models_billboard.c +++ b/examples/models/models_billboard.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_box_collisions.c b/examples/models/models_box_collisions.c index 9cff5e058..936f65f38 100644 --- a/examples/models/models_box_collisions.c +++ b/examples/models/models_box_collisions.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_cubicmap.c b/examples/models/models_cubicmap.c index e0a2b3089..2cbb7bf32 100644 --- a/examples/models/models_cubicmap.c +++ b/examples/models/models_cubicmap.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_draw_cube_texture.c b/examples/models/models_draw_cube_texture.c index e43c3c844..edcd4b7f8 100644 --- a/examples/models/models_draw_cube_texture.c +++ b/examples/models/models_draw_cube_texture.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2022-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_first_person_maze.c b/examples/models/models_first_person_maze.c index 6a4345a8b..80a2c88e5 100644 --- a/examples/models/models_first_person_maze.c +++ b/examples/models/models_first_person_maze.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_geometric_shapes.c b/examples/models/models_geometric_shapes.c index 33c406347..7f66a69fe 100644 --- a/examples/models/models_geometric_shapes.c +++ b/examples/models/models_geometric_shapes.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_heightmap.c b/examples/models/models_heightmap.c index e1c3e4fb6..d59e82814 100644 --- a/examples/models/models_heightmap.c +++ b/examples/models/models_heightmap.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_loading.c b/examples/models/models_loading.c index 4bce2a79e..8b4002d18 100644 --- a/examples/models/models_loading.c +++ b/examples/models/models_loading.c @@ -20,7 +20,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_loading_gltf.c b/examples/models/models_loading_gltf.c index 1d5d516fa..e85b30e6c 100644 --- a/examples/models/models_loading_gltf.c +++ b/examples/models/models_loading_gltf.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_loading_m3d.c b/examples/models/models_loading_m3d.c index 71dbc8d75..6091d95f8 100644 --- a/examples/models/models_loading_m3d.c +++ b/examples/models/models_loading_m3d.c @@ -13,7 +13,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 bzt (@bztsrc) +* Copyright (c) 2022-2024 bzt (@bztsrc) * ********************************************************************************************/ diff --git a/examples/models/models_loading_vox.c b/examples/models/models_loading_vox.c index e148fd91a..b830c492d 100644 --- a/examples/models/models_loading_vox.c +++ b/examples/models/models_loading_vox.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Johann Nadalutti (@procfxgen) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Johann Nadalutti (@procfxgen) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_mesh_generation.c b/examples/models/models_mesh_generation.c index 94e0a4c48..59aebe7c9 100644 --- a/examples/models/models_mesh_generation.c +++ b/examples/models/models_mesh_generation.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_mesh_picking.c b/examples/models/models_mesh_picking.c index 69d98aa18..4530d58a1 100644 --- a/examples/models/models_mesh_picking.c +++ b/examples/models/models_mesh_picking.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Joel Davis (@joeld42) and Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Joel Davis (@joeld42) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_orthographic_projection.c b/examples/models/models_orthographic_projection.c index 098e4b20a..b0f74413d 100644 --- a/examples/models/models_orthographic_projection.c +++ b/examples/models/models_orthographic_projection.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Max Danielsson (@autious) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Max Danielsson (@autious) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_rlgl_solar_system.c b/examples/models/models_rlgl_solar_system.c index e458036fe..7b35263ac 100644 --- a/examples/models/models_rlgl_solar_system.c +++ b/examples/models/models_rlgl_solar_system.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_skybox.c b/examples/models/models_skybox.c index c583128b6..67d8de8c1 100644 --- a/examples/models/models_skybox.c +++ b/examples/models/models_skybox.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_waving_cubes.c b/examples/models/models_waving_cubes.c index d382c998d..5dc1fc4aa 100644 --- a/examples/models/models_waving_cubes.c +++ b/examples/models/models_waving_cubes.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Codecat (@codecat) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Codecat (@codecat) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/models/models_yaw_pitch_roll.c b/examples/models/models_yaw_pitch_roll.c index 611ee3146..91a11f73c 100644 --- a/examples/models/models_yaw_pitch_roll.c +++ b/examples/models/models_yaw_pitch_roll.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Berni (@Berni8k) and Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Berni (@Berni8k) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/others/easings_testbed.c b/examples/others/easings_testbed.c index 45f0efd0b..1f31f5bb9 100644 --- a/examples/others/easings_testbed.c +++ b/examples/others/easings_testbed.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Juan Miguel López (@flashback-fx ) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Juan Miguel López (@flashback-fx ) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/others/embedded_files_loading.c b/examples/others/embedded_files_loading.c index 64023539c..e46fe102f 100644 --- a/examples/others/embedded_files_loading.c +++ b/examples/others/embedded_files_loading.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Kristian Holmgren (@defutura) and Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Kristian Holmgren (@defutura) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/others/raylib_opengl_interop.c b/examples/others/raylib_opengl_interop.c index 09b548c60..33a58a227 100644 --- a/examples/others/raylib_opengl_interop.c +++ b/examples/others/raylib_opengl_interop.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Stephan Soller (@arkanis) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Stephan Soller (@arkanis) and Ramon Santamaria (@raysan5) * ******************************************************************************************** * diff --git a/examples/others/reasings.h b/examples/others/reasings.h index 657ea242e..c3ee1169f 100644 --- a/examples/others/reasings.h +++ b/examples/others/reasings.h @@ -60,7 +60,7 @@ * OF THE POSSIBILITY OF SUCH DAMAGE. * --------------------------------------------------------------------------------- * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/others/rlgl_compute_shader.c b/examples/others/rlgl_compute_shader.c index 544e0a534..e8a654d2a 100644 --- a/examples/others/rlgl_compute_shader.c +++ b/examples/others/rlgl_compute_shader.c @@ -12,7 +12,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Teddy Astie (@tsnake41) +* Copyright (c) 2021-2024 Teddy Astie (@tsnake41) * ********************************************************************************************/ diff --git a/examples/others/rlgl_standalone.c b/examples/others/rlgl_standalone.c index ad5e5e94c..60d140598 100644 --- a/examples/others/rlgl_standalone.c +++ b/examples/others/rlgl_standalone.c @@ -29,7 +29,7 @@ * This example is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/shaders/rlights.h b/examples/shaders/rlights.h index d17bf7c2e..e38b0015a 100644 --- a/examples/shaders/rlights.h +++ b/examples/shaders/rlights.h @@ -11,7 +11,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2017-2023 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/shaders/shaders_basic_lighting.c b/examples/shaders/shaders_basic_lighting.c index 3fbe60b83..5b567f651 100644 --- a/examples/shaders/shaders_basic_lighting.c +++ b/examples/shaders/shaders_basic_lighting.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_custom_uniform.c b/examples/shaders/shaders_custom_uniform.c index b3b804006..9d991bd1a 100644 --- a/examples/shaders/shaders_custom_uniform.c +++ b/examples/shaders/shaders_custom_uniform.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_eratosthenes.c b/examples/shaders/shaders_eratosthenes.c index 005a97aea..21b7ea8f9 100644 --- a/examples/shaders/shaders_eratosthenes.c +++ b/examples/shaders/shaders_eratosthenes.c @@ -21,7 +21,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 ProfJski and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 ProfJski and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_fog.c b/examples/shaders/shaders_fog.c index cd36936d6..ad514077d 100644 --- a/examples/shaders/shaders_fog.c +++ b/examples/shaders/shaders_fog.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_hot_reloading.c b/examples/shaders/shaders_hot_reloading.c index 2b1175e4b..2a9ea2d6d 100644 --- a/examples/shaders/shaders_hot_reloading.c +++ b/examples/shaders/shaders_hot_reloading.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_hybrid_render.c b/examples/shaders/shaders_hybrid_render.c index 6242b308d..9579adf99 100644 --- a/examples/shaders/shaders_hybrid_render.c +++ b/examples/shaders/shaders_hybrid_render.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Buğra Alptekin Sarı (@BugraAlptekinSari) +* Copyright (c) 2022-2024 Buğra Alptekin Sarı (@BugraAlptekinSari) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_julia_set.c b/examples/shaders/shaders_julia_set.c index 608d3b52b..93a3436a8 100644 --- a/examples/shaders/shaders_julia_set.c +++ b/examples/shaders/shaders_julia_set.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Josh Colclough (@joshcol9232) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Josh Colclough (@joshcol9232) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_lightmap.c b/examples/shaders/shaders_lightmap.c index 445d81d24..01b80a6fb 100644 --- a/examples/shaders/shaders_lightmap.c +++ b/examples/shaders/shaders_lightmap.c @@ -12,7 +12,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Jussi Viitala (@nullstare) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Jussi Viitala (@nullstare) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_mesh_instancing.c b/examples/shaders/shaders_mesh_instancing.c index 7d603a6bf..eb42cb471 100644 --- a/examples/shaders/shaders_mesh_instancing.c +++ b/examples/shaders/shaders_mesh_instancing.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 @seanpringle, Max (@moliad) and Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 @seanpringle, Max (@moliad) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_model_shader.c b/examples/shaders/shaders_model_shader.c index 739a33b7e..bf2c112be 100644 --- a/examples/shaders/shaders_model_shader.c +++ b/examples/shaders/shaders_model_shader.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_multi_sample2d.c b/examples/shaders/shaders_multi_sample2d.c index f7c369bc4..ccdc6fa82 100644 --- a/examples/shaders/shaders_multi_sample2d.c +++ b/examples/shaders/shaders_multi_sample2d.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_palette_switch.c b/examples/shaders/shaders_palette_switch.c index 6b108b092..3d7d409db 100644 --- a/examples/shaders/shaders_palette_switch.c +++ b/examples/shaders/shaders_palette_switch.c @@ -16,7 +16,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Marco Lizza (@MarcoLizza) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Marco Lizza (@MarcoLizza) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_postprocessing.c b/examples/shaders/shaders_postprocessing.c index 1a7c621e5..54ffae931 100644 --- a/examples/shaders/shaders_postprocessing.c +++ b/examples/shaders/shaders_postprocessing.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_raymarching.c b/examples/shaders/shaders_raymarching.c index ff403e619..812d683e6 100644 --- a/examples/shaders/shaders_raymarching.c +++ b/examples/shaders/shaders_raymarching.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_shapes_textures.c b/examples/shaders/shaders_shapes_textures.c index cca4959ed..65ccef659 100644 --- a/examples/shaders/shaders_shapes_textures.c +++ b/examples/shaders/shaders_shapes_textures.c @@ -14,7 +14,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_simple_mask.c b/examples/shaders/shaders_simple_mask.c index 7ed315b0a..11e0ac2e7 100644 --- a/examples/shaders/shaders_simple_mask.c +++ b/examples/shaders/shaders_simple_mask.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) * ******************************************************************************************** * diff --git a/examples/shaders/shaders_spotlight.c b/examples/shaders/shaders_spotlight.c index 067f9622d..2752a2db4 100644 --- a/examples/shaders/shaders_spotlight.c +++ b/examples/shaders/shaders_spotlight.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5) * ******************************************************************************************** * diff --git a/examples/shaders/shaders_texture_drawing.c b/examples/shaders/shaders_texture_drawing.c index 43ffa21ef..52b8967f6 100644 --- a/examples/shaders/shaders_texture_drawing.c +++ b/examples/shaders/shaders_texture_drawing.c @@ -11,7 +11,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Michał Ciesielski and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Michał Ciesielski and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_texture_outline.c b/examples/shaders/shaders_texture_outline.c index 83f2820e7..f90e41769 100644 --- a/examples/shaders/shaders_texture_outline.c +++ b/examples/shaders/shaders_texture_outline.c @@ -12,7 +12,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Samuel SKiff (@GoldenThumbs) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Samuel SKiff (@GoldenThumbs) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_texture_waves.c b/examples/shaders/shaders_texture_waves.c index 5bdaada44..205fc636e 100644 --- a/examples/shaders/shaders_texture_waves.c +++ b/examples/shaders/shaders_texture_waves.c @@ -16,7 +16,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Anata (@anatagawa) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Anata (@anatagawa) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shaders/shaders_write_depth.c b/examples/shaders/shaders_write_depth.c index 31697243a..d2eeb68a8 100644 --- a/examples/shaders/shaders_write_depth.c +++ b/examples/shaders/shaders_write_depth.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Buğra Alptekin Sarı (@BugraAlptekinSari) +* Copyright (c) 2022-2024 Buğra Alptekin Sarı (@BugraAlptekinSari) * ********************************************************************************************/ diff --git a/examples/shapes/reasings.h b/examples/shapes/reasings.h index 657ea242e..c3ee1169f 100644 --- a/examples/shapes/reasings.h +++ b/examples/shapes/reasings.h @@ -60,7 +60,7 @@ * OF THE POSSIBILITY OF SUCH DAMAGE. * --------------------------------------------------------------------------------- * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/examples/shapes/shapes_basic_shapes.c b/examples/shapes/shapes_basic_shapes.c index 40056b4e7..9c0fff7d0 100644 --- a/examples/shapes/shapes_basic_shapes.c +++ b/examples/shapes/shapes_basic_shapes.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_bouncing_ball.c b/examples/shapes/shapes_bouncing_ball.c index 38fade60a..7a3068163 100644 --- a/examples/shapes/shapes_bouncing_ball.c +++ b/examples/shapes/shapes_bouncing_ball.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_collision_area.c b/examples/shapes/shapes_collision_area.c index 752d4e79a..c2e2c1e1d 100644 --- a/examples/shapes/shapes_collision_area.c +++ b/examples/shapes/shapes_collision_area.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_colors_palette.c b/examples/shapes/shapes_colors_palette.c index d55782550..60a6dd6a2 100644 --- a/examples/shapes/shapes_colors_palette.c +++ b/examples/shapes/shapes_colors_palette.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_draw_circle_sector.c b/examples/shapes/shapes_draw_circle_sector.c index 90e8e6a58..30eaaf4bd 100644 --- a/examples/shapes/shapes_draw_circle_sector.c +++ b/examples/shapes/shapes_draw_circle_sector.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_draw_rectangle_rounded.c b/examples/shapes/shapes_draw_rectangle_rounded.c index a10e3c848..2add780a7 100644 --- a/examples/shapes/shapes_draw_rectangle_rounded.c +++ b/examples/shapes/shapes_draw_rectangle_rounded.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_draw_ring.c b/examples/shapes/shapes_draw_ring.c index 47327b7ad..60c95a4c0 100644 --- a/examples/shapes/shapes_draw_ring.c +++ b/examples/shapes/shapes_draw_ring.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_easings_ball_anim.c b/examples/shapes/shapes_easings_ball_anim.c index 866ec0971..d54f24a1d 100644 --- a/examples/shapes/shapes_easings_ball_anim.c +++ b/examples/shapes/shapes_easings_ball_anim.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_easings_box_anim.c b/examples/shapes/shapes_easings_box_anim.c index a854bf6c3..c82beac05 100644 --- a/examples/shapes/shapes_easings_box_anim.c +++ b/examples/shapes/shapes_easings_box_anim.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_easings_rectangle_array.c b/examples/shapes/shapes_easings_rectangle_array.c index 03916f5b4..ed13e93c1 100644 --- a/examples/shapes/shapes_easings_rectangle_array.c +++ b/examples/shapes/shapes_easings_rectangle_array.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_following_eyes.c b/examples/shapes/shapes_following_eyes.c index 2137d797a..f7a7b8705 100644 --- a/examples/shapes/shapes_following_eyes.c +++ b/examples/shapes/shapes_following_eyes.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_lines_bezier.c b/examples/shapes/shapes_lines_bezier.c index aaad68047..eeb7aeed0 100644 --- a/examples/shapes/shapes_lines_bezier.c +++ b/examples/shapes/shapes_lines_bezier.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_logo_raylib.c b/examples/shapes/shapes_logo_raylib.c index 4f625c2c8..f637df2c9 100644 --- a/examples/shapes/shapes_logo_raylib.c +++ b/examples/shapes/shapes_logo_raylib.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_logo_raylib_anim.c b/examples/shapes/shapes_logo_raylib_anim.c index 5d6dd3538..ace9c8d02 100644 --- a/examples/shapes/shapes_logo_raylib_anim.c +++ b/examples/shapes/shapes_logo_raylib_anim.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_rectangle_scaling.c b/examples/shapes/shapes_rectangle_scaling.c index 18104b120..dcafab9da 100644 --- a/examples/shapes/shapes_rectangle_scaling.c +++ b/examples/shapes/shapes_rectangle_scaling.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/shapes/shapes_top_down_lights.c b/examples/shapes/shapes_top_down_lights.c index f22cf3c17..abe845f8c 100644 --- a/examples/shapes/shapes_top_down_lights.c +++ b/examples/shapes/shapes_top_down_lights.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Jeffery Myers (@JeffM2501) +* Copyright (c) 2022-2024 Jeffery Myers (@JeffM2501) * ********************************************************************************************/ diff --git a/examples/text/text_codepoints_loading.c b/examples/text/text_codepoints_loading.c index 376b4972a..04df96e52 100644 --- a/examples/text/text_codepoints_loading.c +++ b/examples/text/text_codepoints_loading.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2022-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_draw_3d.c b/examples/text/text_draw_3d.c index 097e4fc67..b279f1b36 100644 --- a/examples/text/text_draw_3d.c +++ b/examples/text/text_draw_3d.c @@ -22,7 +22,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Vlad Adrian (@demizdor) +* Copyright (c) 2021-2024 Vlad Adrian (@demizdor) * ********************************************************************************************/ diff --git a/examples/text/text_font_filters.c b/examples/text/text_font_filters.c index e6756713c..b12f26055 100644 --- a/examples/text/text_font_filters.c +++ b/examples/text/text_font_filters.c @@ -11,7 +11,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_font_loading.c b/examples/text/text_font_loading.c index a3ff988e9..2c8786c42 100644 --- a/examples/text/text_font_loading.c +++ b/examples/text/text_font_loading.c @@ -16,7 +16,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_font_sdf.c b/examples/text/text_font_sdf.c index 40a3fa4d7..95245741e 100644 --- a/examples/text/text_font_sdf.c +++ b/examples/text/text_font_sdf.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_font_spritefont.c b/examples/text/text_font_spritefont.c index b5df2d0dc..1b2695c71 100644 --- a/examples/text/text_font_spritefont.c +++ b/examples/text/text_font_spritefont.c @@ -17,7 +17,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_format_text.c b/examples/text/text_format_text.c index 6b1b0456f..0f53f35dc 100644 --- a/examples/text/text_format_text.c +++ b/examples/text/text_format_text.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_input_box.c b/examples/text/text_input_box.c index f3923c1e9..eeb338f1f 100644 --- a/examples/text/text_input_box.c +++ b/examples/text/text_input_box.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_raylib_fonts.c b/examples/text/text_raylib_fonts.c index 8ef67c71d..acd18d94c 100644 --- a/examples/text/text_raylib_fonts.c +++ b/examples/text/text_raylib_fonts.c @@ -10,7 +10,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_rectangle_bounds.c b/examples/text/text_rectangle_bounds.c index 886c348d5..173d3f93d 100644 --- a/examples/text/text_rectangle_bounds.c +++ b/examples/text/text_rectangle_bounds.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_unicode.c b/examples/text/text_unicode.c index 42227f89c..2b5245be9 100644 --- a/examples/text/text_unicode.c +++ b/examples/text/text_unicode.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/text/text_writing_anim.c b/examples/text/text_writing_anim.c index 4ee67700e..1e7cd569f 100644 --- a/examples/text/text_writing_anim.c +++ b/examples/text/text_writing_anim.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_background_scrolling.c b/examples/textures/textures_background_scrolling.c index 55fa2115e..0df159cae 100644 --- a/examples/textures/textures_background_scrolling.c +++ b/examples/textures/textures_background_scrolling.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_blend_modes.c b/examples/textures/textures_blend_modes.c index 246a98e47..660aa57a7 100644 --- a/examples/textures/textures_blend_modes.c +++ b/examples/textures/textures_blend_modes.c @@ -11,7 +11,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Karlo Licudine (@accidentalrebel) +* Copyright (c) 2020-2024 Karlo Licudine (@accidentalrebel) * ********************************************************************************************/ diff --git a/examples/textures/textures_bunnymark.c b/examples/textures/textures_bunnymark.c index ede3036fa..f3ef694a2 100644 --- a/examples/textures/textures_bunnymark.c +++ b/examples/textures/textures_bunnymark.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_draw_tiled.c b/examples/textures/textures_draw_tiled.c index 34fe82ce4..699836555 100644 --- a/examples/textures/textures_draw_tiled.c +++ b/examples/textures/textures_draw_tiled.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2020-2023 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) +* Copyright (c) 2020-2024 Vlad Adrian (@demizdor) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_fog_of_war.c b/examples/textures/textures_fog_of_war.c index 516055aeb..2f72c0d6d 100644 --- a/examples/textures/textures_fog_of_war.c +++ b/examples/textures/textures_fog_of_war.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_gif_player.c b/examples/textures/textures_gif_player.c index 108522835..cf8492e0d 100644 --- a/examples/textures/textures_gif_player.c +++ b/examples/textures/textures_gif_player.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_drawing.c b/examples/textures/textures_image_drawing.c index 967cb52a4..f49bc9e77 100644 --- a/examples/textures/textures_image_drawing.c +++ b/examples/textures/textures_image_drawing.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_generation.c b/examples/textures/textures_image_generation.c index 359dc236a..abde401f7 100644 --- a/examples/textures/textures_image_generation.c +++ b/examples/textures/textures_image_generation.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2O17-2023 Wilhem Barbier (@nounoursheureux) and Ramon Santamaria (@raysan5) +* Copyright (c) 2O17-2024 Wilhem Barbier (@nounoursheureux) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_kernel.c b/examples/textures/textures_image_kernel.c index 9944ac791..b850b63ed 100644 --- a/examples/textures/textures_image_kernel.c +++ b/examples/textures/textures_image_kernel.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Karim Salem (@kimo-s) +* Copyright (c) 2015-2024 Karim Salem (@kimo-s) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_loading.c b/examples/textures/textures_image_loading.c index b1bfe09f7..95175e079 100644 --- a/examples/textures/textures_image_loading.c +++ b/examples/textures/textures_image_loading.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_processing.c b/examples/textures/textures_image_processing.c index 6e6c85482..269273546 100644 --- a/examples/textures/textures_image_processing.c +++ b/examples/textures/textures_image_processing.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_rotate.c b/examples/textures/textures_image_rotate.c index e5c735732..51724e037 100644 --- a/examples/textures/textures_image_rotate.c +++ b/examples/textures/textures_image_rotate.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_image_text.c b/examples/textures/textures_image_text.c index 50db688de..856b64ed0 100644 --- a/examples/textures/textures_image_text.c +++ b/examples/textures/textures_image_text.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_logo_raylib.c b/examples/textures/textures_logo_raylib.c index 8bd865811..f170dab48 100644 --- a/examples/textures/textures_logo_raylib.c +++ b/examples/textures/textures_logo_raylib.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_mouse_painting.c b/examples/textures/textures_mouse_painting.c index e985cee0c..27bbc74e9 100644 --- a/examples/textures/textures_mouse_painting.c +++ b/examples/textures/textures_mouse_painting.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Chris Dill (@MysteriousSpace) and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Chris Dill (@MysteriousSpace) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_npatch_drawing.c b/examples/textures/textures_npatch_drawing.c index f85aaa129..5fb39996b 100644 --- a/examples/textures/textures_npatch_drawing.c +++ b/examples/textures/textures_npatch_drawing.c @@ -11,7 +11,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2018-2023 Jorge A. Gomes (@overdev) and Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Jorge A. Gomes (@overdev) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_particles_blending.c b/examples/textures/textures_particles_blending.c index ec144ff4b..113b2b068 100644 --- a/examples/textures/textures_particles_blending.c +++ b/examples/textures/textures_particles_blending.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_polygon.c b/examples/textures/textures_polygon.c index cf59af979..2491e1bc2 100644 --- a/examples/textures/textures_polygon.c +++ b/examples/textures/textures_polygon.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2021-2023 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5) +* Copyright (c) 2021-2024 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_raw_data.c b/examples/textures/textures_raw_data.c index 22d7cc06f..38229f1ba 100644 --- a/examples/textures/textures_raw_data.c +++ b/examples/textures/textures_raw_data.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_sprite_anim.c b/examples/textures/textures_sprite_anim.c index 99efe2eab..deb68216a 100644 --- a/examples/textures/textures_sprite_anim.c +++ b/examples/textures/textures_sprite_anim.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_sprite_button.c b/examples/textures/textures_sprite_button.c index bd9891826..5d0153b57 100644 --- a/examples/textures/textures_sprite_button.c +++ b/examples/textures/textures_sprite_button.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_sprite_explosion.c b/examples/textures/textures_sprite_explosion.c index a6cbd3e5b..06b4f1dad 100644 --- a/examples/textures/textures_sprite_explosion.c +++ b/examples/textures/textures_sprite_explosion.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2019-2023 Anata and Ramon Santamaria (@raysan5) +* Copyright (c) 2019-2024 Anata and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_srcrec_dstrec.c b/examples/textures/textures_srcrec_dstrec.c index caf8f64b3..035e30371 100644 --- a/examples/textures/textures_srcrec_dstrec.c +++ b/examples/textures/textures_srcrec_dstrec.c @@ -7,7 +7,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_textured_curve.c b/examples/textures/textures_textured_curve.c index cf426becc..6e4c53cff 100644 --- a/examples/textures/textures_textured_curve.c +++ b/examples/textures/textures_textured_curve.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2022-2023 Jeffery Myers and Ramon Santamaria (@raysan5) +* Copyright (c) 2022-2024 Jeffery Myers and Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/examples/textures/textures_to_image.c b/examples/textures/textures_to_image.c index fd3c848e8..2d09623eb 100644 --- a/examples/textures/textures_to_image.c +++ b/examples/textures/textures_to_image.c @@ -9,7 +9,7 @@ * Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/parser/README.md b/parser/README.md index 0c55f20ea..45a2689a0 100644 --- a/parser/README.md +++ b/parser/README.md @@ -19,7 +19,7 @@ Check `raylib_parser.c` for details about those structs. // // // more info and bugs-report: github.com/raysan5/raylib/parser // // // -// Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) // +// Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) // // // ////////////////////////////////////////////////////////////////////////////////// diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index bdec4915a..9b8fd8b13 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -54,7 +54,7 @@ raylib-parser is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software: - Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) + Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) **********************************************************************************************/ @@ -1075,7 +1075,7 @@ static void ShowCommandLineInfo(void) printf("// //\n"); printf("// more info and bugs-report: github.com/raysan5/raylib/parser //\n"); printf("// //\n"); - printf("// Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) //\n"); + printf("// Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) //\n"); printf("// //\n"); printf("//////////////////////////////////////////////////////////////////////////////////\n\n"); diff --git a/projects/4coder/Makefile b/projects/4coder/Makefile index 0d254e340..f2091f0e3 100644 --- a/projects/4coder/Makefile +++ b/projects/4coder/Makefile @@ -2,7 +2,7 @@ # # raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5 # -# Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. diff --git a/projects/Geany/core_basic_window.c b/projects/Geany/core_basic_window.c index c4dd584a5..486f899cb 100644 --- a/projects/Geany/core_basic_window.c +++ b/projects/Geany/core_basic_window.c @@ -5,7 +5,7 @@ * This example has been created using raylib 1.0 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/projects/VSCode/main.c b/projects/VSCode/main.c index f37b3b28d..5a2e342bd 100644 --- a/projects/VSCode/main.c +++ b/projects/VSCode/main.c @@ -15,7 +15,7 @@ * This example has been created using raylib 1.0 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * ********************************************************************************************/ diff --git a/src/Makefile b/src/Makefile index ca978f777..395d69fe5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -24,7 +24,7 @@ # Many thanks to Milan Nikolic (@gen2brain) for implementing Android platform pipeline. # Many thanks to Emanuele Petriglia for his contribution on GNU/Linux pipeline. # -# Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. diff --git a/src/config.h b/src/config.h index 3fd1c81fd..410e9067e 100644 --- a/src/config.h +++ b/src/config.h @@ -6,7 +6,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2018-2023 Ahmad Fatoum & Ramon Santamaria (@raysan5) +* Copyright (c) 2018-2024 Ahmad Fatoum & Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_android.c b/src/platforms/rcore_android.c index 5d6f7d5ba..fc1728166 100644 --- a/src/platforms/rcore_android.c +++ b/src/platforms/rcore_android.c @@ -27,7 +27,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 2bbb3f2bc..7dc2048b9 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -30,7 +30,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 28dd9d1dc..325cee391 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -29,7 +29,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 3449e6993..12e749a02 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -29,7 +29,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_template.c b/src/platforms/rcore_template.c index 01e52af58..7a48c465e 100644 --- a/src/platforms/rcore_template.c +++ b/src/platforms/rcore_template.c @@ -27,7 +27,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index fa60eaff1..a7f424383 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -26,7 +26,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/raudio.c b/src/raudio.c index c321aa501..7269760e6 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -50,7 +50,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -1088,7 +1088,7 @@ bool ExportWaveAsCode(Wave wave, const char *fileName) byteCount += sprintf(txtData + byteCount, "// more info and bugs-report: github.com/raysan5/raylib //\n"); byteCount += sprintf(txtData + byteCount, "// feedback and support: ray[at]raylib.com //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); - byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) //\n"); + byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); byteCount += sprintf(txtData + byteCount, "//////////////////////////////////////////////////////////////////////////////////\n\n"); diff --git a/src/raylib.h b/src/raylib.h index 8b126141a..42fd290aa 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -57,7 +57,7 @@ * raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/raymath.h b/src/raymath.h index 069c9464e..444ba2e34 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -30,7 +30,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rcamera.h b/src/rcamera.h index 3fe151fa2..f2d902c2c 100644 --- a/src/rcamera.h +++ b/src/rcamera.h @@ -20,7 +20,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2022-2023 Christoph Wagner (@Crydsch) & Ramon Santamaria (@raysan5) +* Copyright (c) 2022-2024 Christoph Wagner (@Crydsch) & Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rcore.c b/src/rcore.c index 3ddf3596d..bae7bbb49 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -63,7 +63,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) and contributors +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) and contributors * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rgestures.h b/src/rgestures.h index 9161b7484..664a6e1cc 100644 --- a/src/rgestures.h +++ b/src/rgestures.h @@ -21,7 +21,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rglfw.c b/src/rglfw.c index 59f5ad2f8..10ed0954b 100644 --- a/src/rglfw.c +++ b/src/rglfw.c @@ -7,7 +7,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2017-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2017-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rlgl.h b/src/rlgl.h index eb7320a66..4d2c9702f 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -85,7 +85,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rmodels.c b/src/rmodels.c index 262a8ebfc..417142242 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -21,7 +21,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -1794,7 +1794,7 @@ bool ExportMesh(Mesh mesh, const char *fileName) byteCount += sprintf(txtData + byteCount, "# // more info and bugs-report: github.com/raysan5/raylib //\n"); byteCount += sprintf(txtData + byteCount, "# // feedback and support: ray[at]raylib.com //\n"); byteCount += sprintf(txtData + byteCount, "# // //\n"); - byteCount += sprintf(txtData + byteCount, "# // Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) //\n"); + byteCount += sprintf(txtData + byteCount, "# // Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) //\n"); byteCount += sprintf(txtData + byteCount, "# // //\n"); byteCount += sprintf(txtData + byteCount, "# //////////////////////////////////////////////////////////////////////////////////\n\n"); byteCount += sprintf(txtData + byteCount, "# Vertex Count: %i\n", mesh.vertexCount); diff --git a/src/rshapes.c b/src/rshapes.c index 53d12fe3a..8e6708bf9 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -25,7 +25,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. diff --git a/src/rtext.c b/src/rtext.c index 4ead02ca7..a7c8a7260 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -33,7 +33,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -949,7 +949,7 @@ bool ExportFontAsCode(Font font, const char *fileName) byteCount += sprintf(txtData + byteCount, "// more info and bugs-report: github.com/raysan5/raylib //\n"); byteCount += sprintf(txtData + byteCount, "// feedback and support: ray[at]raylib.com //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); - byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) //\n"); + byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); byteCount += sprintf(txtData + byteCount, "// ---------------------------------------------------------------------------------- //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); diff --git a/src/rtextures.c b/src/rtextures.c index e9fb95cb3..9c257808a 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -42,7 +42,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -839,7 +839,7 @@ bool ExportImageAsCode(Image image, const char *fileName) byteCount += sprintf(txtData + byteCount, "// more info and bugs-report: github.com/raysan5/raylib //\n"); byteCount += sprintf(txtData + byteCount, "// feedback and support: ray[at]raylib.com //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); - byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2023 Ramon Santamaria (@raysan5) //\n"); + byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2018-2024 Ramon Santamaria (@raysan5) //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); byteCount += sprintf(txtData + byteCount, "////////////////////////////////////////////////////////////////////////////////////////\n\n"); diff --git a/src/utils.c b/src/utils.c index 51d84cfe4..987021c73 100644 --- a/src/utils.c +++ b/src/utils.c @@ -10,7 +10,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -309,7 +309,7 @@ bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileN byteCount += sprintf(txtData + byteCount, "// more info and bugs-report: github.com/raysan5/raylib //\n"); byteCount += sprintf(txtData + byteCount, "// feedback and support: ray[at]raylib.com //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); - byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2022-2023 Ramon Santamaria (@raysan5) //\n"); + byteCount += sprintf(txtData + byteCount, "// Copyright (c) 2022-2024 Ramon Santamaria (@raysan5) //\n"); byteCount += sprintf(txtData + byteCount, "// //\n"); byteCount += sprintf(txtData + byteCount, "////////////////////////////////////////////////////////////////////////////////////////\n\n"); diff --git a/src/utils.h b/src/utils.h index ff8246a7b..23eca8ee9 100644 --- a/src/utils.h +++ b/src/utils.h @@ -5,7 +5,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. From e46b6147fc30e69dd300bbda90ff0a62bf8a4df0 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 3 Jan 2024 14:16:39 +0100 Subject: [PATCH 063/745] Update copyright year to 2024 --- LICENSE | 2 +- parser/LICENSE | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 91da62ed9..d1bfe3b1a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2013-2023 Ramon Santamaria (@raysan5) +Copyright (c) 2013-2024 Ramon Santamaria (@raysan5) This software is provided "as-is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. diff --git a/parser/LICENSE b/parser/LICENSE index 125d7dbae..7fc2d13b0 100644 --- a/parser/LICENSE +++ b/parser/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2021-2023 Ramon Santamaria (@raysan5) +Copyright (c) 2021-2024 Ramon Santamaria (@raysan5) This software is provided "as-is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. From eb6dcab308162037272edbad93ea1f10797c7352 Mon Sep 17 00:00:00 2001 From: Michael Scherbakow Date: Thu, 4 Jan 2024 10:51:53 +0100 Subject: [PATCH 064/745] Update raylib.zig version to 5.1-dev (#3698) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 8c821903c..ab0d77896 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -77,7 +77,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-vapi | 4.2 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | | raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | | raylib-zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | -| raylib.zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | +| raylib.zig | 5.1-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | | hare-raylib | **auto** | [Hare](https://harelang.org/) | Zlib | https://git.sr.ht/~evantj/hare-raylib | | raylib-sunder | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | https://github.com/ashn-dot-dev/raylib-sunder | | rayed-bqn | **auto** | [BQN](https://mlochbaum.github.io/BQN/) | MIT | https://github.com/Brian-ED/rayed-bqn | From 19bdcedf1c0606987665b66b9d52a1cfb20c6887 Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Fri, 5 Jan 2024 18:22:58 -0300 Subject: [PATCH 065/745] Hide unused warnings from stb_image_resize2.h (#3708) --- src/rtextures.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/rtextures.c b/src/rtextures.c index 9c257808a..a2bba1cf7 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -212,9 +212,19 @@ #define STBIR_MALLOC(size,c) ((void)(c), RL_MALLOC(size)) #define STBIR_FREE(ptr,c) ((void)(c), RL_FREE(ptr)) + +#if defined(__GNUC__) // GCC and Clang + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wunused-function" +#endif + #define STB_IMAGE_RESIZE_IMPLEMENTATION #include "external/stb_image_resize2.h" // Required for: stbir_resize_uint8_linear() [ImageResize()] +#if defined(__GNUC__) // GCC and Clang + #pragma GCC diagnostic pop +#endif + #if defined(SUPPORT_FILEFORMAT_SVG) #define NANOSVG_IMPLEMENTATION // Expands implementation #include "external/nanosvg.h" From 3afb4dda9773b136283c567ecef4a78d53bc4e85 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Jan 2024 22:32:59 +0100 Subject: [PATCH 066/745] Update raygui.h --- examples/shapes/raygui.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/shapes/raygui.h b/examples/shapes/raygui.h index 91277102f..623115fce 100644 --- a/examples/shapes/raygui.h +++ b/examples/shapes/raygui.h @@ -291,7 +291,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2023 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. From c95b71d40d34354fec3998a4e2dc54b3c291cedc Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Jan 2024 22:33:02 +0100 Subject: [PATCH 067/745] Update raudio.c --- src/raudio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 7269760e6..430242107 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -939,12 +939,14 @@ Sound LoadSoundAlias(Sound source) if (source.stream.buffer->data != NULL) { - AudioBuffer* audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO.System.device.sampleRate, 0, AUDIO_BUFFER_USAGE_STATIC); + AudioBuffer *audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO.System.device.sampleRate, 0, AUDIO_BUFFER_USAGE_STATIC); + if (audioBuffer == NULL) { TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer"); - return sound; // early return to avoid dereferencing the audioBuffer null pointer + return sound; // Early return to avoid dereferencing the audioBuffer null pointer } + audioBuffer->sizeInFrames = source.stream.buffer->sizeInFrames; audioBuffer->volume = source.stream.buffer->volume; audioBuffer->data = source.stream.buffer->data; From b4cb0f3e7db194338df175b063e03277bb5f28d8 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Jan 2024 22:33:56 +0100 Subject: [PATCH 068/745] REVIEWED: `LoadImageAnimFromMemory()` #3704 --- src/rtextures.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index a2bba1cf7..267173c06 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -470,7 +470,6 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat image.mipmaps = 1; image.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; - RL_FREE(fileData); RL_FREE(delays); // NOTE: Frames delays are discarded } } @@ -479,7 +478,7 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat #endif else { - image = LoadImageFromMemory(fileType,fileData,dataSize); + image = LoadImageFromMemory(fileType, fileData, dataSize); frameCount = 1; } From a4dc325a0c27557a41d581d42f314f6aba41d577 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 5 Jan 2024 22:51:46 +0100 Subject: [PATCH 069/745] Reviewed Makefile SDL2 expected include/lib paths #3705 --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 395d69fe5..526acaadf 100644 --- a/src/Makefile +++ b/src/Makefile @@ -98,8 +98,8 @@ USE_EXTERNAL_GLFW ?= FALSE # PLATFORM_DESKTOP_SDL: It requires SDL library to be provided externally # WARNING: Library is not included in raylib, it MUST be configured by users -SDL_INCLUDE_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2-2.28.4/include -SDL_LIBRARY_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2-2.28.4/lib/x64 +SDL_INCLUDE_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/include +SDL_LIBRARY_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/lib # Use Wayland display server protocol on Linux desktop (by default it uses X11 windowing system) # NOTE: This variable is only used for PLATFORM_OS: LINUX From 721e2735470c4f8ad79cf6821977fac34947d40e Mon Sep 17 00:00:00 2001 From: Hongyu Ouyang <96765450+casavaca@users.noreply.github.com> Date: Sat, 6 Jan 2024 02:32:10 -0800 Subject: [PATCH 070/745] Fix a bug in examples/shapes/shapes_following_eyes (#3710) --- examples/shapes/shapes_following_eyes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/shapes/shapes_following_eyes.c b/examples/shapes/shapes_following_eyes.c index f7a7b8705..7e428f2c3 100644 --- a/examples/shapes/shapes_following_eyes.c +++ b/examples/shapes/shapes_following_eyes.c @@ -50,7 +50,7 @@ int main(void) irisRightPosition = GetMousePosition(); // Check not inside the left eye sclera - if (!CheckCollisionPointCircle(irisLeftPosition, scleraLeftPosition, scleraRadius - 20)) + if (!CheckCollisionPointCircle(irisLeftPosition, scleraLeftPosition, scleraRadius - irisRadius)) { dx = irisLeftPosition.x - scleraLeftPosition.x; dy = irisLeftPosition.y - scleraLeftPosition.y; @@ -65,7 +65,7 @@ int main(void) } // Check not inside the right eye sclera - if (!CheckCollisionPointCircle(irisRightPosition, scleraRightPosition, scleraRadius - 20)) + if (!CheckCollisionPointCircle(irisRightPosition, scleraRightPosition, scleraRadius - irisRadius)) { dx = irisRightPosition.x - scleraRightPosition.x; dy = irisRightPosition.y - scleraRightPosition.y; From be0ea89f830cce2fcb62acfedc69da4faca11b43 Mon Sep 17 00:00:00 2001 From: Alice Nyaa <62451415+Minnowo@users.noreply.github.com> Date: Sat, 6 Jan 2024 13:41:43 -0500 Subject: [PATCH 071/745] Simplified for loop for some image manip functions (#3712) --- src/rtextures.c | 136 +++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 76 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 267173c06..ee7d76936 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2649,21 +2649,17 @@ void ImageColorTint(Image *image, Color color) float cB = (float)color.b/255; float cA = (float)color.a/255; - for (int y = 0; y < image->height; y++) + for (int i = 0; i < image->width * image->height; i++) { - for (int x = 0; x < image->width; x++) - { - int index = y*image->width + x; - unsigned char r = (unsigned char)(((float)pixels[index].r/255*cR)*255.0f); - unsigned char g = (unsigned char)(((float)pixels[index].g/255*cG)*255.0f); - unsigned char b = (unsigned char)(((float)pixels[index].b/255*cB)*255.0f); - unsigned char a = (unsigned char)(((float)pixels[index].a/255*cA)*255.0f); + unsigned char r = (unsigned char)(((float)pixels[i].r/255*cR)*255.0f); + unsigned char g = (unsigned char)(((float)pixels[i].g/255*cG)*255.0f); + unsigned char b = (unsigned char)(((float)pixels[i].b/255*cB)*255.0f); + unsigned char a = (unsigned char)(((float)pixels[i].a/255*cA)*255.0f); - pixels[index].r = r; - pixels[index].g = g; - pixels[index].b = b; - pixels[index].a = a; - } + pixels[i].r = r; + pixels[i].g = g; + pixels[i].b = b; + pixels[i].a = a; } int format = image->format; @@ -2683,14 +2679,11 @@ void ImageColorInvert(Image *image) Color *pixels = LoadImageColors(*image); - for (int y = 0; y < image->height; y++) + for (int i = 0; i < image->width * image->height; i++) { - for (int x = 0; x < image->width; x++) - { - pixels[y*image->width + x].r = 255 - pixels[y*image->width + x].r; - pixels[y*image->width + x].g = 255 - pixels[y*image->width + x].g; - pixels[y*image->width + x].b = 255 - pixels[y*image->width + x].b; - } + pixels[i].r = 255 - pixels[i].r; + pixels[i].g = 255 - pixels[i].g; + pixels[i].b = 255 - pixels[i].b; } int format = image->format; @@ -2723,38 +2716,35 @@ void ImageColorContrast(Image *image, float contrast) Color *pixels = LoadImageColors(*image); - for (int y = 0; y < image->height; y++) + for (int i = 0; i < image->width * image->height; i++) { - for (int x = 0; x < image->width; x++) - { - float pR = (float)pixels[y*image->width + x].r/255.0f; - pR -= 0.5f; - pR *= contrast; - pR += 0.5f; - pR *= 255; - if (pR < 0) pR = 0; - if (pR > 255) pR = 255; + float pR = (float)pixels[i].r/255.0f; + pR -= 0.5f; + pR *= contrast; + pR += 0.5f; + pR *= 255; + if (pR < 0) pR = 0; + if (pR > 255) pR = 255; - float pG = (float)pixels[y*image->width + x].g/255.0f; - pG -= 0.5f; - pG *= contrast; - pG += 0.5f; - pG *= 255; - if (pG < 0) pG = 0; - if (pG > 255) pG = 255; + float pG = (float)pixels[i].g/255.0f; + pG -= 0.5f; + pG *= contrast; + pG += 0.5f; + pG *= 255; + if (pG < 0) pG = 0; + if (pG > 255) pG = 255; - float pB = (float)pixels[y*image->width + x].b/255.0f; - pB -= 0.5f; - pB *= contrast; - pB += 0.5f; - pB *= 255; - if (pB < 0) pB = 0; - if (pB > 255) pB = 255; + float pB = (float)pixels[i].b/255.0f; + pB -= 0.5f; + pB *= contrast; + pB += 0.5f; + pB *= 255; + if (pB < 0) pB = 0; + if (pB > 255) pB = 255; - pixels[y*image->width + x].r = (unsigned char)pR; - pixels[y*image->width + x].g = (unsigned char)pG; - pixels[y*image->width + x].b = (unsigned char)pB; - } + pixels[i].r = (unsigned char)pR; + pixels[i].g = (unsigned char)pG; + pixels[i].b = (unsigned char)pB; } int format = image->format; @@ -2778,27 +2768,24 @@ void ImageColorBrightness(Image *image, int brightness) Color *pixels = LoadImageColors(*image); - for (int y = 0; y < image->height; y++) + for (int i = 0; i < image->width * image->height; i++) { - for (int x = 0; x < image->width; x++) - { - int cR = pixels[y*image->width + x].r + brightness; - int cG = pixels[y*image->width + x].g + brightness; - int cB = pixels[y*image->width + x].b + brightness; + int cR = pixels[i].r + brightness; + int cG = pixels[i].g + brightness; + int cB = pixels[i].b + brightness; - if (cR < 0) cR = 1; - if (cR > 255) cR = 255; + if (cR < 0) cR = 1; + if (cR > 255) cR = 255; - if (cG < 0) cG = 1; - if (cG > 255) cG = 255; + if (cG < 0) cG = 1; + if (cG > 255) cG = 255; - if (cB < 0) cB = 1; - if (cB > 255) cB = 255; + if (cB < 0) cB = 1; + if (cB > 255) cB = 255; - pixels[y*image->width + x].r = (unsigned char)cR; - pixels[y*image->width + x].g = (unsigned char)cG; - pixels[y*image->width + x].b = (unsigned char)cB; - } + pixels[i].r = (unsigned char)cR; + pixels[i].g = (unsigned char)cG; + pixels[i].b = (unsigned char)cB; } int format = image->format; @@ -2818,20 +2805,17 @@ void ImageColorReplace(Image *image, Color color, Color replace) Color *pixels = LoadImageColors(*image); - for (int y = 0; y < image->height; y++) + for (int i = 0; i < image->width * image->height; i++) { - for (int x = 0; x < image->width; x++) + if ((pixels[i].r == color.r) && + (pixels[i].g == color.g) && + (pixels[i].b == color.b) && + (pixels[i].a == color.a)) { - if ((pixels[y*image->width + x].r == color.r) && - (pixels[y*image->width + x].g == color.g) && - (pixels[y*image->width + x].b == color.b) && - (pixels[y*image->width + x].a == color.a)) - { - pixels[y*image->width + x].r = replace.r; - pixels[y*image->width + x].g = replace.g; - pixels[y*image->width + x].b = replace.b; - pixels[y*image->width + x].a = replace.a; - } + pixels[i].r = replace.r; + pixels[i].g = replace.g; + pixels[i].b = replace.b; + pixels[i].a = replace.a; } } From be78255beac318e2dac68550202bb4ef8620f30c Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Jan 2024 01:13:44 +0100 Subject: [PATCH 072/745] Update codeql.yml: Exclude src/external files --- .github/workflows/codeql.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d886db7c0..f9932079f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -116,6 +116,7 @@ jobs: -**:cpp/unsigned-comparison-zero -**/cmake*/Modules/** -**/src/external/glfw/** + -**/src/external/** input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif From 2c124c96dfdb1b81aa3fef099739442ce2d9fa9d Mon Sep 17 00:00:00 2001 From: Tim Romero Date: Wed, 10 Jan 2024 12:34:04 -0800 Subject: [PATCH 073/745] [rtext] Adjust font atlas area calculation so padding area is not underestimated at small font sizes. (#3719) --- src/rtext.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index a7c8a7260..270d0121b 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -725,7 +725,7 @@ Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyp for (int i = 0; i < glyphCount; i++) { if (glyphs[i].image.width > maxGlyphWidth) maxGlyphWidth = glyphs[i].image.width; - totalWidth += glyphs[i].image.width + 4*padding; + totalWidth += glyphs[i].image.width + 2*padding; } //#define SUPPORT_FONT_ATLAS_SIZE_CONSERVATIVE @@ -743,8 +743,9 @@ Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyp atlas.width = imageSize; // Atlas bitmap width atlas.height = imageSize; // Atlas bitmap height #else + int paddedFontSize = fontSize + 2*padding; // No need for a so-conservative atlas generation - float totalArea = totalWidth*fontSize*1.2f; + float totalArea = totalWidth*paddedFontSize*1.2f; float imageMinSize = sqrtf(totalArea); int imageSize = (int)powf(2, ceilf(logf(imageMinSize)/logf(2))); From 64ba5cb570a29f540c29165ff4bbdab16d422910 Mon Sep 17 00:00:00 2001 From: Hongyu Ouyang <96765450+casavaca@users.noreply.github.com> Date: Thu, 11 Jan 2024 10:33:24 -0800 Subject: [PATCH 074/745] Update a comment (#3724) --- src/rcore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rcore.c b/src/rcore.c index bae7bbb49..0769fe937 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -3265,7 +3265,7 @@ static void ScanDirectoryFilesRecursively(const char *basePath, FilePathList *fi #if defined(SUPPORT_AUTOMATION_EVENTS) // Automation event recording -// NOTE: Recording is by default done at EndDrawing(), after PollInputEvents() +// NOTE: Recording is by default done at EndDrawing(), before PollInputEvents() static void RecordAutomationEvent(void) { // Checking events in current frame and save them into currentEventList From 746f129bfe161c12bed294bd9d8514d8e46517ec Mon Sep 17 00:00:00 2001 From: Le Juez Victor <90587919+Bigfoot71@users.noreply.github.com> Date: Thu, 11 Jan 2024 19:37:42 +0100 Subject: [PATCH 075/745] Fix `ImageDrawRectangleRec` (#3721) --- src/rtextures.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index ee7d76936..738f593c7 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3562,8 +3562,8 @@ void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color) if ((dst->data == NULL) || (dst->width == 0) || (dst->height == 0)) return; // Security check to avoid drawing out of bounds in case of bad user data - if (rec.x < 0) { rec.width -= rec.x; rec.x = 0; } - if (rec.y < 0) { rec.height -= rec.y; rec.y = 0; } + if (rec.x < 0) { rec.width += rec.x; rec.x = 0; } + if (rec.y < 0) { rec.height += rec.y; rec.y = 0; } if (rec.width < 0) rec.width = 0; if (rec.height < 0) rec.height = 0; From a820c37ab284279230c51a57306e64ad70e7d344 Mon Sep 17 00:00:00 2001 From: Lieven Petersen <50841810+LievenPetersen@users.noreply.github.com> Date: Thu, 11 Jan 2024 19:48:14 +0100 Subject: [PATCH 076/745] implemented fill color TODO in ImageResizeCanvas() (#3720) --- src/rtextures.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/rtextures.c b/src/rtextures.c index 738f593c7..cdec7a3a4 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1741,8 +1741,22 @@ void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, i int bytesPerPixel = GetPixelDataSize(1, 1, image->format); unsigned char *resizedData = (unsigned char *)RL_CALLOC(newWidth*newHeight*bytesPerPixel, 1); - // TODO: Fill resized canvas with fill color (must be formatted to image->format) + // Fill resized canvas with fill color + // Set first pixel with image->format + SetPixelColor(resizedData, fill, image->format); + // Fill remaining bytes of first row + for (int x = 1; x < newWidth; x++) + { + memcpy(resizedData + x*bytesPerPixel, resizedData, bytesPerPixel); + } + // Copy the first row into the other rows + for (int y = 1; y < newHeight; y++) + { + memcpy(resizedData + y*newWidth*bytesPerPixel, resizedData, newWidth*bytesPerPixel); + } + + // Copy old image to resized canvas int dstOffsetSize = ((int)dstPos.y*newWidth + (int)dstPos.x)*bytesPerPixel; for (int y = 0; y < (int)srcRec.height; y++) From 482722d881e98d84773af97838b6604331ae5538 Mon Sep 17 00:00:00 2001 From: freakmangd <53349189+freakmangd@users.noreply.github.com> Date: Thu, 11 Jan 2024 13:48:37 -0500 Subject: [PATCH 077/745] Update to latest zig 0.12.0dev while keeping 0.11.0 compatibility (#3715) * update build.zig for latest zig 0.12.0dev while still allowing 0.11.0 * update examples/build.zig and add nicer message for type mismatch --- build.zig | 2 +- examples/build.zig | 42 +++++++++++++++++++++++++++++++++++------- src/build.zig | 24 +++++++++++++++++++++--- 3 files changed, 57 insertions(+), 11 deletions(-) diff --git a/build.zig b/build.zig index f4d7d1590..fdcd2b0fc 100644 --- a/build.zig +++ b/build.zig @@ -1,7 +1,7 @@ const std = @import("std"); const raylib = @import("src/build.zig"); -// This has been tested to work with zig 0.11.0 +// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.2075+f5978181e pub fn build(b: *std.Build) void { raylib.build(b); } diff --git a/examples/build.zig b/examples/build.zig index 94ecc6783..deb381d53 100644 --- a/examples/build.zig +++ b/examples/build.zig @@ -1,14 +1,26 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested to work with zig 0.11.0 (67709b6, Aug 4 2023) -fn add_module(comptime module: []const u8, b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) !*std.Build.Step { - if (target.getOsTag() == .emscripten) { +// This has been tested to work with zig 0.11.0 (67709b6, Aug 4 2023) and zig 0.12.0-dev.2075+f5978181e (Jan 8 2024) +// +// anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type +// was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows +// us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. +fn add_module(comptime module: []const u8, b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode) !*std.Build.Step { + if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { + @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'add_module', found '" ++ @typeName(@TypeOf(target)) ++ "'"); + } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { + @compileError("Expected 'std.zig.CrossTarget' for argument 2 'target' in 'add_module', found '" ++ @typeName(@TypeOf(target)) ++ "'"); + } + + if (getOsTagVersioned(target) == .emscripten) { @panic("Emscripten building via Zig unsupported"); } const all = b.step(module, "All " ++ module ++ " examples"); - const dir = try std.fs.cwd().openIterableDir(module, .{}); + var dir = try openIterableDirVersioned(std.fs.cwd(), module); + defer if (comptime builtin.zig_version.minor >= 12) dir.close(); + var iter = dir.iterate(); while (try iter.next()) |entry| { if (entry.kind != .file) continue; @@ -17,7 +29,7 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: std.zig.CrossT const path = try std.fs.path.join(b.allocator, &.{ module, entry.name }); // zig's mingw headers do not include pthread.h - if (std.mem.eql(u8, "core_loading_thread", name) and target.getOsTag() == .windows) continue; + if (std.mem.eql(u8, "core_loading_thread", name) and getOsTagVersioned(target) == .windows) continue; const exe = b.addExecutable(.{ .name = name, @@ -26,7 +38,7 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: std.zig.CrossT }); exe.addCSourceFile(.{ .file = .{ .path = path }, .flags = &.{} }); exe.linkLibC(); - exe.addObjectFile(switch (target.getOsTag()) { + exe.addObjectFile(switch (getOsTagVersioned(target)) { .windows => .{ .path = "../zig-out/lib/raylib.lib" }, .linux => .{ .path = "../zig-out/lib/libraylib.a" }, .macos => .{ .path = "../zig-out/lib/libraylib.a" }, @@ -38,7 +50,7 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: std.zig.CrossT exe.addIncludePath(.{ .path = "../src/external" }); exe.addIncludePath(.{ .path = "../src/external/glfw/include" }); - switch (target.getOsTag()) { + switch (getOsTagVersioned(target)) { .windows => { exe.linkSystemLibrary("winmm"); exe.linkSystemLibrary("gdi32"); @@ -106,3 +118,19 @@ pub fn build(b: *std.Build) !void { all.dependOn(try add_module("text", b, target, optimize)); all.dependOn(try add_module("textures", b, target, optimize)); } + +fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { + if (comptime builtin.zig_version.minor >= 12) { + return target.result.os.tag; + } else { + return target.getOsTag(); + } +} + +fn openIterableDirVersioned(dir: std.fs.Dir, path: []const u8) !(if (builtin.zig_version.minor >= 12) std.fs.Dir else std.fs.IterableDir) { + if (comptime builtin.zig_version.minor >= 12) { + return dir.openDir(path, .{ .iterate = true }); + } else { + return dir.openIterableDir(path, .{}); + } +} diff --git a/src/build.zig b/src/build.zig index a574ad632..e0fc53fe6 100644 --- a/src/build.zig +++ b/src/build.zig @@ -1,8 +1,18 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.1390+94cee4fb2 -pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode, options: Options) *std.Build.CompileStep { +// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.2075+f5978181e +// +// anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type +// was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows +// us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. +pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) *std.Build.Step.Compile { + if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { + @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); + } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { + @compileError("Expected 'std.zig.CrossTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); + } + const raylib_flags = &[_][]const u8{ "-std=gnu99", "-D_GNU_SOURCE", @@ -68,7 +78,7 @@ pub fn addRaylib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.built raylib.addIncludePath(.{ .path = srcdir ++ "/../../raygui/src" }); } - switch (target.getOsTag()) { + switch (getOsTagVersioned(target)) { .windows => { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rglfw.c", @@ -219,6 +229,14 @@ const srcdir = struct { } }.getSrcDir(); +fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { + if (comptime builtin.zig_version.minor >= 12) { + return target.result.os.tag; + } else { + return target.getOsTag(); + } +} + fn addCSourceFilesVersioned(exe: *std.Build.Step.Compile, files: []const []const u8, flags: []const []const u8) void { if (comptime builtin.zig_version.minor >= 12) { exe.addCSourceFiles(.{ From 9d628d1d499f8ad9c0e6fbed69914cecb611d6cd Mon Sep 17 00:00:00 2001 From: kolunmi <113054217+kolunmi@users.noreply.github.com> Date: Thu, 11 Jan 2024 11:49:25 -0700 Subject: [PATCH 078/745] Enable animation names for the m3d model format. (#3714) --- src/rmodels.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 417142242..ede87a1b3 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -6050,7 +6050,8 @@ static ModelAnimation *LoadModelAnimationsM3D(const char *fileName, int *animCou animations[a].boneCount = m3d->numbone + 1; animations[a].bones = RL_MALLOC((m3d->numbone + 1)*sizeof(BoneInfo)); animations[a].framePoses = RL_MALLOC(animations[a].frameCount*sizeof(Transform *)); - // strncpy(animations[a].name, m3d->action[a].name, sizeof(animations[a].name)); + strncpy(animations[a].name, m3d->action[a].name, sizeof(animations[a].name)); + animations[a].name[sizeof(animations[a].name) - 1] = '\0'; TRACELOG(LOG_INFO, "MODEL: [%s] animation #%i: %i msec, %i frames", fileName, a, m3d->action[a].durationmsec, animations[a].frameCount); for (i = 0; i < (int)m3d->numbone; i++) From b7141d556ed2d99c19063ec9f4bd6bb389498810 Mon Sep 17 00:00:00 2001 From: Andrew Lee <32912555+candrewlee14@users.noreply.github.com> Date: Sat, 13 Jan 2024 02:46:53 -0700 Subject: [PATCH 079/745] Add shared library build option for build.zig and update to zig 0.12.0-dev.2139 (#3727) * update build.zig to 0.12.0-dev.2139 and add shared lib option * add no-sanitize workarounds --- build.zig | 4 +-- src/build.zig | 71 +++++++++++++++++++++++++++++---------------------- 2 files changed, 43 insertions(+), 32 deletions(-) diff --git a/build.zig b/build.zig index fdcd2b0fc..1cf9e9503 100644 --- a/build.zig +++ b/build.zig @@ -2,6 +2,6 @@ const std = @import("std"); const raylib = @import("src/build.zig"); // This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.2075+f5978181e -pub fn build(b: *std.Build) void { - raylib.build(b); +pub fn build(b: *std.Build) !void { + try raylib.build(b); } diff --git a/src/build.zig b/src/build.zig index e0fc53fe6..827788efc 100644 --- a/src/build.zig +++ b/src/build.zig @@ -6,24 +6,41 @@ const builtin = @import("builtin"); // anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type // was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows // us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. -pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) *std.Build.Step.Compile { +pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { @compileError("Expected 'std.zig.CrossTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); } - const raylib_flags = &[_][]const u8{ + const shared_flags = &[_][]const u8{ + "-fPIC", + "-DBUILD_LIBTYPE_SHARED", + }; + var raylib_flags_arr = std.ArrayList([]const u8).init(std.heap.page_allocator); + defer raylib_flags_arr.deinit(); + try raylib_flags_arr.appendSlice(&[_][]const u8{ "-std=gnu99", "-D_GNU_SOURCE", "-DGL_SILENCE_DEPRECATION=199309L", - }; - - const raylib = b.addStaticLibrary(.{ - .name = "raylib", - .target = target, - .optimize = optimize, + "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 }); + if (options.shared) { + try raylib_flags_arr.appendSlice(shared_flags); + } + + const raylib = if (options.shared) + b.addSharedLibrary(.{ + .name = "raylib", + .target = target, + .optimize = optimize, + }) + else + b.addStaticLibrary(.{ + .name = "raylib", + .target = target, + .optimize = optimize, + }); raylib.linkLibC(); // No GLFW required on PLATFORM_DRM @@ -34,38 +51,32 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rcore.c", srcdir ++ "/utils.c", - }, raylib_flags); + }, raylib_flags_arr.items); if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/raudio.c", - }, &[_][]const u8{ - "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 - } ++ raylib_flags); + }, raylib_flags_arr.items); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rmodels.c", - }, &[_][]const u8{ - "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/1891 - } ++ raylib_flags); + }, raylib_flags_arr.items); } if (options.rshapes) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rshapes.c", - }, raylib_flags); + }, raylib_flags_arr.items); } if (options.rtext) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rtext.c", - }, raylib_flags); + }, raylib_flags_arr.items); } if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rtextures.c", - }, &[_][]const u8{ - "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 - } ++ raylib_flags); + }, raylib_flags_arr.items); } var gen_step = b.addWriteFiles(); @@ -73,7 +84,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM if (options.raygui) { const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); - raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags }); + raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); raylib.addIncludePath(.{ .path = srcdir }); raylib.addIncludePath(.{ .path = srcdir ++ "/../../raygui/src" }); } @@ -82,7 +93,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .windows => { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rglfw.c", - }, raylib_flags); + }, raylib_flags_arr.items); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); raylib.linkSystemLibrary("opengl32"); @@ -94,7 +105,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM if (!options.platform_drm) { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rglfw.c", - }, raylib_flags); + }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("dl"); @@ -124,7 +135,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .freebsd, .openbsd, .netbsd, .dragonfly => { addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rglfw.c", - }, raylib_flags); + }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("dl"); @@ -140,12 +151,10 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .macos => { // On macos rglfw.c include Objective-C files. - const raylib_flags_extra_macos = &[_][]const u8{ - "-ObjC", - }; + try raylib_flags_arr.append("-ObjC"); addCSourceFilesVersioned(raylib, &.{ srcdir ++ "/rglfw.c", - }, raylib_flags ++ raylib_flags_extra_macos); + }, raylib_flags_arr.items); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); raylib.linkFramework("CoreGraphics"); @@ -186,9 +195,10 @@ pub const Options = struct { rtextures: bool = true, raygui: bool = false, platform_drm: bool = false, + shared: bool = false, }; -pub fn build(b: *std.Build) void { +pub fn build(b: *std.Build) !void { // Standard target options allows the person running `zig build` to choose // what target to build for. Here we do not override the defaults, which // means any target is allowed, and the default is native. Other options @@ -208,9 +218,10 @@ pub fn build(b: *std.Build) void { .rtextures = b.option(bool, "rtextures", "Compile with textures support") orelse defaults.rtextures, .rshapes = b.option(bool, "rshapes", "Compile with shapes support") orelse defaults.rshapes, .raygui = b.option(bool, "raygui", "Compile with raygui support") orelse defaults.raygui, + .shared = b.option(bool, "shared", "Compile as shared library") orelse defaults.shared, }; - const lib = addRaylib(b, target, optimize, options); + const lib = try addRaylib(b, target, optimize, options); lib.installHeader("src/raylib.h", "raylib.h"); lib.installHeader("src/raymath.h", "raymath.h"); From 520c8cffb2f1b5e7d5574e6be6e502489e75ff55 Mon Sep 17 00:00:00 2001 From: Karl Zylinski Date: Sat, 13 Jan 2024 10:49:04 +0100 Subject: [PATCH 080/745] Simplified GetWindowScaleDPI() so it does not fetch the wrong DPI scale some times (Windows looks at center of window while the old raylib code looked on upper left corner of window, now it just uses the glfw function to fetch the window's current scaling). Also introduced a callback to update the CORE.Window.screenScaling when the content scaling updates, previously scaling did not work correctly on systems with multiple monitors that have different DPI scaling. (#3701) --- src/platforms/rcore_desktop.c | 38 ++++++++++++----------------------- src/platforms/rcore_web.c | 21 ++++++++++++++----- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 7dc2048b9..4c98fcdf6 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -123,6 +123,7 @@ static void WindowIconifyCallback(GLFWwindow *window, int iconified); static void WindowMaximizeCallback(GLFWwindow* window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window +static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley); // GLFW3 Window Content Scale Callback, runs when window changes scale // Input callbacks events static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); // GLFW3 Keyboard Callback, runs on key pressed @@ -941,31 +942,8 @@ Vector2 GetWindowPosition(void) // Get window scale DPI factor for current monitor Vector2 GetWindowScaleDPI(void) { - float xdpi = 1.0; - float ydpi = 1.0; - Vector2 scale = { 1.0f, 1.0f }; - Vector2 windowPos = GetWindowPosition(); - - int monitorCount = 0; - GLFWmonitor **monitors = glfwGetMonitors(&monitorCount); - - // Check window monitor - for (int i = 0; i < monitorCount; i++) - { - glfwGetMonitorContentScale(monitors[i], &xdpi, &ydpi); - - int xpos, ypos, width, height; - glfwGetMonitorWorkarea(monitors[i], &xpos, &ypos, &width, &height); - - if ((windowPos.x >= xpos) && (windowPos.x < xpos + width) && - (windowPos.y >= ypos) && (windowPos.y < ypos + height)) - { - scale.x = xdpi; - scale.y = ydpi; - break; - } - } - + Vector2 scale = {0}; + glfwGetWindowContentScale(platform.handle, &scale.x, &scale.y); return scale; } @@ -1553,6 +1531,11 @@ int InitPlatform(void) glfwSetWindowFocusCallback(platform.handle, WindowFocusCallback); glfwSetDropCallback(platform.handle, WindowDropCallback); + if ((CORE.Window.flags & FLAG_WINDOW_HIGHDPI) > 0) + { + glfwSetWindowContentScaleCallback(platform.handle, WindowContentScaleCallback); + } + // Set input callback events glfwSetKeyCallback(platform.handle, KeyCallback); glfwSetCharCallback(platform.handle, CharCallback); @@ -1638,6 +1621,11 @@ static void WindowSizeCallback(GLFWwindow *window, int width, int height) // NOTE: Postprocessing texture is not scaled to new size } +static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley) +{ + CORE.Window.screenScale = MatrixScale(scalex, scaley, 1.0f); +} + // GLFW3 WindowIconify Callback, runs when window is minimized/restored static void WindowIconifyCallback(GLFWwindow *window, int iconified) { diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index a7f424383..8c16ff320 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -110,11 +110,12 @@ void ClosePlatform(void); // Close platform static void ErrorCallback(int error, const char *description); // GLFW3 Error Callback, runs on GLFW3 error // Window callbacks events -static void WindowSizeCallback(GLFWwindow *window, int width, int height); // GLFW3 WindowSize Callback, runs when window is resized -static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored -//static void WindowMaximizeCallback(GLFWwindow *window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized -static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus -static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window +static void WindowSizeCallback(GLFWwindow *window, int width, int height); // GLFW3 WindowSize Callback, runs when window is resized +static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored +//static void WindowMaximizeCallback(GLFWwindow *window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized +static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus +static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window +static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley); // GLFW3 Window Content Scale Callback, runs when window changes scale // Input callbacks events static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); // GLFW3 Keyboard Callback, runs on key pressed @@ -1190,6 +1191,11 @@ int InitPlatform(void) glfwSetWindowFocusCallback(platform.handle, WindowFocusCallback); glfwSetDropCallback(platform.handle, WindowDropCallback); + if ((CORE.Window.flags & FLAG_WINDOW_HIGHDPI) > 0) + { + glfwSetWindowContentScaleCallback(platform.handle, WindowContentScaleCallback); + } + // Set input callback events glfwSetKeyCallback(platform.handle, KeyCallback); glfwSetCharCallback(platform.handle, CharCallback); @@ -1327,6 +1333,11 @@ static void WindowSizeCallback(GLFWwindow *window, int width, int height) // NOTE: Postprocessing texture is not scaled to new size } +static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley) +{ + CORE.Window.screenScale = MatrixScale(scalex, scaley, 1.0f); +} + // GLFW3 WindowIconify Callback, runs when window is minimized/restored static void WindowIconifyCallback(GLFWwindow *window, int iconified) { From cb2572fe07ea49b951198a0adc189a8e903244ca Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 13 Jan 2024 16:57:25 +0100 Subject: [PATCH 081/745] Avoid asserts because could crash some decompressions https://github.com/raysan5/raygui/issues/364 --- src/external/sinfl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index 16589c173..1f6bf6f02 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -231,13 +231,13 @@ sinfl_refill(struct sinfl *s) { } static int sinfl_peek(struct sinfl *s, int cnt) { - assert(cnt >= 0 && cnt <= 56); - assert(cnt <= s->bitcnt); + //assert(cnt >= 0 && cnt <= 56); // @raysan5: commented to avoid crash on decompression + //assert(cnt <= s->bitcnt); return s->bitbuf & ((1ull << cnt) - 1); } static void sinfl_eat(struct sinfl *s, int cnt) { - assert(cnt <= s->bitcnt); + //assert(cnt <= s->bitcnt); // @raysan5: commented s->bitbuf >>= cnt; s->bitcnt -= cnt; } From 02133092f899bf17a0ad24fbde9a8775837ccac8 Mon Sep 17 00:00:00 2001 From: Tobias Mock Date: Sat, 13 Jan 2024 22:46:33 +0000 Subject: [PATCH 082/745] Update OCaml bindings version (#3730) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index ab0d77896..b5753a9ba 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -52,7 +52,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | node-raylib | 4.5 | [Node.js](https://nodejs.org/en/) | Zlib | https://github.com/RobLoach/node-raylib | | raylib-odin | 4.5 | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | | raylib_odin_bindings | 4.0-dev | [Odin](https://odin-lang.org/) | MIT | https://github.com/Deathbat2190/raylib_odin_bindings | -| raylib-ocaml | 4.5 | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | +| raylib-ocaml | **5.0** | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | | TurboRaylib | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | https://github.com/turborium/TurboRaylib | | Ray4Laz | **5.0** | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/GuvaCode/Ray4Laz | | Raylib.4.0.Pascal | 4.0 | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/sysrpl/Raylib.4.0.Pascal | From d2b1256e5c3567484486ad70cc2bb69495abfbf4 Mon Sep 17 00:00:00 2001 From: Blockguy24 <21016331+Blockguy24@users.noreply.github.com> Date: Sun, 14 Jan 2024 21:21:29 +1100 Subject: [PATCH 083/745] Fix bounds check for `ImageDrawRectangleRec` (#3732) --- src/rtextures.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index cdec7a3a4..fb7261378 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3586,8 +3586,8 @@ void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color) if ((rec.y + rec.height) >= dst->height) rec.height = dst->height - rec.y; // Check if the rect is even inside the image - if ((rec.x > dst->width) || (rec.y > dst->height)) return; - if (((rec.x + rec.width) < 0) || (rec.y + rec.height < 0)) return; + if ((rec.x >= dst->width) || (rec.y >= dst->height)) return; + if (((rec.x + rec.width) <= 0) || (rec.y + rec.height <= 0)) return; int sy = (int)rec.y; int sx = (int)rec.x; From c57b8d5a6abbf210fece6b44dcdadd112a7e072e Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 15 Jan 2024 20:32:46 +0100 Subject: [PATCH 084/745] REVIEWED: `ImageKernelConvolution()`, formating and warnings --- src/rtextures.c | 92 +++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index fb7261378..ed296f299 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2135,11 +2135,12 @@ void ImageBlurGaussian(Image *image, int blurSize) { } // The kernel matrix is assumed to be square. Only supply the width of the kernel. -void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ - +void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) +{ if ((image->data == NULL) || (image->width == 0) || (image->height == 0) || kernel == NULL) return; int kernelWidth = (int)sqrtf((float)kernelSize); + if (kernelWidth*kernelWidth != kernelSize) { TRACELOG(LOG_WARNING, "IMAGE: Convolution kernel must be square to be applied"); @@ -2152,7 +2153,8 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ Vector4 *temp = RL_MALLOC(kernelSize*sizeof(Vector4)); - for(int i = 0; i < kernelSize; i++){ + for (int i = 0; i < kernelSize; i++) + { temp[i].x = 0.0f; temp[i].y = 0.0f; temp[i].z = 0.0f; @@ -2164,44 +2166,49 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ float bRes = 0.0f; float aRes = 0.0f; - - int startRange, endRange; - if(kernelWidth % 2 == 0) + int startRange = 0, endRange = 0; + + if (kernelWidth%2 == 0) { startRange = -kernelWidth/2; endRange = kernelWidth/2; - } else + } + else { startRange = -kernelWidth/2; - endRange = kernelWidth/2+1; + endRange = kernelWidth/2 + 1; } + for(int x = 0; x < image->height; x++) { - for(int y = 0; y < image->width; y++) + for (int y = 0; y < image->width; y++) { - - for(int xk = startRange; xk < endRange; xk++) + for (int xk = startRange; xk < endRange; xk++) { - for(int yk = startRange; yk < endRange; yk++) + for (int yk = startRange; yk < endRange; yk++) { int xkabs = xk + kernelWidth/2; int ykabs = yk + kernelWidth/2; - size_t imgindex = image->width * (x+xk) + (y+yk); - if(imgindex < 0 || imgindex >= image->width * image->height){ + unsigned int imgindex = image->width*(x + xk) + (y + yk); + + if (imgindex >= image->width*image->height) + { temp[kernelWidth * xkabs + ykabs].x = 0.0f; temp[kernelWidth * xkabs + ykabs].y = 0.0f; temp[kernelWidth * xkabs + ykabs].z = 0.0f; temp[kernelWidth * xkabs + ykabs].w = 0.0f; - } else { - temp[kernelWidth * xkabs + ykabs].x = ((float)pixels[imgindex].r)/255.0f * kernel[kernelWidth * xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].y = ((float)pixels[imgindex].g)/255.0f * kernel[kernelWidth * xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].z = ((float)pixels[imgindex].b)/255.0f * kernel[kernelWidth * xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].w = ((float)pixels[imgindex].a)/255.0f * kernel[kernelWidth * xkabs + ykabs]; + } + else + { + temp[kernelWidth * xkabs + ykabs].x = ((float)pixels[imgindex].r)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth * xkabs + ykabs].y = ((float)pixels[imgindex].g)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth * xkabs + ykabs].z = ((float)pixels[imgindex].b)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth * xkabs + ykabs].w = ((float)pixels[imgindex].a)/255.0f*kernel[kernelWidth*xkabs + ykabs]; } } } - for(int i = 0; i < kernelSize; i++) + for (int i = 0; i < kernelSize; i++) { rRes += temp[i].x; gRes += temp[i].y; @@ -2209,43 +2216,25 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ aRes += temp[i].w; } - if(rRes < 0.0f) - { - rRes = 0.0f; - } - if(gRes < 0.0f) - { - gRes = 0.0f; - } - if(bRes < 0.0f) - { - bRes = 0.0f; - } + if (rRes < 0.0f) rRes = 0.0f; + if (gRes < 0.0f) gRes = 0.0f; + if (bRes < 0.0f) bRes = 0.0f; - if(rRes > 1.0f) - { - rRes = 1.0f; - } - if(gRes > 1.0f) - { - gRes = 1.0f; - } - if(bRes > 1.0f) - { - bRes = 1.0f; - } + if (rRes > 1.0f) rRes = 1.0f; + if (gRes > 1.0f) gRes = 1.0f; + if (bRes > 1.0f) bRes = 1.0f; - imageCopy2[image->width * (x) + (y)].x = rRes; - imageCopy2[image->width * (x) + (y)].y = gRes; - imageCopy2[image->width * (x) + (y)].z = bRes; - imageCopy2[image->width * (x) + (y)].w = aRes; + imageCopy2[image->width*x + y].x = rRes; + imageCopy2[image->width*x + y].y = gRes; + imageCopy2[image->width*x + y].z = bRes; + imageCopy2[image->width*x + y].w = aRes; rRes = 0.0f; gRes = 0.0f; bRes = 0.0f; aRes = 0.0f; - for(int i = 0; i < kernelSize; i++) + for (int i = 0; i < kernelSize; i++) { temp[i].x = 0.0f; temp[i].y = 0.0f; @@ -2255,17 +2244,16 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){ } } - for (int i = 0; i < (image->width) * (image->height); i++) + for (int i = 0; i < (image->width*image->height); i++) { float alpha = (float)imageCopy2[i].w; + pixels[i].r = (unsigned char)((imageCopy2[i].x)*255.0f); pixels[i].g = (unsigned char)((imageCopy2[i].y)*255.0f); pixels[i].b = (unsigned char)((imageCopy2[i].z)*255.0f); pixels[i].a = (unsigned char)((alpha)*255.0f); - // printf("pixels[%d] = %d", i, pixels[i].r); } - int format = image->format; RL_FREE(image->data); RL_FREE(imageCopy2); From b600786c525caa667646c5d271c65a8eb007f168 Mon Sep 17 00:00:00 2001 From: Anand Swaroop <72886192+Anut-py@users.noreply.github.com> Date: Wed, 17 Jan 2024 18:22:10 -0500 Subject: [PATCH 085/745] Update BINDINGS.md (#3739) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index b5753a9ba..234ad323a 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -31,7 +31,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-go | **5.0** | [Go](https://golang.org/) | Zlib | https://github.com/gen2brain/raylib-go | | raylib-guile | **auto** | [Guile](https://www.gnu.org/software/guile/) | Zlib | https://github.com/petelliott/raylib-guile | | gforth-raylib | 3.5 | [Gforth](https://gforth.org/) | **???** | https://github.com/ArnautDaniel/gforth-raylib | -| h-raylib | 4.6-dev | [Haskell](https://haskell.org/) | Apache-2.0 | https://github.com/Anut-py/h-raylib | +| h-raylib | **5.1-dev** | [Haskell](https://haskell.org/) | Apache-2.0 | https://github.com/Anut-py/h-raylib | | raylib-hx | 4.2 | [Haxe](https://haxe.org/) | Zlib | https://github.com/foreignsasquatch/raylib-hx | | hb-raylib | 3.5 | [Harbour](https://harbour.github.io) | MIT | https://github.com/MarcosLeonardoMendezGerencir/hb-raylib | | jaylib | 5.0 | [Janet](https://janet-lang.org/) | MIT | https://github.com/janet-lang/jaylib | From 0a8165c0acc85bab1624b94ee28ab67535aedbdd Mon Sep 17 00:00:00 2001 From: Hongyu Ouyang <96765450+casavaca@users.noreply.github.com> Date: Sat, 20 Jan 2024 12:05:30 -0800 Subject: [PATCH 086/745] Make raylib/raygui work better on touchscreen (#3728) * Fix that touch doesn't work for click/drag/raygui * Add comments * comments update --- src/platforms/rcore_web.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 8c16ff320..a13f69908 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -1646,6 +1646,13 @@ static EM_BOOL EmscriptenTouchCallback(int eventType, const EmscriptenTouchEvent else if (eventType == EMSCRIPTEN_EVENT_TOUCHEND) CORE.Input.Touch.currentTouchState[i] = 0; } + // Update mouse position if we detect a single touch. + if (CORE.Input.Touch.pointCount == 1) + { + CORE.Input.Mouse.currentPosition.x = CORE.Input.Touch.position[0].x; + CORE.Input.Mouse.currentPosition.y = CORE.Input.Touch.position[0].y; + } + #if defined(SUPPORT_GESTURES_SYSTEM) GestureEvent gestureEvent = {0}; From 192f7f1b291d21fbe4bdd2c373e6cf94e69272bb Mon Sep 17 00:00:00 2001 From: John Date: Sat, 20 Jan 2024 21:08:19 +0100 Subject: [PATCH 087/745] [rcore rglfw] Feature Test Macros before include (#3737) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move/Add Feature Test Macros before any includes. See: [GNU Feature Test Macros](https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html) > You should define these macros by using ‘#define’ preprocessor directives at the top of your source code files. These directives must come before any #include of a system header file. It is best to make them the very first thing in the file, preceded only by comments. Alternative changes to rcore would be to change _POSIX_C_SOURCE to 200809L, which removes the need to define _XOPEN_SOURCE >= 500. These changes allow for compilation with -std=c* (such as -std=c99) without adding -D macros to the build step. Co-authored-by: JayLCypher --- src/rcore.c | 18 +++++++++++++----- src/rglfw.c | 12 ++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 0769fe937..bb06e9bee 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -82,6 +82,19 @@ * **********************************************************************************************/ +//---------------------------------------------------------------------------------- +// Feature Test Macros required for this module +//---------------------------------------------------------------------------------- +#if (defined(__linux__) || defined(PLATFORM_WEB)) && (_XOPEN_SOURCE < 500) + #undef _XOPEN_SOURCE + #define _XOPEN_SOURCE 500 // Required for: readlink if compiled with c99 without gnu ext. +#endif + +#if (defined(__linux__) || defined(PLATFORM_WEB)) && (_POSIX_C_SOURCE < 199309L) + #undef _POSIX_C_SOURCE + #define _POSIX_C_SOURCE 199309L // Required for: CLOCK_MONOTONIC if compiled with c99 without gnu ext. +#endif + #include "raylib.h" // Declares module functions // Check if config flags have been externally provided on compilation line @@ -235,11 +248,6 @@ __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigne #define FLAG_TOGGLE(n, f) ((n) ^= (f)) #define FLAG_CHECK(n, f) ((n) & (f)) -#if (defined(__linux__) || defined(PLATFORM_WEB)) && (_POSIX_C_SOURCE < 199309L) - #undef _POSIX_C_SOURCE - #define _POSIX_C_SOURCE 199309L // Required for: CLOCK_MONOTONIC if compiled with c99 without gnu ext. -#endif - //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- diff --git a/src/rglfw.c b/src/rglfw.c index 10ed0954b..0e378b5bd 100644 --- a/src/rglfw.c +++ b/src/rglfw.c @@ -37,6 +37,18 @@ // _GLFW_OSMESA to use the OSMesa API (headless and non-interactive) // _GLFW_MIR experimental, not supported at this moment +//---------------------------------------------------------------------------------- +// Feature Test Macros required for this module +//---------------------------------------------------------------------------------- +#if (defined(__linux__) || defined(PLATFORM_WEB)) && (_POSIX_C_SOURCE < 199309L) + #undef _POSIX_C_SOURCE + #define _POSIX_C_SOURCE 199309L // Required for: CLOCK_MONOTONIC if compiled with c99 without gnu ext. +#endif +#if (defined(__linux__) || defined(PLATFORM_WEB)) && !defined(_GNU_SOURCE) + #undef _GNU_SOURCE + #define _GNU_SOURCE // Required for: ppoll if compiled with c99 without gnu ext. +#endif + #if defined(_WIN32) || defined(__CYGWIN__) #define _GLFW_WIN32 #endif From 5c25913e095fcf38ecf76abc37917544584c58d3 Mon Sep 17 00:00:00 2001 From: Alexandre Almeida Date: Sat, 20 Jan 2024 17:22:33 -0300 Subject: [PATCH 088/745] Fix Android keycode translation and duplicate key constants (#3733) * Fix Android keycode translation * Simplify code a bit * Rename KEYCODE_MAPPED_NUM to KEYCODE_MAP_SIZE * Fix KEY_R and KEY_MENU duplicate * Update raylib_api.* by CI --------- Co-authored-by: github-actions[bot] --- parser/output/raylib_api.json | 2 +- parser/output/raylib_api.lua | 2 +- parser/output/raylib_api.txt | 2 +- parser/output/raylib_api.xml | 2 +- src/platforms/rcore_android.c | 189 ++++++++++++++++++++++++++++++++-- src/raylib.h | 2 +- 6 files changed, 186 insertions(+), 13 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index c64a080f1..dd305c5c6 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -2069,7 +2069,7 @@ }, { "name": "KEY_MENU", - "value": 82, + "value": 5, "description": "Key: Android menu button" }, { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 091b2a0ad..d4a8aeed8 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -2069,7 +2069,7 @@ return { }, { name = "KEY_MENU", - value = 82, + value = 5, description = "Key: Android menu button" }, { diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index d3370dca6..45faa3eb1 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -717,7 +717,7 @@ Enum 03: KeyboardKey (110 values) Value[KEY_KP_ENTER]: 335 Value[KEY_KP_EQUAL]: 336 Value[KEY_BACK]: 4 - Value[KEY_MENU]: 82 + Value[KEY_MENU]: 5 Value[KEY_VOLUME_UP]: 24 Value[KEY_VOLUME_DOWN]: 25 Enum 04: MouseButton (7 values) diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 4a483b36e..2feb6e18b 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -437,7 +437,7 @@ - + diff --git a/src/platforms/rcore_android.c b/src/platforms/rcore_android.c index fc1728166..cc124d952 100644 --- a/src/platforms/rcore_android.c +++ b/src/platforms/rcore_android.c @@ -77,6 +77,175 @@ extern CoreData CORE; // Global CORE state context static PlatformData platform = { 0 }; // Platform specific data +//---------------------------------------------------------------------------------- +// Local Variables Definition +//---------------------------------------------------------------------------------- +#define KEYCODE_MAP_SIZE 162 +static const KeyboardKey KeycodeMap[KEYCODE_MAP_SIZE] = { + KEY_NULL, // AKEYCODE_UNKNOWN + 0, // AKEYCODE_SOFT_LEFT + 0, // AKEYCODE_SOFT_RIGHT + 0, // AKEYCODE_HOME + KEY_BACK, // AKEYCODE_BACK + 0, // AKEYCODE_CALL + 0, // AKEYCODE_ENDCALL + KEY_ZERO, // AKEYCODE_0 + KEY_ONE, // AKEYCODE_1 + KEY_TWO, // AKEYCODE_2 + KEY_THREE, // AKEYCODE_3 + KEY_FOUR, // AKEYCODE_4 + KEY_FIVE, // AKEYCODE_5 + KEY_SIX, // AKEYCODE_6 + KEY_SEVEN, // AKEYCODE_7 + KEY_EIGHT, // AKEYCODE_8 + KEY_NINE, // AKEYCODE_9 + 0, // AKEYCODE_STAR + 0, // AKEYCODE_POUND + KEY_UP, // AKEYCODE_DPAD_UP + KEY_DOWN, // AKEYCODE_DPAD_DOWN + KEY_LEFT, // AKEYCODE_DPAD_LEFT + KEY_RIGHT, // AKEYCODE_DPAD_RIGHT + 0, // AKEYCODE_DPAD_CENTER + KEY_VOLUME_UP, // AKEYCODE_VOLUME_UP + KEY_VOLUME_DOWN, // AKEYCODE_VOLUME_DOWN + 0, // AKEYCODE_POWER + 0, // AKEYCODE_CAMERA + 0, // AKEYCODE_CLEAR + KEY_A, // AKEYCODE_A + KEY_B, // AKEYCODE_B + KEY_C, // AKEYCODE_C + KEY_D, // AKEYCODE_D + KEY_E, // AKEYCODE_E + KEY_F, // AKEYCODE_F + KEY_G, // AKEYCODE_G + KEY_H, // AKEYCODE_H + KEY_I, // AKEYCODE_I + KEY_J, // AKEYCODE_J + KEY_K, // AKEYCODE_K + KEY_L, // AKEYCODE_L + KEY_M, // AKEYCODE_M + KEY_N, // AKEYCODE_N + KEY_O, // AKEYCODE_O + KEY_P, // AKEYCODE_P + KEY_Q, // AKEYCODE_Q + KEY_R, // AKEYCODE_R + KEY_S, // AKEYCODE_S + KEY_T, // AKEYCODE_T + KEY_U, // AKEYCODE_U + KEY_V, // AKEYCODE_V + KEY_W, // AKEYCODE_W + KEY_X, // AKEYCODE_X + KEY_Y, // AKEYCODE_Y + KEY_Z, // AKEYCODE_Z + KEY_COMMA, // AKEYCODE_COMMA + KEY_PERIOD, // AKEYCODE_PERIOD + KEY_LEFT_ALT, // AKEYCODE_ALT_LEFT + KEY_RIGHT_ALT, // AKEYCODE_ALT_RIGHT + KEY_LEFT_SHIFT, // AKEYCODE_SHIFT_LEFT + KEY_RIGHT_SHIFT, // AKEYCODE_SHIFT_RIGHT + KEY_TAB, // AKEYCODE_TAB + KEY_SPACE, // AKEYCODE_SPACE + 0, // AKEYCODE_SYM + 0, // AKEYCODE_EXPLORER + 0, // AKEYCODE_ENVELOPE + KEY_ENTER, // AKEYCODE_ENTER + KEY_BACKSPACE, // AKEYCODE_DEL + KEY_GRAVE, // AKEYCODE_GRAVE + KEY_MINUS, // AKEYCODE_MINUS + KEY_EQUAL, // AKEYCODE_EQUALS + KEY_LEFT_BRACKET, // AKEYCODE_LEFT_BRACKET + KEY_RIGHT_BRACKET, // AKEYCODE_RIGHT_BRACKET + KEY_BACKSLASH, // AKEYCODE_BACKSLASH + KEY_SEMICOLON, // AKEYCODE_SEMICOLON + KEY_APOSTROPHE, // AKEYCODE_APOSTROPHE + KEY_SLASH, // AKEYCODE_SLASH + 0, // AKEYCODE_AT + 0, // AKEYCODE_NUM + 0, // AKEYCODE_HEADSETHOOK + 0, // AKEYCODE_FOCUS + 0, // AKEYCODE_PLUS + KEY_MENU, // AKEYCODE_MENU + 0, // AKEYCODE_NOTIFICATION + 0, // AKEYCODE_SEARCH + 0, // AKEYCODE_MEDIA_PLAY_PAUSE + 0, // AKEYCODE_MEDIA_STOP + 0, // AKEYCODE_MEDIA_NEXT + 0, // AKEYCODE_MEDIA_PREVIOUS + 0, // AKEYCODE_MEDIA_REWIND + 0, // AKEYCODE_MEDIA_FAST_FORWARD + 0, // AKEYCODE_MUTE + KEY_PAGE_UP, // AKEYCODE_PAGE_UP + KEY_PAGE_DOWN, // AKEYCODE_PAGE_DOWN + 0, // AKEYCODE_PICTSYMBOLS + 0, // AKEYCODE_SWITCH_CHARSET + 0, // AKEYCODE_BUTTON_A + 0, // AKEYCODE_BUTTON_B + 0, // AKEYCODE_BUTTON_C + 0, // AKEYCODE_BUTTON_X + 0, // AKEYCODE_BUTTON_Y + 0, // AKEYCODE_BUTTON_Z + 0, // AKEYCODE_BUTTON_L1 + 0, // AKEYCODE_BUTTON_R1 + 0, // AKEYCODE_BUTTON_L2 + 0, // AKEYCODE_BUTTON_R2 + 0, // AKEYCODE_BUTTON_THUMBL + 0, // AKEYCODE_BUTTON_THUMBR + 0, // AKEYCODE_BUTTON_START + 0, // AKEYCODE_BUTTON_SELECT + 0, // AKEYCODE_BUTTON_MODE + KEY_ESCAPE, // AKEYCODE_ESCAPE + KEY_DELETE, // AKEYCODE_FORWARD_DELL + KEY_LEFT_CONTROL, // AKEYCODE_CTRL_LEFT + KEY_RIGHT_CONTROL, // AKEYCODE_CTRL_RIGHT + KEY_CAPS_LOCK, // AKEYCODE_CAPS_LOCK + KEY_SCROLL_LOCK, // AKEYCODE_SCROLL_LOCK + KEY_LEFT_SUPER, // AKEYCODE_META_LEFT + KEY_RIGHT_SUPER, // AKEYCODE_META_RIGHT + 0, // AKEYCODE_FUNCTION + KEY_PRINT_SCREEN, // AKEYCODE_SYSRQ + KEY_PAUSE, // AKEYCODE_BREAK + KEY_HOME, // AKEYCODE_MOVE_HOME + KEY_END, // AKEYCODE_MOVE_END + KEY_INSERT, // AKEYCODE_INSERT + 0, // AKEYCODE_FORWARD + 0, // AKEYCODE_MEDIA_PLAY + 0, // AKEYCODE_MEDIA_PAUSE + 0, // AKEYCODE_MEDIA_CLOSE + 0, // AKEYCODE_MEDIA_EJECT + 0, // AKEYCODE_MEDIA_RECORD + KEY_F1, // AKEYCODE_F1 + KEY_F2, // AKEYCODE_F2 + KEY_F3, // AKEYCODE_F3 + KEY_F4, // AKEYCODE_F4 + KEY_F5, // AKEYCODE_F5 + KEY_F6, // AKEYCODE_F6 + KEY_F7, // AKEYCODE_F7 + KEY_F8, // AKEYCODE_F8 + KEY_F9, // AKEYCODE_F9 + KEY_F10, // AKEYCODE_F10 + KEY_F11, // AKEYCODE_F11 + KEY_F12, // AKEYCODE_F12 + KEY_NUM_LOCK, // AKEYCODE_NUM_LOCK + KEY_KP_0, // AKEYCODE_NUMPAD_0 + KEY_KP_1, // AKEYCODE_NUMPAD_1 + KEY_KP_2, // AKEYCODE_NUMPAD_2 + KEY_KP_3, // AKEYCODE_NUMPAD_3 + KEY_KP_4, // AKEYCODE_NUMPAD_4 + KEY_KP_5, // AKEYCODE_NUMPAD_5 + KEY_KP_6, // AKEYCODE_NUMPAD_6 + KEY_KP_7, // AKEYCODE_NUMPAD_7 + KEY_KP_8, // AKEYCODE_NUMPAD_8 + KEY_KP_9, // AKEYCODE_NUMPAD_9 + KEY_KP_DIVIDE, // AKEYCODE_NUMPAD_DIVIDE + KEY_KP_MULTIPLY, // AKEYCODE_NUMPAD_MULTIPLY + KEY_KP_SUBTRACT, // AKEYCODE_NUMPAD_SUBTRACT + KEY_KP_ADD, // AKEYCODE_NUMPAD_ADD + KEY_KP_DECIMAL, // AKEYCODE_NUMPAD_DOT + 0, // AKEYCODE_NUMPAD_COMMA + KEY_KP_ENTER, // AKEYCODE_NUMPAD_ENTER + KEY_KP_EQUAL // AKEYCODE_NUMPAD_EQUALS +}; + //---------------------------------------------------------------------------------- // Module Internal Functions Declaration //---------------------------------------------------------------------------------- @@ -1016,17 +1185,21 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) return 1; // Handled gamepad button } - // Save current button and its state - // NOTE: Android key action is 0 for down and 1 for up - if (AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_DOWN) + KeyboardKey key = (keycode > 0 && keycode < KEYCODE_MAP_SIZE) ? KeycodeMap[keycode] : KEY_NULL; + if (key != KEY_NULL) { - CORE.Input.Keyboard.currentKeyState[keycode] = 1; // Key down + // Save current key and its state + // NOTE: Android key action is 0 for down and 1 for up + if (AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_DOWN) + { + CORE.Input.Keyboard.currentKeyState[key] = 1; // Key down - CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = keycode; - CORE.Input.Keyboard.keyPressedQueueCount++; + CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = key; + CORE.Input.Keyboard.keyPressedQueueCount++; + } + else if (AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_MULTIPLE) CORE.Input.Keyboard.keyRepeatInFrame[key] = 1; + else CORE.Input.Keyboard.currentKeyState[key] = 0; // Key up } - else if (AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_MULTIPLE) CORE.Input.Keyboard.keyRepeatInFrame[keycode] = 1; - else CORE.Input.Keyboard.currentKeyState[keycode] = 0; // Key up if (keycode == AKEYCODE_POWER) { diff --git a/src/raylib.h b/src/raylib.h index 42fd290aa..4c4b191c0 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -677,7 +677,7 @@ typedef enum { KEY_KP_EQUAL = 336, // Key: Keypad = // Android key buttons KEY_BACK = 4, // Key: Android back button - KEY_MENU = 82, // Key: Android menu button + KEY_MENU = 5, // Key: Android menu button KEY_VOLUME_UP = 24, // Key: Android volume up button KEY_VOLUME_DOWN = 25 // Key: Android volume down button } KeyboardKey; From 68c32a41845b5216cba8b589ab312f0ca870c7d2 Mon Sep 17 00:00:00 2001 From: Idir Carlos Aliane Date: Mon, 22 Jan 2024 07:58:47 +0100 Subject: [PATCH 089/745] Fix typo in HISTORY.md (#3751) There is a typo where 'undoubtdly' appears instead of 'undoubtedly'. --- HISTORY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index f1a67bb41..de14b651c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -184,7 +184,7 @@ In **raylib 2.0** the full API has been carefully reviewed for better consistenc - **Complete removal of external dependencies.** Finally, raylib does not require external libraries to be installed and linked along with raylib, all required libraries are contained and compiled within raylib. Obviously some external libraries are required but only the strictly platform-dependant ones, the ones that come installed with the OS. So, raylib becomes a self-contained platform-independent games development library. - - **Full redesign of audio module to use the amazing miniaudio library**, along with external dependencies removal, OpenAL library has been replaced by [miniaudio](https://github.com/dr-soft/miniaudio), this brand new library offers automatic dynamic linking with default OS audio systems. Undoubtly, the perfect low-level companion for raylib audio module! + - **Full redesign of audio module to use the amazing miniaudio library**, along with external dependencies removal, OpenAL library has been replaced by [miniaudio](https://github.com/dr-soft/miniaudio), this brand new library offers automatic dynamic linking with default OS audio systems. Undoubtedly, the perfect low-level companion for raylib audio module! - **Support for continuous integration building*** through AppVeyor and Travis CI. Consequently, raylib GitHub develop branch has been removed, simplyfing the code-base to a single master branch, always stable. Every time a new commit is deployed, library is compiled for **up-to 12 different configurations**, including multiple platforms, 32bit/64bit and multiple compiler options! All those binaries are automatically attached to any new release! @@ -196,7 +196,7 @@ In **raylib 2.0** the full API has been carefully reviewed for better consistenc A part of that, lots of new features, like a brand **new font rendering and packaging system** for TTF fonts with **SDF support** (thanks to the amazing STB headers), new functions for **CPU image data manipulation**, new orthographic 3d camera mode, a complete review of `raymath.h` single-file header-only library for better consistency and performance, new examples and way, [way more](https://github.com/raysan5/raylib/blob/master/CHANGELOG). -Probably by now, **raylib 2.0 is the simplest and easiest-to-use library to enjoy (and learn) videogames programming**... but, undoubtly its development has exceeded any initial objective; raylib has become a simple and easy-to-use trully multiplatform portable standalone media library with thousands of possibilities... and that's just the beginning! +Probably by now, **raylib 2.0 is the simplest and easiest-to-use library to enjoy (and learn) videogames programming**... but, undoubtedly its development has exceeded any initial objective; raylib has become a simple and easy-to-use trully multiplatform portable standalone media library with thousands of possibilities... and that's just the beginning! notes on raylib 2.5 ------------------- From ef92ced370815a47d6d417ce6394b3156dd4f528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ra=C3=BAl?= Date: Mon, 22 Jan 2024 10:35:55 +0000 Subject: [PATCH 090/745] fix CheckCollisionPointPoly (#3750) --- src/rshapes.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index 8e6708bf9..e4eb107b1 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2196,21 +2196,21 @@ bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 // NOTE: Based on http://jeffreythompson.org/collision-detection/poly-point.php bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount) { - bool collision = false; + bool inside = false; if (pointCount > 2) { - for (int i = 0; i < pointCount - 1; i++) + for (int i = 0, j = pointCount - 1; i < pointCount; j = i++) { - Vector2 vc = points[i]; - Vector2 vn = points[i + 1]; - - if ((((vc.y >= point.y) && (vn.y < point.y)) || ((vc.y < point.y) && (vn.y >= point.y))) && - (point.x < ((vn.x - vc.x)*(point.y - vc.y)/(vn.y - vc.y) + vc.x))) collision = !collision; + if ((points[i].y > point.y) != (points[j].y > point.y) && + (point.x < (points[j].x - points[i].x) * (point.y - points[i].y) / (points[j].y - points[i].y) + points[i].x)) + { + inside = !inside; + } } } - return collision; + return inside; } // Check collision between two rectangles From 27645e16ab5051b8cf7bb5b6506b16b20f0b1c19 Mon Sep 17 00:00:00 2001 From: Brian E <72316548+Brian-ED@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:36:38 +0000 Subject: [PATCH 091/745] fixed small typo, replaced `th` with `the` (#3752) --- src/rlgl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index 4d2c9702f..747025b83 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -115,7 +115,7 @@ #if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED) #define RLAPI __declspec(dllexport) // We are building the library as a Win32 shared library (.dll) #elif defined(BUILD_LIBTYPE_SHARED) - #define RLAPI __attribute__((visibility("default"))) // We are building he library as a Unix shared library (.so/.dylib) + #define RLAPI __attribute__((visibility("default"))) // We are building the library as a Unix shared library (.so/.dylib) #elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED) #define RLAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll) #endif From c133fee286cfb3dad2fbfa40ab61f968850fd031 Mon Sep 17 00:00:00 2001 From: Idir Carlos Aliane Date: Mon, 22 Jan 2024 19:48:18 +0100 Subject: [PATCH 092/745] [raymath.h] Small code refactor (#3753) * [raymath.h] Small refactor to avoid duplicated code * Fixing some blank spaces to match same syle convention --- src/raymath.h | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 444ba2e34..b46243f4e 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -174,7 +174,7 @@ typedef struct float16 { // Clamp float value RMAPI float Clamp(float value, float min, float max) { - float result = (value < min)? min : value; + float result = (value < min) ? min : value; if (result > max) result = max; @@ -494,18 +494,18 @@ RMAPI Vector2 Vector2ClampValue(Vector2 v, float min, float max) { length = sqrtf(length); + float scale = 1; // By default, 1 as the neutral element. if (length < min) { - float scale = min/length; - result.x = v.x*scale; - result.y = v.y*scale; + scale = min/length; } else if (length > max) { - float scale = max/length; - result.x = v.x*scale; - result.y = v.y*scale; + scale = max/length; } + + result.x = v.x*scale; + result.y = v.y*scale; } return result; @@ -834,7 +834,7 @@ RMAPI Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle) // Vector3Normalize(axis); float length = sqrtf(axis.x*axis.x + axis.y*axis.y + axis.z*axis.z); if (length == 0.0f) length = 1.0f; - float ilength = 1.0f / length; + float ilength = 1.0f/length; axis.x *= ilength; axis.y *= ilength; axis.z *= ilength; @@ -1080,20 +1080,19 @@ RMAPI Vector3 Vector3ClampValue(Vector3 v, float min, float max) { length = sqrtf(length); + float scale = 1; // By default, 1 as the neutral element. if (length < min) { - float scale = min/length; - result.x = v.x*scale; - result.y = v.y*scale; - result.z = v.z*scale; + scale = min/length; } else if (length > max) { - float scale = max/length; - result.x = v.x*scale; - result.y = v.y*scale; - result.z = v.z*scale; + scale = max/length; } + + result.x = v.x*scale; + result.y = v.y*scale; + result.z = v.z*scale; } return result; @@ -1962,7 +1961,7 @@ RMAPI Quaternion QuaternionFromMatrix(Matrix mat) } float biggestVal = sqrtf(fourBiggestSquaredMinus1 + 1.0f)*0.5f; - float mult = 0.25f / biggestVal; + float mult = 0.25f/biggestVal; switch (biggestIndex) { From 6f1c31b25dc0642ca107507dbaed413021a85668 Mon Sep 17 00:00:00 2001 From: Idir Carlos Aliane Date: Mon, 22 Jan 2024 21:26:18 +0100 Subject: [PATCH 093/745] Change some minor comments to align with comments style (#3755) --- src/raudio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 430242107..d3648bc87 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -988,7 +988,7 @@ void UnloadSound(Sound sound) void UnloadSoundAlias(Sound alias) { - // untrack and unload just the sound buffer, not the sample data, it is shared with the source for the alias + // Untrack and unload just the sound buffer, not the sample data, it is shared with the source for the alias if (alias.stream.buffer != NULL) { ma_data_converter_uninit(&alias.stream.buffer->converter, NULL); @@ -1099,7 +1099,7 @@ bool ExportWaveAsCode(Wave wave, const char *fileName) strcpy(varFileName, GetFileNameWithoutExt(fileName)); for (int i = 0; varFileName[i] != '\0'; i++) if (varFileName[i] >= 'a' && varFileName[i] <= 'z') { varFileName[i] = varFileName[i] - 32; } - //Add wave information + // Add wave information byteCount += sprintf(txtData + byteCount, "// Wave data information\n"); byteCount += sprintf(txtData + byteCount, "#define %s_FRAME_COUNT %u\n", varFileName, wave.frameCount); byteCount += sprintf(txtData + byteCount, "#define %s_SAMPLE_RATE %u\n", varFileName, wave.sampleRate); @@ -1405,7 +1405,7 @@ Music LoadMusicStream(const char *fileName) music.stream = LoadAudioStream(AUDIO.System.device.sampleRate, bits, AUDIO_DEVICE_CHANNELS); music.frameCount = (unsigned int)jar_xm_get_remaining_samples(ctxXm); // NOTE: Always 2 channels (stereo) music.looping = true; // Looping enabled by default - jar_xm_reset(ctxXm); // make sure we start at the beginning of the song + jar_xm_reset(ctxXm); // Make sure we start at the beginning of the song musicLoaded = true; } } @@ -1596,7 +1596,7 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, music.stream = LoadAudioStream(AUDIO.System.device.sampleRate, bits, 2); music.frameCount = (unsigned int)jar_xm_get_remaining_samples(ctxXm); // NOTE: Always 2 channels (stereo) music.looping = true; // Looping enabled by default - jar_xm_reset(ctxXm); // make sure we start at the beginning of the song + jar_xm_reset(ctxXm); // Make sure we start at the beginning of the song music.ctxData = ctxXm; musicLoaded = true; From cb97a8063d7b49380413df655134d6a283016429 Mon Sep 17 00:00:00 2001 From: Idir Carlos Aliane Date: Mon, 22 Jan 2024 23:15:25 +0100 Subject: [PATCH 094/745] [rtext.c] fixing some comments to align comments style (#3756) --- src/rtext.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 270d0121b..7835ff807 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -791,7 +791,7 @@ Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyp for(int j = i + 1; j < glyphCount; j++) { TRACELOG(LOG_WARNING, "FONT: Failed to package character (%i)", j); - // make sure remaining recs contain valid data + // Make sure remaining recs contain valid data recs[j].x = 0; recs[j].y = 0; recs[j].width = 0; @@ -1986,21 +1986,21 @@ int GetCodepointNext(const char *text, int *codepointSize) if (0xf0 == (0xf8 & ptr[0])) { // 4 byte UTF-8 codepoint - if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80) || ((ptr[3] & 0xC0) ^ 0x80)) { return codepoint; } //10xxxxxx checks + if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80) || ((ptr[3] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks codepoint = ((0x07 & ptr[0]) << 18) | ((0x3f & ptr[1]) << 12) | ((0x3f & ptr[2]) << 6) | (0x3f & ptr[3]); *codepointSize = 4; } else if (0xe0 == (0xf0 & ptr[0])) { // 3 byte UTF-8 codepoint */ - if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80)) { return codepoint; } //10xxxxxx checks + if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks codepoint = ((0x0f & ptr[0]) << 12) | ((0x3f & ptr[1]) << 6) | (0x3f & ptr[2]); *codepointSize = 3; } else if (0xc0 == (0xe0 & ptr[0])) { // 2 byte UTF-8 codepoint - if((ptr[1] & 0xC0) ^ 0x80) { return codepoint; } //10xxxxxx checks + if((ptr[1] & 0xC0) ^ 0x80) { return codepoint; } // 10xxxxxx checks codepoint = ((0x1f & ptr[0]) << 6) | (0x3f & ptr[1]); *codepointSize = 2; } From ff1eeafb950b5d7b8e5b25aa2ac1e8e87e353d1b Mon Sep 17 00:00:00 2001 From: Victor Gallet Date: Tue, 23 Jan 2024 12:37:54 +0100 Subject: [PATCH 095/745] Fix bug to retrieve material specular map in DrawMesh function, with incorrect index (#3758) --- src/rmodels.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index ede87a1b3..0cb949bc2 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1352,10 +1352,10 @@ void DrawMesh(Mesh mesh, Material material, Matrix transform) if (material.shader.locs[SHADER_LOC_COLOR_SPECULAR] != -1) { float values[4] = { - (float)material.maps[SHADER_LOC_COLOR_SPECULAR].color.r/255.0f, - (float)material.maps[SHADER_LOC_COLOR_SPECULAR].color.g/255.0f, - (float)material.maps[SHADER_LOC_COLOR_SPECULAR].color.b/255.0f, - (float)material.maps[SHADER_LOC_COLOR_SPECULAR].color.a/255.0f + (float)material.maps[MATERIAL_MAP_SPECULAR].color.r/255.0f, + (float)material.maps[MATERIAL_MAP_SPECULAR].color.g/255.0f, + (float)material.maps[MATERIAL_MAP_SPECULAR].color.b/255.0f, + (float)material.maps[MATERIAL_MAP_SPECULAR].color.a/255.0f }; rlSetUniform(material.shader.locs[SHADER_LOC_COLOR_SPECULAR], values, SHADER_UNIFORM_VEC4, 1); From 40f3df5b865eee0cd87a9e4e1347cb04c87841f8 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 24 Jan 2024 21:17:11 +0100 Subject: [PATCH 096/745] Update core_2d_camera_platformer.c --- examples/core/core_2d_camera_platformer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/core/core_2d_camera_platformer.c b/examples/core/core_2d_camera_platformer.c index 6c574387e..75fd6cf6a 100644 --- a/examples/core/core_2d_camera_platformer.c +++ b/examples/core/core_2d_camera_platformer.c @@ -135,6 +135,8 @@ int main(void) Rectangle playerRect = { player.position.x - 20, player.position.y - 40, 40, 40 }; DrawRectangleRec(playerRect, RED); + + DrawCircle(player.position.x, player.position.y, 5, GOLD); EndMode2D(); @@ -168,7 +170,7 @@ void UpdatePlayer(Player *player, EnvItem *envItems, int envItemsLength, float d player->canJump = false; } - int hitObstacle = 0; + bool hitObstacle = false; for (int i = 0; i < envItemsLength; i++) { EnvItem *ei = envItems + i; @@ -179,9 +181,10 @@ void UpdatePlayer(Player *player, EnvItem *envItems, int envItemsLength, float d ei->rect.y >= p->y && ei->rect.y <= p->y + player->speed*delta) { - hitObstacle = 1; + hitObstacle = true; player->speed = 0.0f; p->y = ei->rect.y; + break; } } From f4add5f10d38c4f3fb3aa748423773f3de18b420 Mon Sep 17 00:00:00 2001 From: veins1 <19636663+veins1@users.noreply.github.com> Date: Sun, 28 Jan 2024 17:45:19 +0500 Subject: [PATCH 097/745] Fix rlSetUniformSampler (#3759) Fix rlSetUniformSampler not setting sampler uniform if the same texture was already passed to a different sampler uniform --- src/rlgl.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index 747025b83..6ad6394d0 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -4135,7 +4135,14 @@ void rlSetUniformSampler(int locIndex, unsigned int textureId) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Check if texture is already active - for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++) if (RLGL.State.activeTextureId[i] == textureId) return; + for (int i = 0; i < RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS; i++) + { + if (RLGL.State.activeTextureId[i] == textureId) + { + glUniform1i(locIndex, 1 + i); + return; + } + } // Register a new active texture for the internal batch system // NOTE: Default texture is always activated as GL_TEXTURE0 From cf10cdd6b33718c066ae58f7973b04dabde6efb1 Mon Sep 17 00:00:00 2001 From: Alessandro Nikolaev <54692152+sanyokdev@users.noreply.github.com> Date: Sun, 28 Jan 2024 12:46:27 +0000 Subject: [PATCH 098/745] Added missing "standalone" functions to raudio.c & fixed return bug (#3760) * Added GetFileNameWithoutExt, GetFileName & strprbrk to raudio.c * Gave return values to SaveFileData & SaveFileText in raudio.c --- src/raudio.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index d3648bc87..59d49c961 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -416,6 +416,8 @@ static void MixAudioFrames(float *framesOut, const float *framesIn, ma_uint32 fr #if defined(RAUDIO_STANDALONE) static bool IsFileExtension(const char *fileName, const char *ext); // Check file extension static const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes the dot: .png) +static const char *GetFileName(const char *filePath); // Get pointer to filename for a path string +static const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string) static unsigned char *LoadFileData(const char *fileName, int *dataSize); // Load file data as byte array (read) static bool SaveFileData(const char *fileName, void *data, int dataSize); // Save data to file from byte array (write) @@ -2642,6 +2644,50 @@ static const char *GetFileExtension(const char *fileName) return dot; } +// String pointer reverse break: returns right-most occurrence of charset in s +static const char *strprbrk(const char *s, const char *charset) +{ + const char *latestMatch = NULL; + for (; s = strpbrk(s, charset), s != NULL; latestMatch = s++) { } + return latestMatch; +} + +// Get pointer to filename for a path string +static const char *GetFileName(const char *filePath) +{ + const char *fileName = NULL; + if (filePath != NULL) fileName = strprbrk(filePath, "\\/"); + + if (!fileName) return filePath; + + return fileName + 1; +} + +// Get filename string without extension (uses static string) +static const char *GetFileNameWithoutExt(const char *filePath) +{ + #define MAX_FILENAMEWITHOUTEXT_LENGTH 256 + + static char fileName[MAX_FILENAMEWITHOUTEXT_LENGTH] = { 0 }; + memset(fileName, 0, MAX_FILENAMEWITHOUTEXT_LENGTH); + + if (filePath != NULL) strcpy(fileName, GetFileName(filePath)); // Get filename with extension + + int size = (int)strlen(fileName); // Get size in bytes + + for (int i = 0; (i < size) && (i < MAX_FILENAMEWITHOUTEXT_LENGTH); i++) + { + if (fileName[i] == '.') + { + // NOTE: We break on first '.' found + fileName[i] = '\0'; + break; + } + } + + return fileName; +} + // Load data from file into a buffer static unsigned char *LoadFileData(const char *fileName, int *dataSize) { @@ -2699,9 +2745,19 @@ static bool SaveFileData(const char *fileName, void *data, int dataSize) fclose(file); } - else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open file", fileName); + else + { + TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open file", fileName); + return false; + } } - else TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + else + { + TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + return false; + } + + return true; } // Save text data to file (write), string must be '\0' terminated @@ -2720,9 +2776,19 @@ static bool SaveFileText(const char *fileName, char *text) fclose(file); } - else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open text file", fileName); + else + { + TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open text file", fileName); + return false; + } } - else TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + else + { + TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + return false; + } + + return true; } #endif From 812645b077dbd5579ee5e03d89a6a07f431bf3c6 Mon Sep 17 00:00:00 2001 From: Brian E <72316548+Brian-ED@users.noreply.github.com> Date: Sun, 28 Jan 2024 12:49:07 +0000 Subject: [PATCH 099/745] cleaned away unused macros in rcamera.h (#3762) --- src/rcamera.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/rcamera.h b/src/rcamera.h index f2d902c2c..b1805c372 100644 --- a/src/rcamera.h +++ b/src/rcamera.h @@ -202,18 +202,10 @@ RLAPI Matrix GetCameraProjectionMatrix(Camera* camera, float aspect); // Camera mouse movement sensitivity #define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f // TODO: it should be independant of framerate -#define CAMERA_MOUSE_SCROLL_SENSITIVITY 1.5f +// Camera orbital speed in CAMERA_ORBITAL mode #define CAMERA_ORBITAL_SPEED 0.5f // Radians per second - -#define CAMERA_FIRST_PERSON_STEP_TRIGONOMETRIC_DIVIDER 8.0f -#define CAMERA_FIRST_PERSON_STEP_DIVIDER 30.0f -#define CAMERA_FIRST_PERSON_WAVING_DIVIDER 200.0f - -// PLAYER (used by camera) -#define PLAYER_MOVEMENT_SENSITIVITY 20.0f - //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- From bebf9547bd244727fa06a2ce1db2faf474ba23ad Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Mon, 29 Jan 2024 12:10:23 -0800 Subject: [PATCH 100/745] [CORE,RLGL] Fix scale issues when ending a mode (#3746) * Only restore GL scale back to screen scale if we are returning to a screen, not a render texture. * blankspace * reset back to default screen scale when ending a render texture since we are back on the default fbo --- src/rcore.c | 15 ++++++++++----- src/rlgl.h | 12 ++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index bb06e9bee..b057fc05b 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -952,9 +952,6 @@ void BeginMode2D(Camera2D camera) // Apply 2d camera transformation to modelview rlMultMatrixf(MatrixToFloat(GetCameraMatrix2D(camera))); - - // Apply screen scaling if required - rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); } // Ends 2D mode with custom camera @@ -963,7 +960,9 @@ void EndMode2D(void) rlDrawRenderBatchActive(); // Update and draw internal render batch rlLoadIdentity(); // Reset current matrix (modelview) - rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required + + if (rlGetActiveFramebuffer() == 0) + rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required } // Initializes 3D mode with custom camera (3D) @@ -1016,7 +1015,8 @@ void EndMode3D(void) rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix rlLoadIdentity(); // Reset current matrix (modelview) - rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required + if (rlGetActiveFramebuffer() == 0) + rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required rlDisableDepthTest(); // Disable DEPTH_TEST for 2D } @@ -1062,6 +1062,11 @@ void EndTextureMode(void) // Set viewport to default framebuffer size SetupViewport(CORE.Window.render.width, CORE.Window.render.height); + // go back to the modelview state from BeginDrawing since we are back to the default FBO + rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix + rlLoadIdentity(); // Reset current matrix (modelview) + rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required + // Reset current fbo to screen size CORE.Window.currentFbo.width = CORE.Window.render.width; CORE.Window.currentFbo.height = CORE.Window.render.height; diff --git a/src/rlgl.h b/src/rlgl.h index 6ad6394d0..6dd3eb2c1 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -621,6 +621,7 @@ RLAPI void rlDisableShader(void); // Disable shader progra // Framebuffer state RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo) RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer +RLAPI unsigned int rlGetActiveFramebuffer(void); // Returns the active render texture (fbo), 0 for default framebuffer RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO) @@ -1725,6 +1726,17 @@ void rlEnableFramebuffer(unsigned int id) #endif } +// return the active render texture (fbo) +unsigned int rlGetActiveFramebuffer(void) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT) + GLint fboId = 0; + glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &fboId); + return fboId; +#endif + return 0; +} + // Disable rendering to texture void rlDisableFramebuffer(void) { From deaffb06981b95976f7b055dc1085adb933a37cc Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 29 Jan 2024 21:16:17 +0100 Subject: [PATCH 101/745] Review PR #3746 formating --- src/rcore.c | 12 +++++------- src/rlgl.h | 7 +++---- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index b057fc05b..f0af87f9d 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -961,8 +961,7 @@ void EndMode2D(void) rlLoadIdentity(); // Reset current matrix (modelview) - if (rlGetActiveFramebuffer() == 0) - rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required + if (rlGetActiveFramebuffer() == 0) rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required } // Initializes 3D mode with custom camera (3D) @@ -1015,8 +1014,7 @@ void EndMode3D(void) rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix rlLoadIdentity(); // Reset current matrix (modelview) - if (rlGetActiveFramebuffer() == 0) - rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required + if (rlGetActiveFramebuffer() == 0) rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required rlDisableDepthTest(); // Disable DEPTH_TEST for 2D } @@ -1062,9 +1060,9 @@ void EndTextureMode(void) // Set viewport to default framebuffer size SetupViewport(CORE.Window.render.width, CORE.Window.render.height); - // go back to the modelview state from BeginDrawing since we are back to the default FBO - rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix - rlLoadIdentity(); // Reset current matrix (modelview) + // Go back to the modelview state from BeginDrawing since we are back to the default FBO + rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix + rlLoadIdentity(); // Reset current matrix (modelview) rlMultMatrixf(MatrixToFloat(CORE.Window.screenScale)); // Apply screen scaling if required // Reset current fbo to screen size diff --git a/src/rlgl.h b/src/rlgl.h index 6dd3eb2c1..cdc1bf211 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -621,7 +621,7 @@ RLAPI void rlDisableShader(void); // Disable shader progra // Framebuffer state RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo) RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer -RLAPI unsigned int rlGetActiveFramebuffer(void); // Returns the active render texture (fbo), 0 for default framebuffer +RLAPI unsigned int rlGetActiveFramebuffer(void); // Get the currently active render texture (fbo), 0 for default framebuffer RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO) @@ -1729,12 +1729,11 @@ void rlEnableFramebuffer(unsigned int id) // return the active render texture (fbo) unsigned int rlGetActiveFramebuffer(void) { -#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT) GLint fboId = 0; +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES3)) && defined(RLGL_RENDER_TEXTURES_HINT) glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, &fboId); - return fboId; #endif - return 0; + return fboId; } // Disable rendering to texture From d79828076f4c99e750cb2b9f729a753cfe87dc00 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 1 Feb 2024 00:03:06 +0100 Subject: [PATCH 102/745] REVIEWED: macOS issues #3767 --- src/platforms/rcore_desktop_sdl.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 325cee391..7b386b2c4 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1275,8 +1275,9 @@ void PollInputEvents(void) // Initialize platform: graphics, inputs and more int InitPlatform(void) { - // Initialize SDL internal global state - int result = SDL_Init(SDL_INIT_EVERYTHING); + // Initialize SDL internal global state, only required systems + // NOTE: Not all systems need to be initialized, SDL_INIT_AUDIO is not required, managed by miniaudio + int result = SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_EVENTS | SDL_INIT_GAMECONTROLLER); if (result < 0) { TRACELOG(LOG_WARNING, "SDL: Failed to initialize SDL"); return -1; } // Initialize graphic device: display/window and graphic context @@ -1328,11 +1329,7 @@ int InitPlatform(void) { SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3); -#if defined(__APPLE__) - SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG); // OSX Requires forward compatibility -#else SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); -#endif } else if (rlGetVersion() == RL_OPENGL_43) { From 25306eae4212f3e7b239aabad3316eb4eba8df56 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 1 Feb 2024 00:05:30 +0100 Subject: [PATCH 103/745] REVIEWED: Issue on parsing #3765 --- src/rlgl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index cdc1bf211..28d58d4e9 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -72,7 +72,7 @@ * #define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix * #define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix * #define RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL "matModel" // model matrix -* #define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView)) +* #define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView))) * #define RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR "colDiffuse" // color diffuse (base tint color, multiplied by texture color) * #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 "texture0" // texture0 (texture slot active 0) * #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 "texture1" // texture1 (texture slot active 1) From c0b081fac042ebc5d31d99887faaf27806a4e80b Mon Sep 17 00:00:00 2001 From: Marrony Neris Date: Thu, 1 Feb 2024 12:14:22 -0800 Subject: [PATCH 104/745] Fix MeasureTextEx() height calculation (#3770) --- src/rtext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 7835ff807..22c2e5e42 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1257,7 +1257,7 @@ Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing float textWidth = 0.0f; float tempTextWidth = 0.0f; // Used to count longer text line width - float textHeight = (float)font.baseSize; + float textHeight = fontSize; float scaleFactor = fontSize/(float)font.baseSize; int letter = 0; // Current character @@ -1294,7 +1294,7 @@ Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing if (tempTextWidth < textWidth) tempTextWidth = textWidth; textSize.x = tempTextWidth*scaleFactor + (float)((tempByteCounter - 1)*spacing); - textSize.y = textHeight*scaleFactor; + textSize.y = textHeight; return textSize; } From 7ec43022c177cbf00b27c9e9ab067bd6889957a4 Mon Sep 17 00:00:00 2001 From: IoIxD <30945097+IoIxD@users.noreply.github.com> Date: Thu, 1 Feb 2024 13:16:57 -0700 Subject: [PATCH 105/745] Fix segfault in ExportWaveAsCode (#3769) `char *txtData = (char *)RL_CALLOC(waveDataSize * 6 + 2000, sizeof(char));` assumes every chunk being added to txtData is 6 bytes. This is not always true, sometimes a newline is involved and the data becomes 12 bytes instead, and this can cause a random segfault. This commit changes `6` to `12`, and explains why in the comment. --- src/raudio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 59d49c961..4d0de45a5 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1081,8 +1081,9 @@ bool ExportWaveAsCode(Wave wave, const char *fileName) int waveDataSize = wave.frameCount*wave.channels*wave.sampleSize/8; // NOTE: Text data buffer size is estimated considering wave data size in bytes - // and requiring 6 char bytes for every byte: "0x00, " - char *txtData = (char *)RL_CALLOC(waveDataSize*6 + 2000, sizeof(char)); + // and requiring 12 char bytes for every byte; the actual size varies, but + // the longest possible char being appended is "%.4ff,\n ", which is 12 bytes. + char *txtData = (char *)RL_CALLOC(waveDataSize*12 + 2000, sizeof(char)); int byteCount = 0; byteCount += sprintf(txtData + byteCount, "\n//////////////////////////////////////////////////////////////////////////////////\n"); From 29ff658d9223068378269e4a705811f085fafdf4 Mon Sep 17 00:00:00 2001 From: Brandon Baker Date: Fri, 2 Feb 2024 12:06:30 -0500 Subject: [PATCH 106/745] Update BINDINGS.md (#3774) Bump supported raylib version of Raylib-cs to 5.0 --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 234ad323a..35eec2aa6 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -9,7 +9,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | https://github.com/raysan5/raylib | | raylib-beef | **5.0** | [Beef](https://www.beeflang.org/) | MIT | https://github.com/Starpelly/raylib-beef | | raylib-boo | 3.7 | [Boo](http://boo-language.github.io/)| MIT | https://github.com/Rabios/raylib-boo | -| Raylib-cs | 4.5 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | +| Raylib-cs | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | | Raylib-CsLo | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/NotNotTech/Raylib-CsLo | | cl-raylib | 4.0 | [Common Lisp](https://common-lisp.net/) | MIT | https://github.com/longlene/cl-raylib | | claylib/wrap | 4.5 | [Common Lisp](https://common-lisp.net/) | Zlib | https://github.com/defun-games/claylib | From 0932cd3059a181f637cd80c09534d609f1ea3ed1 Mon Sep 17 00:00:00 2001 From: Stanley Fuller Date: Sun, 4 Feb 2024 05:28:12 +1100 Subject: [PATCH 107/745] [rtext] Add BDF font support (#3735) * Add BDF font support * Include font ascent in glyph y-offset when loading BDF font --- src/config.h | 1 + src/rtext.c | 370 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 341 insertions(+), 30 deletions(-) diff --git a/src/config.h b/src/config.h index 410e9067e..34d2e9648 100644 --- a/src/config.h +++ b/src/config.h @@ -181,6 +181,7 @@ // Selected desired font fileformats to be supported for loading #define SUPPORT_FILEFORMAT_FNT 1 #define SUPPORT_FILEFORMAT_TTF 1 +#define SUPPORT_FILEFORMAT_BDF 1 // Support text management functions // If not defined, still some functions are supported: TextLength(), TextFormat() diff --git a/src/rtext.c b/src/rtext.c index 22c2e5e42..0cd90a59c 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -12,6 +12,7 @@ * * #define SUPPORT_FILEFORMAT_FNT * #define SUPPORT_FILEFORMAT_TTF +* #define SUPPORT_FILEFORMAT_BDF * Selected desired fileformats to be supported for loading. Some of those formats are * supported by default, to remove support, just comment unrequired #define in this module * @@ -70,14 +71,27 @@ #include // Required for: va_list, va_start(), vsprintf(), va_end() [Used in TextFormat()] #include // Required for: toupper(), tolower() [Used in TextToUpper(), TextToLower()] -#if defined(SUPPORT_FILEFORMAT_TTF) +#if defined(SUPPORT_FILEFORMAT_TTF) || defined(SUPPORT_FILEFORMAT_BDF) #if defined(__GNUC__) // GCC and Clang #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" #endif #define STB_RECT_PACK_IMPLEMENTATION - #include "external/stb_rect_pack.h" // Required for: ttf font rectangles packaging + #include "external/stb_rect_pack.h" // Required for: ttf/bdf font rectangles packaging + + #include // Required for: ttf/bdf font rectangles packaging + + #if defined(__GNUC__) // GCC and Clang + #pragma GCC diagnostic pop + #endif +#endif + +#if defined(SUPPORT_FILEFORMAT_TTF) + #if defined(__GNUC__) // GCC and Clang + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wunused-function" + #endif #define STBTT_STATIC #define STB_TRUETYPE_IMPLEMENTATION @@ -127,6 +141,9 @@ static Font defaultFont = { 0 }; #if defined(SUPPORT_FILEFORMAT_FNT) static Font LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode font file) #endif +#if defined(SUPPORT_FILEFORMAT_BDF) +static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int* outFontSize); +#endif static int textLineSpacing = 15; // Text vertical line spacing in pixels #if defined(SUPPORT_DEFAULT_FONT) @@ -334,6 +351,10 @@ Font LoadFont(const char *fileName) #if defined(SUPPORT_FILEFORMAT_FNT) if (IsFileExtension(fileName, ".fnt")) font = LoadBMFont(fileName); else +#endif +#if defined(SUPPORT_FILEFORMAT_BDF) + if (IsFileExtension(fileName, ".bdf")) font = LoadFontEx(fileName, FONT_TTF_DEFAULT_SIZE, NULL, FONT_TTF_DEFAULT_NUMCHARS); + else #endif { Image image = LoadImage(fileName); @@ -355,7 +376,7 @@ Font LoadFont(const char *fileName) return font; } -// Load Font from TTF font file with generation parameters +// Load Font from TTF or BDF font file with generation parameters // NOTE: You can pass an array with desired characters, those characters should be available in the font // if array is NULL, default char set is selected 32..126 Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount) @@ -511,35 +532,49 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int char fileExtLower[16] = { 0 }; strcpy(fileExtLower, TextToLower(fileType)); -#if defined(SUPPORT_FILEFORMAT_TTF) + font.baseSize = fontSize; + font.glyphCount = (codepointCount > 0)? codepointCount : 95; + font.glyphPadding = 0; + +#if defined(SUPPORT_FILEFORMAT_TTF) if (TextIsEqual(fileExtLower, ".ttf") || TextIsEqual(fileExtLower, ".otf")) { - font.baseSize = fontSize; - font.glyphCount = (codepointCount > 0)? codepointCount : 95; - font.glyphPadding = 0; font.glyphs = LoadFontData(fileData, dataSize, font.baseSize, codepoints, font.glyphCount, FONT_DEFAULT); - - if (font.glyphs != NULL) - { - font.glyphPadding = FONT_TTF_DEFAULT_CHARS_PADDING; - - Image atlas = GenImageFontAtlas(font.glyphs, &font.recs, font.glyphCount, font.baseSize, font.glyphPadding, 0); - font.texture = LoadTextureFromImage(atlas); - - // Update glyphs[i].image to use alpha, required to be used on ImageDrawText() - for (int i = 0; i < font.glyphCount; i++) - { - UnloadImage(font.glyphs[i].image); - font.glyphs[i].image = ImageFromImage(atlas, font.recs[i]); - } - - UnloadImage(atlas); - - TRACELOG(LOG_INFO, "FONT: Data loaded successfully (%i pixel size | %i glyphs)", font.baseSize, font.glyphCount); - } - else font = GetFontDefault(); } + else +#endif +#if defined(SUPPORT_FILEFORMAT_BDF) + if (TextIsEqual(fileExtLower, ".bdf")) + { + font.glyphs = LoadBDFFontData(fileData, dataSize, codepoints, font.glyphCount, &font.baseSize); + } + else +#endif + { + font.glyphs = NULL; + } + +#if defined(SUPPORT_FILEFORMAT_TTF) || defined(SUPPORT_FILEFORMAT_BDF) + if (font.glyphs != NULL) + { + font.glyphPadding = FONT_TTF_DEFAULT_CHARS_PADDING; + + Image atlas = GenImageFontAtlas(font.glyphs, &font.recs, font.glyphCount, font.baseSize, font.glyphPadding, 0); + font.texture = LoadTextureFromImage(atlas); + + // Update glyphs[i].image to use alpha, required to be used on ImageDrawText() + for (int i = 0; i < font.glyphCount; i++) + { + UnloadImage(font.glyphs[i].image); + font.glyphs[i].image = ImageFromImage(atlas, font.recs[i]); + } + + UnloadImage(atlas); + + TRACELOG(LOG_INFO, "FONT: Data loaded successfully (%i pixel size | %i glyphs)", font.baseSize, font.glyphCount); + } + else font = GetFontDefault(); #else font = GetFontDefault(); #endif @@ -699,7 +734,7 @@ GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSiz // Generate image font atlas using chars info // NOTE: Packing method: 0-Default, 1-Skyline -#if defined(SUPPORT_FILEFORMAT_TTF) +#if defined(SUPPORT_FILEFORMAT_TTF) || defined(SUPPORT_FILEFORMAT_BDF) Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod) { Image atlas = { 0 }; @@ -2036,18 +2071,21 @@ int GetCodepointPrevious(const char *text, int *codepointSize) //---------------------------------------------------------------------------------- // Module specific Functions Definition //---------------------------------------------------------------------------------- -#if defined(SUPPORT_FILEFORMAT_FNT) +#if defined(SUPPORT_FILEFORMAT_FNT) || defined(SUPPORT_FILEFORMAT_BDF) // Read a line from memory // REQUIRES: memcpy() // NOTE: Returns the number of bytes read static int GetLine(const char *origin, char *buffer, int maxLength) { int count = 0; - for (; count < maxLength; count++) if (origin[count] == '\n') break; + for (; count < maxLength - 1; count++) if (origin[count] == '\n') break; memcpy(buffer, origin, count); + buffer[count] = '\0'; return count; } +#endif +#if defined(SUPPORT_FILEFORMAT_FNT) // Load a BMFont file (AngelCode font file) // REQUIRES: strstr(), sscanf(), strrchr(), memcpy() static Font LoadBMFont(const char *fileName) @@ -2213,4 +2251,276 @@ static Font LoadBMFont(const char *fileName) #endif +#if defined(SUPPORT_FILEFORMAT_BDF) + +// Convert hexadecimal to decimal (single digit) +static char HexToInt(char hex) { + if (hex >= '0' && hex <= '9') + { + return hex - '0'; + } + else if (hex >= 'a' && hex <= 'f') + { + return hex - 'a' + 10; + } + else if (hex >= 'A' && hex <= 'F') + { + return hex - 'A' + 10; + } + else + { + return 0; + } +} + +// Load font data for further use +// NOTE: Requires BDF font memory data +static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int* outFontSize) +{ + #define MAX_BUFFER_SIZE 256 + char buffer[MAX_BUFFER_SIZE] = { 0 }; + + GlyphInfo *glyphs = NULL; + + bool genFontChars = false; + + int totalReadBytes = 0; // Data bytes read (total) + int readBytes = 0; // Data bytes read (line) + int readVars = 0; // Variables filled by sscanf() + + const char *fileText = (const char*)fileData; + const char *fileTextPtr = fileText; + + bool fontMalformed = false; // Is the font malformed + bool fontStarted = false; // Has font started (STARTFONT) + int fontBBw = 0; // Font base character bounding box width + int fontBBh = 0; // Font base character bounding box height + int fontBBxoff0 = 0; // Font base character bounding box X0 offset + int fontBByoff0 = 0; // Font base character bounding box Y0 offset + int fontAscent = 0; // Font ascent + + bool charStarted = false; // Has character started (STARTCHAR) + bool charBitmapStarted = false; // Has bitmap data started (BITMAP) + int charBitmapNextRow = 0; // Y position for the next row of bitmap data + int charEncoding = -1; // The unicode value of the character (-1 if not set) + int charBBw = 0; // Character bounding box width + int charBBh = 0; // Character bounding box height + int charBBxoff0 = 0; // Character bounding box X0 offset + int charBByoff0 = 0; // Character bounding box Y0 offset + int charDWidthX = 0; // Character advance X + int charDWidthY = 0; // Character advance Y (unused) + GlyphInfo *charGlyphInfo = NULL; // Pointer to output glyph info (NULL if not set) + + if (fileData == NULL) return glyphs; + + // In case no chars count provided, default to 95 + codepointCount = (codepointCount > 0)? codepointCount : 95; + + // Fill fontChars in case not provided externally + // NOTE: By default we fill glyphCount consecutively, starting at 32 (Space) + if (codepoints == NULL) + { + codepoints = (int *)RL_MALLOC(codepointCount*sizeof(int)); + for (int i = 0; i < codepointCount; i++) codepoints[i] = i + 32; + genFontChars = true; + } + + glyphs = (GlyphInfo *)RL_CALLOC(codepointCount, sizeof(GlyphInfo)); + + while (totalReadBytes <= dataSize) + { + readBytes = GetLine(fileTextPtr, buffer, MAX_BUFFER_SIZE); + totalReadBytes += (readBytes + 1); + fileTextPtr += (readBytes + 1); + + // COMMENT + if (strstr(buffer, "COMMENT") != NULL) continue; // Ignore line + + if (charStarted) + { + // ENDCHAR + if (strstr(buffer, "ENDCHAR") != NULL) + { + charStarted = false; + continue; + } + + if (charBitmapStarted) + { + if (charGlyphInfo != NULL) { + int pixelY = charBitmapNextRow++; + if (pixelY >= charGlyphInfo->image.height) + { + break; + } + for (int x = 0; x < readBytes; x++) + { + char byte = HexToInt(buffer[x]); + for (int bitX = 0; bitX < 4; bitX++) + { + int pixelX = ((x * 4) + bitX); + if (pixelX >= charGlyphInfo->image.width) + { + break; + } + + if ((byte & (8 >> bitX)) > 0) + { + ((unsigned char*)charGlyphInfo->image.data)[(pixelY * charGlyphInfo->image.width) + pixelX] = 255; + } + } + } + } + continue; + } + + // ENCODING + if (strstr(buffer, "ENCODING") != NULL) + { + readVars = sscanf(buffer, "ENCODING %i", &charEncoding); + continue; + } + + // BBX + if (strstr(buffer, "BBX") != NULL) + { + readVars = sscanf(buffer, "BBX %i %i %i %i", &charBBw, &charBBh, &charBBxoff0, &charBByoff0); + continue; + } + + // DWIDTH + if (strstr(buffer, "DWIDTH") != NULL) + { + readVars = sscanf(buffer, "DWIDTH %i %i", &charDWidthX, &charDWidthY); + continue; + } + + // BITMAP + if (strstr(buffer, "BITMAP") != NULL) + { + // Search for glyph index in codepoints + charGlyphInfo = NULL; + for (int codepointIndex = 0; codepointIndex < codepointCount; codepointIndex++) + { + if (codepoints[codepointIndex] == charEncoding) + { + charGlyphInfo = &glyphs[codepointIndex]; + break; + } + } + + // Init glyph info + if (charGlyphInfo != NULL) + { + charGlyphInfo->value = charEncoding; + charGlyphInfo->offsetX = charBBxoff0 + fontBByoff0; + charGlyphInfo->offsetY = fontBBh - (charBBh + charBByoff0 + fontBByoff0 + fontAscent); + charGlyphInfo->advanceX = charDWidthX; + + charGlyphInfo->image.data = RL_CALLOC(charBBw * charBBh, 1); + charGlyphInfo->image.width = charBBw; + charGlyphInfo->image.height = charBBh; + charGlyphInfo->image.mipmaps = 1; + charGlyphInfo->image.format = PIXELFORMAT_UNCOMPRESSED_GRAYSCALE; + } + + charBitmapStarted = true; + charBitmapNextRow = 0; + + continue; + } + } + else if (fontStarted) + { + // ENDFONT + if (strstr(buffer, "ENDFONT") != NULL) + { + fontStarted = false; + break; + } + + // SIZE + if (strstr(buffer, "SIZE") != NULL) + { + if (outFontSize != NULL) + { + readVars = sscanf(buffer, "SIZE %i", outFontSize); + } + continue; + } + + // PIXEL_SIZE + if (strstr(buffer, "PIXEL_SIZE") != NULL) + { + if (outFontSize != NULL) + { + readVars = sscanf(buffer, "PIXEL_SIZE %i", outFontSize); + } + continue; + } + + // FONTBOUNDINGBOX + if (strstr(buffer, "FONTBOUNDINGBOX") != NULL) + { + readVars = sscanf(buffer, "FONTBOUNDINGBOX %i %i %i %i", &fontBBw, &fontBBh, &fontBBxoff0, &fontBByoff0); + continue; + } + + // FONT_ASCENT + if (strstr(buffer, "FONT_ASCENT") != NULL) + { + readVars = sscanf(buffer, "FONT_ASCENT %i", &fontAscent); + continue; + } + + // STARTCHAR + if (strstr(buffer, "STARTCHAR") != NULL) + { + charStarted = true; + charEncoding = -1; + charGlyphInfo = NULL; + charBBw = 0; + charBBh = 0; + charBBxoff0 = 0; + charBByoff0 = 0; + charDWidthX = 0; + charDWidthY = 0; + charGlyphInfo = NULL; + charBitmapStarted = false; + charBitmapNextRow = 0; + continue; + } + } + else + { + // STARTFONT + if (strstr(buffer, "STARTFONT") != NULL) + { + if (fontStarted) + { + fontMalformed = true; + break; + } + else + { + fontStarted = true; + continue; + } + } + } + } + + if (genFontChars) RL_FREE(codepoints); + + if (fontMalformed) + { + RL_FREE(glyphs); + glyphs = NULL; + } + + return glyphs; +} + +#endif + #endif // SUPPORT_MODULE_RTEXT From eed56a45d61f40edbe2cbdddc3bd3c333b5cd165 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 11:10:46 +0100 Subject: [PATCH 108/745] REVIEWED: `LoadFontDataBDF()` name and formating --- src/rtext.c | 124 ++++++++++++++++++++++++++-------------------------- 1 file changed, 61 insertions(+), 63 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 0cd90a59c..6163a92a9 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -142,7 +142,7 @@ static Font defaultFont = { 0 }; static Font LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode font file) #endif #if defined(SUPPORT_FILEFORMAT_BDF) -static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int* outFontSize); +static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int *outFontSize); #endif static int textLineSpacing = 15; // Text vertical line spacing in pixels @@ -547,7 +547,7 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int #if defined(SUPPORT_FILEFORMAT_BDF) if (TextIsEqual(fileExtLower, ".bdf")) { - font.glyphs = LoadBDFFontData(fileData, dataSize, codepoints, font.glyphCount, &font.baseSize); + font.glyphs = LoadFontDataBDF(fileData, dataSize, codepoints, font.glyphCount, &font.baseSize); } else #endif @@ -1457,6 +1457,9 @@ int TextToInteger(const char *text) return value*sign; } +// Get float value from text +// NOTE: This function replaces atof() [stdlib.h] +// WARNING: Only '.' character is understood as decimal point float TextToFloat(const char *text) { float value = 0.0f; @@ -1464,18 +1467,23 @@ float TextToFloat(const char *text) if ((text[0] == '+') || (text[0] == '-')) { - if (text[0] == '-') sign = -1; + if (text[0] == '-') sign = -1.0f; text++; } - int i = 0; - for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) value = value*10.0f + (float)(text[i] - '0'); - if (text[i++] != '.') return value*sign; - float divisor = 10.0f; - for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) + + for (int i = 0; ((text[i] >= '0') && (text[i] <= '9')); i++) value = value*10.0f + (float)(text[i] - '0'); + + if (text[i++] != '.') value *= sign; + else { - value += ((float)(text[i] - '0'))/divisor; - divisor = divisor*10.0f; + float divisor = 10.0f; + for (int i = 0; ((text[i] >= '0') && (text[i] <= '9')); i++) + { + value += ((float)(text[i] - '0'))/divisor; + divisor = divisor*10.0f; + } } + return value; } @@ -2275,41 +2283,41 @@ static char HexToInt(char hex) { // Load font data for further use // NOTE: Requires BDF font memory data -static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int* outFontSize) +static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int *outFontSize) { #define MAX_BUFFER_SIZE 256 + char buffer[MAX_BUFFER_SIZE] = { 0 }; GlyphInfo *glyphs = NULL; - bool genFontChars = false; - int totalReadBytes = 0; // Data bytes read (total) - int readBytes = 0; // Data bytes read (line) - int readVars = 0; // Variables filled by sscanf() + int totalReadBytes = 0; // Data bytes read (total) + int readBytes = 0; // Data bytes read (line) + int readVars = 0; // Variables filled by sscanf() const char *fileText = (const char*)fileData; const char *fileTextPtr = fileText; - bool fontMalformed = false; // Is the font malformed - bool fontStarted = false; // Has font started (STARTFONT) - int fontBBw = 0; // Font base character bounding box width - int fontBBh = 0; // Font base character bounding box height - int fontBBxoff0 = 0; // Font base character bounding box X0 offset - int fontBByoff0 = 0; // Font base character bounding box Y0 offset - int fontAscent = 0; // Font ascent + bool fontMalformed = false; // Is the font malformed + bool fontStarted = false; // Has font started (STARTFONT) + int fontBBw = 0; // Font base character bounding box width + int fontBBh = 0; // Font base character bounding box height + int fontBBxoff0 = 0; // Font base character bounding box X0 offset + int fontBByoff0 = 0; // Font base character bounding box Y0 offset + int fontAscent = 0; // Font ascent - bool charStarted = false; // Has character started (STARTCHAR) - bool charBitmapStarted = false; // Has bitmap data started (BITMAP) - int charBitmapNextRow = 0; // Y position for the next row of bitmap data - int charEncoding = -1; // The unicode value of the character (-1 if not set) - int charBBw = 0; // Character bounding box width - int charBBh = 0; // Character bounding box height - int charBBxoff0 = 0; // Character bounding box X0 offset - int charBByoff0 = 0; // Character bounding box Y0 offset - int charDWidthX = 0; // Character advance X - int charDWidthY = 0; // Character advance Y (unused) - GlyphInfo *charGlyphInfo = NULL; // Pointer to output glyph info (NULL if not set) + bool charStarted = false; // Has character started (STARTCHAR) + bool charBitmapStarted = false; // Has bitmap data started (BITMAP) + int charBitmapNextRow = 0; // Y position for the next row of bitmap data + int charEncoding = -1; // The unicode value of the character (-1 if not set) + int charBBw = 0; // Character bounding box width + int charBBh = 0; // Character bounding box height + int charBBxoff0 = 0; // Character bounding box X0 offset + int charBByoff0 = 0; // Character bounding box Y0 offset + int charDWidthX = 0; // Character advance X + int charDWidthY = 0; // Character advance Y (unused) + GlyphInfo *charGlyphInfo = NULL; // Pointer to output glyph info (NULL if not set) if (fileData == NULL) return glyphs; @@ -2333,12 +2341,12 @@ static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, i totalReadBytes += (readBytes + 1); fileTextPtr += (readBytes + 1); - // COMMENT + // Line: COMMENT if (strstr(buffer, "COMMENT") != NULL) continue; // Ignore line if (charStarted) { - // ENDCHAR + // Line: ENDCHAR if (strstr(buffer, "ENDCHAR") != NULL) { charStarted = false; @@ -2347,59 +2355,56 @@ static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, i if (charBitmapStarted) { - if (charGlyphInfo != NULL) { + if (charGlyphInfo != NULL) + { int pixelY = charBitmapNextRow++; - if (pixelY >= charGlyphInfo->image.height) - { - break; - } + + if (pixelY >= charGlyphInfo->image.height) break; + for (int x = 0; x < readBytes; x++) { char byte = HexToInt(buffer[x]); + for (int bitX = 0; bitX < 4; bitX++) { int pixelX = ((x * 4) + bitX); - if (pixelX >= charGlyphInfo->image.width) - { - break; - } + + if (pixelX >= charGlyphInfo->image.width) break; - if ((byte & (8 >> bitX)) > 0) - { - ((unsigned char*)charGlyphInfo->image.data)[(pixelY * charGlyphInfo->image.width) + pixelX] = 255; - } + if ((byte & (8 >> bitX)) > 0) ((unsigned char*)charGlyphInfo->image.data)[(pixelY * charGlyphInfo->image.width) + pixelX] = 255; } } } continue; } - // ENCODING + // Line: ENCODING if (strstr(buffer, "ENCODING") != NULL) { readVars = sscanf(buffer, "ENCODING %i", &charEncoding); continue; } - // BBX + // Line: BBX if (strstr(buffer, "BBX") != NULL) { readVars = sscanf(buffer, "BBX %i %i %i %i", &charBBw, &charBBh, &charBBxoff0, &charBByoff0); continue; } - // DWIDTH + // Line: DWIDTH if (strstr(buffer, "DWIDTH") != NULL) { readVars = sscanf(buffer, "DWIDTH %i %i", &charDWidthX, &charDWidthY); continue; } - // BITMAP + // Line: BITMAP if (strstr(buffer, "BITMAP") != NULL) { // Search for glyph index in codepoints charGlyphInfo = NULL; + for (int codepointIndex = 0; codepointIndex < codepointCount; codepointIndex++) { if (codepoints[codepointIndex] == charEncoding) @@ -2432,30 +2437,24 @@ static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, i } else if (fontStarted) { - // ENDFONT + // Line: ENDFONT if (strstr(buffer, "ENDFONT") != NULL) { fontStarted = false; break; } - // SIZE + // Line: SIZE if (strstr(buffer, "SIZE") != NULL) { - if (outFontSize != NULL) - { - readVars = sscanf(buffer, "SIZE %i", outFontSize); - } + if (outFontSize != NULL) readVars = sscanf(buffer, "SIZE %i", outFontSize); continue; } // PIXEL_SIZE if (strstr(buffer, "PIXEL_SIZE") != NULL) { - if (outFontSize != NULL) - { - readVars = sscanf(buffer, "PIXEL_SIZE %i", outFontSize); - } + if (outFontSize != NULL) readVars = sscanf(buffer, "PIXEL_SIZE %i", outFontSize); continue; } @@ -2520,7 +2519,6 @@ static GlyphInfo *LoadBDFFontData(const unsigned char *fileData, int dataSize, i return glyphs; } - #endif #endif // SUPPORT_MODULE_RTEXT From 868d515fbc6805d506bf97cf134379d6c293d75c Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 11:18:46 +0100 Subject: [PATCH 109/745] Update rtext.c --- src/rtext.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 6163a92a9..c6187a0a7 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1471,13 +1471,14 @@ float TextToFloat(const char *text) text++; } - for (int i = 0; ((text[i] >= '0') && (text[i] <= '9')); i++) value = value*10.0f + (float)(text[i] - '0'); + int i = 0; + for (; ((text[i] >= '0') && (text[i] <= '9')); i++) value = value*10.0f + (float)(text[i] - '0'); if (text[i++] != '.') value *= sign; else { float divisor = 10.0f; - for (int i = 0; ((text[i] >= '0') && (text[i] <= '9')); i++) + for (; ((text[i] >= '0') && (text[i] <= '9')); i++) { value += ((float)(text[i] - '0'))/divisor; divisor = divisor*10.0f; From a96b224b384c7be1f97dcd0dbdcf858d97660ffd Mon Sep 17 00:00:00 2001 From: A Date: Sun, 4 Feb 2024 11:24:05 +0100 Subject: [PATCH 110/745] Add gamepad support to PLATFORM_DESKTOP_SDL (#3776) Co-authored-by: Arthur --- src/platforms/rcore_desktop_sdl.c | 166 +++++++++++++++++++++++++++--- 1 file changed, 150 insertions(+), 16 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 7b386b2c4..2e2d190cb 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -64,7 +64,7 @@ typedef struct { SDL_Window *window; SDL_GLContext glContext; - SDL_Joystick *gamepad; + SDL_Joystick *gamepad[MAX_GAMEPADS]; SDL_Cursor *cursor; bool cursorRelative; } PlatformData; @@ -978,8 +978,18 @@ void PollInputEvents(void) else CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; // Reset last gamepad button/axis registered state - CORE.Input.Gamepad.lastButtonPressed = GAMEPAD_BUTTON_UNKNOWN; - for (int i = 0; i < MAX_GAMEPADS; i++) CORE.Input.Gamepad.axisCount[i] = 0; + for (int i = 0; (i < SDL_NumJoysticks()) && (i < MAX_GAMEPADS); i++) + { + // Check if gamepad is available + if (CORE.Input.Gamepad.ready[i]) + { + // Register previous gamepad button states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) + { + CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; + } + } + } // Register previous touch states for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i]; @@ -1215,20 +1225,134 @@ void PollInputEvents(void) } break; // Check gamepad events + case SDL_JOYDEVICEADDED: + { + int jid = event.jdevice.which; + if (!CORE.Input.Gamepad.ready[jid] && (jid < MAX_GAMEPADS)) { + platform.gamepad[jid] = SDL_JoystickOpen(jid); + + if (platform.gamepad[jid]) + { + CORE.Input.Gamepad.ready[jid] = true; + CORE.Input.Gamepad.axisCount[jid] = SDL_JoystickNumAxes(platform.gamepad[jid]); + CORE.Input.Gamepad.axisState[jid][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; + CORE.Input.Gamepad.axisState[jid][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; + strncpy(CORE.Input.Gamepad.name[jid], SDL_JoystickName(platform.gamepad[jid]), 63); + CORE.Input.Gamepad.name[jid][63] = '\0'; + } + else + { + TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); + } + } + } break; + case SDL_JOYDEVICEREMOVED: + { + int jid = event.jdevice.which; + if (jid == SDL_JoystickInstanceID(platform.gamepad[jid])) { + SDL_JoystickClose(platform.gamepad[jid]); + platform.gamepad[jid] = SDL_JoystickOpen(0); + CORE.Input.Gamepad.ready[jid] = false; + memset(CORE.Input.Gamepad.name[jid], 0, 64); + } + } break; + case SDL_JOYBUTTONDOWN: + { + int button = -1; + + switch (event.jbutton.button) + { + case SDL_CONTROLLER_BUTTON_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; + case SDL_CONTROLLER_BUTTON_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; + case SDL_CONTROLLER_BUTTON_A: button = GAMEPAD_BUTTON_RIGHT_FACE_DOWN; break; + case SDL_CONTROLLER_BUTTON_X: button = GAMEPAD_BUTTON_RIGHT_FACE_LEFT; break; + + case SDL_CONTROLLER_BUTTON_LEFTSHOULDER: button = GAMEPAD_BUTTON_LEFT_TRIGGER_1; break; + case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_1; break; + + case SDL_CONTROLLER_BUTTON_BACK: button = GAMEPAD_BUTTON_MIDDLE_LEFT; break; + case SDL_CONTROLLER_BUTTON_GUIDE: button = GAMEPAD_BUTTON_MIDDLE; break; + case SDL_CONTROLLER_BUTTON_START: button = GAMEPAD_BUTTON_MIDDLE_RIGHT; break; + + case SDL_CONTROLLER_BUTTON_DPAD_UP: button = GAMEPAD_BUTTON_LEFT_FACE_UP; break; + case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: button = GAMEPAD_BUTTON_LEFT_FACE_RIGHT; break; + case SDL_CONTROLLER_BUTTON_DPAD_DOWN: button = GAMEPAD_BUTTON_LEFT_FACE_DOWN; break; + case SDL_CONTROLLER_BUTTON_DPAD_LEFT: button = GAMEPAD_BUTTON_LEFT_FACE_LEFT; break; + + case SDL_CONTROLLER_BUTTON_LEFTSTICK: button = GAMEPAD_BUTTON_LEFT_THUMB; break; + case SDL_CONTROLLER_BUTTON_RIGHTSTICK: button = GAMEPAD_BUTTON_RIGHT_THUMB; break; + default: break; + } + + if (button >= 0) + { + CORE.Input.Gamepad.currentButtonState[event.jbutton.which][button] = 1; + CORE.Input.Gamepad.lastButtonPressed = button; + } + } break; + case SDL_JOYBUTTONUP: + { + int button = -1; + + switch (event.jbutton.button) + { + case SDL_CONTROLLER_BUTTON_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; + case SDL_CONTROLLER_BUTTON_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; + case SDL_CONTROLLER_BUTTON_A: button = GAMEPAD_BUTTON_RIGHT_FACE_DOWN; break; + case SDL_CONTROLLER_BUTTON_X: button = GAMEPAD_BUTTON_RIGHT_FACE_LEFT; break; + + case SDL_CONTROLLER_BUTTON_LEFTSHOULDER: button = GAMEPAD_BUTTON_LEFT_TRIGGER_1; break; + case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_1; break; + + case SDL_CONTROLLER_BUTTON_BACK: button = GAMEPAD_BUTTON_MIDDLE_LEFT; break; + case SDL_CONTROLLER_BUTTON_GUIDE: button = GAMEPAD_BUTTON_MIDDLE; break; + case SDL_CONTROLLER_BUTTON_START: button = GAMEPAD_BUTTON_MIDDLE_RIGHT; break; + + case SDL_CONTROLLER_BUTTON_DPAD_UP: button = GAMEPAD_BUTTON_LEFT_FACE_UP; break; + case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: button = GAMEPAD_BUTTON_LEFT_FACE_RIGHT; break; + case SDL_CONTROLLER_BUTTON_DPAD_DOWN: button = GAMEPAD_BUTTON_LEFT_FACE_DOWN; break; + case SDL_CONTROLLER_BUTTON_DPAD_LEFT: button = GAMEPAD_BUTTON_LEFT_FACE_LEFT; break; + + case SDL_CONTROLLER_BUTTON_LEFTSTICK: button = GAMEPAD_BUTTON_LEFT_THUMB; break; + case SDL_CONTROLLER_BUTTON_RIGHTSTICK: button = GAMEPAD_BUTTON_RIGHT_THUMB; break; + default: break; + } + + if (button >= 0) + { + CORE.Input.Gamepad.currentButtonState[event.jbutton.which][button] = 0; + if (CORE.Input.Gamepad.lastButtonPressed == button) CORE.Input.Gamepad.lastButtonPressed = 0; + } + } break; case SDL_JOYAXISMOTION: { - // Motion on gamepad 0 - if (event.jaxis.which == 0) + int axis = -1; + + switch (event.jaxis.axis) { - // X axis motion - if (event.jaxis.axis == 0) + case SDL_CONTROLLER_AXIS_LEFTX: axis = GAMEPAD_AXIS_LEFT_X; break; + case SDL_CONTROLLER_AXIS_LEFTY: axis = GAMEPAD_AXIS_LEFT_Y; break; + case SDL_CONTROLLER_AXIS_RIGHTX: axis = GAMEPAD_AXIS_RIGHT_X; break; + case SDL_CONTROLLER_AXIS_RIGHTY: axis = GAMEPAD_AXIS_RIGHT_Y; break; + case SDL_CONTROLLER_AXIS_TRIGGERLEFT: axis = GAMEPAD_AXIS_LEFT_TRIGGER; break; + case SDL_CONTROLLER_AXIS_TRIGGERRIGHT: axis = GAMEPAD_AXIS_RIGHT_TRIGGER; break; + default: break; + } + + if (axis >= 0) + { + // SDL axis value range is -32768 to 32767, we normalize it to RayLib's -1.0 to 1.0f range + float value = event.jaxis.value / (float) 32767; + CORE.Input.Gamepad.axisState[event.jaxis.which][axis] = value; + + // Register button state for triggers in addition to their axes + if ((axis == GAMEPAD_AXIS_LEFT_TRIGGER) || (axis == GAMEPAD_AXIS_RIGHT_TRIGGER)) { - //... - } - // Y axis motion - else if (event.jaxis.axis == 1) - { - //... + int button = (axis == GAMEPAD_AXIS_LEFT_TRIGGER) ? GAMEPAD_BUTTON_LEFT_TRIGGER_2 : GAMEPAD_BUTTON_RIGHT_TRIGGER_2; + int pressed = (value > 0.1f); + CORE.Input.Gamepad.currentButtonState[event.jaxis.which][button] = pressed; + if (pressed) CORE.Input.Gamepad.lastButtonPressed = button; + else if (CORE.Input.Gamepad.lastButtonPressed == button) CORE.Input.Gamepad.lastButtonPressed = 0; } } } break; @@ -1405,10 +1529,20 @@ int InitPlatform(void) // Initialize input events system //---------------------------------------------------------------------------- - if (SDL_NumJoysticks() >= 1) + // Initialize gamepads + for (int i = 0; (i < SDL_NumJoysticks()) && (i < MAX_GAMEPADS); i++) { - platform.gamepad = SDL_JoystickOpen(0); - //if (platform.gamepadgamepad == NULL) TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); + platform.gamepad[i] = SDL_JoystickOpen(i); + if (platform.gamepad[i]) + { + CORE.Input.Gamepad.ready[i] = true; + CORE.Input.Gamepad.axisCount[i] = SDL_JoystickNumAxes(platform.gamepad[i]); + CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; + CORE.Input.Gamepad.axisState[i][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; + strncpy(CORE.Input.Gamepad.name[i], SDL_JoystickName(platform.gamepad[i]), 63); + CORE.Input.Gamepad.name[i][63] = '\0'; + } + else TRACELOG(LOG_WARNING, "PLATFORM: Unable to open game controller [ERROR: %s]", SDL_GetError()); } // Disable mouse events being interpreted as touch events From d91e9104aab9ef329ac946d37033578c6becec78 Mon Sep 17 00:00:00 2001 From: oblerion <82583559+oblerion@users.noreply.github.com> Date: Sun, 4 Feb 2024 11:28:58 +0100 Subject: [PATCH 111/745] [rcore] Fix `GetFileNameWithoutExt()` (#3771) * Update rcore.c fix [rcore] GetFileNameWithoutExt * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c * Update rcore.c --- src/rcore.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index f0af87f9d..8dc14c3b9 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1946,25 +1946,25 @@ const char *GetFileName(const char *filePath) // Get filename string without extension (uses static string) const char *GetFileNameWithoutExt(const char *filePath) { - #define MAX_FILENAMEWITHOUTEXT_LENGTH 256 - + #define MAX_FILENAMEWITHOUTEXT_LENGTH 256 + static char fileName[MAX_FILENAMEWITHOUTEXT_LENGTH] = { 0 }; memset(fileName, 0, MAX_FILENAMEWITHOUTEXT_LENGTH); - if (filePath != NULL) strcpy(fileName, GetFileName(filePath)); // Get filename with extension - - int size = (int)strlen(fileName); // Get size in bytes - - for (int i = 0; (i < size) && (i < MAX_FILENAMEWITHOUTEXT_LENGTH); i++) + if (filePath != NULL) { - if (fileName[i] == '.') + strcpy(fileName, GetFileName(filePath)); // Get filename.ext without path + int size = (int)strlen(fileName); // Get size in bytes + for (int i = size; i>0; i--) // Reverse search '.' { - // NOTE: We break on first '.' found - fileName[i] = '\0'; - break; + if (fileName[i] == '.') + { + // NOTE: We break on first '.' found + fileName[i] = '\0'; + break; + } } } - return fileName; } From f033b307030f00e1ae3875fb22de3f86cc4282c3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 11:33:38 +0100 Subject: [PATCH 112/745] Review formating and some defines naming consistency --- src/rcore.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 8dc14c3b9..784b9b621 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1840,7 +1840,7 @@ bool FileExists(const char *fileName) // NOTE: Extensions checking is not case-sensitive bool IsFileExtension(const char *fileName, const char *ext) { - #define MAX_FILE_EXTENSION_SIZE 16 + #define MAX_FILE_EXTENSION_LENGTH 16 bool result = false; const char *fileExt = GetFileExtension(fileName); @@ -1851,8 +1851,8 @@ bool IsFileExtension(const char *fileName, const char *ext) int extCount = 0; const char **checkExts = TextSplit(ext, ';', &extCount); // WARNING: Module required: rtext - char fileExtLower[MAX_FILE_EXTENSION_SIZE + 1] = { 0 }; - strncpy(fileExtLower, TextToLower(fileExt), MAX_FILE_EXTENSION_SIZE); // WARNING: Module required: rtext + char fileExtLower[MAX_FILE_EXTENSION_LENGTH + 1] = { 0 }; + strncpy(fileExtLower, TextToLower(fileExt), MAX_FILE_EXTENSION_LENGTH); // WARNING: Module required: rtext for (int i = 0; i < extCount; i++) { @@ -1946,16 +1946,17 @@ const char *GetFileName(const char *filePath) // Get filename string without extension (uses static string) const char *GetFileNameWithoutExt(const char *filePath) { - #define MAX_FILENAMEWITHOUTEXT_LENGTH 256 + #define MAX_FILENAME_LENGTH 256 - static char fileName[MAX_FILENAMEWITHOUTEXT_LENGTH] = { 0 }; - memset(fileName, 0, MAX_FILENAMEWITHOUTEXT_LENGTH); + static char fileName[MAX_FILENAME_LENGTH] = { 0 }; + memset(fileName, 0, MAX_FILENAME_LENGTH); if (filePath != NULL) { strcpy(fileName, GetFileName(filePath)); // Get filename.ext without path int size = (int)strlen(fileName); // Get size in bytes - for (int i = size; i>0; i--) // Reverse search '.' + + for (int i = size; i > 0; i--) // Reverse search '.' { if (fileName[i] == '.') { @@ -1965,6 +1966,7 @@ const char *GetFileNameWithoutExt(const char *filePath) } } } + return fileName; } From 9a5dddc311d890c30474d8ac28e6887ffd11688e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Almeida?= <60551627+luis605@users.noreply.github.com> Date: Sun, 4 Feb 2024 10:37:10 +0000 Subject: [PATCH 113/745] Added viewport independent raycast (#3709) * added viewport independent raycast * Renamed GetMouseRayEx to GetViewRay --- src/raylib.h | 1 + src/rcore.c | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 4c4b191c0..e2404a324 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1050,6 +1050,7 @@ RLAPI void UnloadShader(Shader shader); // Un // Screen-space-related functions RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position +RLAPI Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position diff --git a/src/rcore.c b/src/rcore.c index 784b9b621..48c863f56 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1404,14 +1404,20 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) //---------------------------------------------------------------------------------- // Get a ray trace from mouse position -Ray GetMouseRay(Vector2 mouse, Camera camera) +Ray GetMouseRay(Vector2 mousePosition, Camera camera) +{ + return GetViewRay(mousePosition, camera, GetScreenWidth(), GetScreenHeight()); +} + +// Get a ray trace from the mouse position within a specific section of the screen +Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height) { Ray ray = { 0 }; // Calculate normalized device coordinates // NOTE: y value is negative - float x = (2.0f*mouse.x)/(float)GetScreenWidth() - 1.0f; - float y = 1.0f - (2.0f*mouse.y)/(float)GetScreenHeight(); + float x = (2.0f*mousePosition.x)/width - 1.0f; + float y = 1.0f - (2.0f*mousePosition.y)/height; float z = 1.0f; // Store values in a vector @@ -1425,11 +1431,11 @@ Ray GetMouseRay(Vector2 mouse, Camera camera) if (camera.projection == CAMERA_PERSPECTIVE) { // Calculate projection matrix from perspective - matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)GetScreenWidth()/(double)GetScreenHeight()), RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)width/(double)height), RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); } else if (camera.projection == CAMERA_ORTHOGRAPHIC) { - double aspect = (double)CORE.Window.screen.width/(double)CORE.Window.screen.height; + double aspect = (double)width/(double)height; double top = camera.fovy/2.0; double right = top*aspect; From 250d89b6211d893a4f55732a08b67bad834d5576 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 4 Feb 2024 10:37:24 +0000 Subject: [PATCH 114/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 23 + parser/output/raylib_api.lua | 11 + parser/output/raylib_api.txt | 958 +++++++++++++++++----------------- parser/output/raylib_api.xml | 8 +- 4 files changed, 524 insertions(+), 476 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index dd305c5c6..c48c1dd59 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -3886,6 +3886,29 @@ } ] }, + { + "name": "GetViewRay", + "description": "Get a ray trace from mouse position in a viewport", + "returnType": "Ray", + "params": [ + { + "type": "Vector2", + "name": "mousePosition" + }, + { + "type": "Camera", + "name": "camera" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + } + ] + }, { "name": "GetCameraMatrix", "description": "Get camera transform matrix (view matrix)", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index d4a8aeed8..882fb61f5 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -3643,6 +3643,17 @@ return { {type = "Camera", name = "camera"} } }, + { + name = "GetViewRay", + description = "Get a ray trace from mouse position in a viewport", + returnType = "Ray", + params = { + {type = "Vector2", name = "mousePosition"}, + {type = "Camera", name = "camera"}, + {type = "float", name = "width"}, + {type = "float", name = "height"} + } + }, { name = "GetCameraMatrix", description = "Get camera transform matrix (view matrix)", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 45faa3eb1..ee1e55af9 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -979,7 +979,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 558 +Functions found: 559 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -1427,29 +1427,37 @@ Function 084: GetMouseRay() (2 input parameters) Description: Get a ray trace from mouse position Param[1]: mousePosition (type: Vector2) Param[2]: camera (type: Camera) -Function 085: GetCameraMatrix() (1 input parameters) +Function 085: GetViewRay() (4 input parameters) + Name: GetViewRay + Return type: Ray + Description: Get a ray trace from mouse position in a viewport + Param[1]: mousePosition (type: Vector2) + Param[2]: camera (type: Camera) + Param[3]: width (type: float) + Param[4]: height (type: float) +Function 086: GetCameraMatrix() (1 input parameters) Name: GetCameraMatrix Return type: Matrix Description: Get camera transform matrix (view matrix) Param[1]: camera (type: Camera) -Function 086: GetCameraMatrix2D() (1 input parameters) +Function 087: GetCameraMatrix2D() (1 input parameters) Name: GetCameraMatrix2D Return type: Matrix Description: Get camera 2d transform matrix Param[1]: camera (type: Camera2D) -Function 087: GetWorldToScreen() (2 input parameters) +Function 088: GetWorldToScreen() (2 input parameters) Name: GetWorldToScreen Return type: Vector2 Description: Get the screen space position for a 3d world space position Param[1]: position (type: Vector3) Param[2]: camera (type: Camera) -Function 088: GetScreenToWorld2D() (2 input parameters) +Function 089: GetScreenToWorld2D() (2 input parameters) Name: GetScreenToWorld2D Return type: Vector2 Description: Get the world space position for a 2d camera screen space position Param[1]: position (type: Vector2) Param[2]: camera (type: Camera2D) -Function 089: GetWorldToScreenEx() (4 input parameters) +Function 090: GetWorldToScreenEx() (4 input parameters) Name: GetWorldToScreenEx Return type: Vector2 Description: Get size position for a 3d world space position @@ -1457,590 +1465,590 @@ Function 089: GetWorldToScreenEx() (4 input parameters) Param[2]: camera (type: Camera) Param[3]: width (type: int) Param[4]: height (type: int) -Function 090: GetWorldToScreen2D() (2 input parameters) +Function 091: GetWorldToScreen2D() (2 input parameters) Name: GetWorldToScreen2D Return type: Vector2 Description: Get the screen space position for a 2d camera world space position Param[1]: position (type: Vector2) Param[2]: camera (type: Camera2D) -Function 091: SetTargetFPS() (1 input parameters) +Function 092: SetTargetFPS() (1 input parameters) Name: SetTargetFPS Return type: void Description: Set target FPS (maximum) Param[1]: fps (type: int) -Function 092: GetFrameTime() (0 input parameters) +Function 093: GetFrameTime() (0 input parameters) Name: GetFrameTime Return type: float Description: Get time in seconds for last frame drawn (delta time) No input parameters -Function 093: GetTime() (0 input parameters) +Function 094: GetTime() (0 input parameters) Name: GetTime Return type: double Description: Get elapsed time in seconds since InitWindow() No input parameters -Function 094: GetFPS() (0 input parameters) +Function 095: GetFPS() (0 input parameters) Name: GetFPS Return type: int Description: Get current FPS No input parameters -Function 095: SwapScreenBuffer() (0 input parameters) +Function 096: SwapScreenBuffer() (0 input parameters) Name: SwapScreenBuffer Return type: void Description: Swap back buffer with front buffer (screen drawing) No input parameters -Function 096: PollInputEvents() (0 input parameters) +Function 097: PollInputEvents() (0 input parameters) Name: PollInputEvents Return type: void Description: Register all input events No input parameters -Function 097: WaitTime() (1 input parameters) +Function 098: WaitTime() (1 input parameters) Name: WaitTime Return type: void Description: Wait for some time (halt program execution) Param[1]: seconds (type: double) -Function 098: SetRandomSeed() (1 input parameters) +Function 099: SetRandomSeed() (1 input parameters) Name: SetRandomSeed Return type: void Description: Set the seed for the random number generator Param[1]: seed (type: unsigned int) -Function 099: GetRandomValue() (2 input parameters) +Function 100: GetRandomValue() (2 input parameters) Name: GetRandomValue Return type: int Description: Get a random value between min and max (both included) Param[1]: min (type: int) Param[2]: max (type: int) -Function 100: LoadRandomSequence() (3 input parameters) +Function 101: LoadRandomSequence() (3 input parameters) Name: LoadRandomSequence Return type: int * Description: Load random values sequence, no values repeated Param[1]: count (type: unsigned int) Param[2]: min (type: int) Param[3]: max (type: int) -Function 101: UnloadRandomSequence() (1 input parameters) +Function 102: UnloadRandomSequence() (1 input parameters) Name: UnloadRandomSequence Return type: void Description: Unload random values sequence Param[1]: sequence (type: int *) -Function 102: TakeScreenshot() (1 input parameters) +Function 103: TakeScreenshot() (1 input parameters) Name: TakeScreenshot Return type: void Description: Takes a screenshot of current screen (filename extension defines format) Param[1]: fileName (type: const char *) -Function 103: SetConfigFlags() (1 input parameters) +Function 104: SetConfigFlags() (1 input parameters) Name: SetConfigFlags Return type: void Description: Setup init configuration flags (view FLAGS) Param[1]: flags (type: unsigned int) -Function 104: OpenURL() (1 input parameters) +Function 105: OpenURL() (1 input parameters) Name: OpenURL Return type: void Description: Open URL with default system browser (if available) Param[1]: url (type: const char *) -Function 105: TraceLog() (3 input parameters) +Function 106: TraceLog() (3 input parameters) Name: TraceLog Return type: void Description: Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) Param[1]: logLevel (type: int) Param[2]: text (type: const char *) Param[3]: args (type: ...) -Function 106: SetTraceLogLevel() (1 input parameters) +Function 107: SetTraceLogLevel() (1 input parameters) Name: SetTraceLogLevel Return type: void Description: Set the current threshold (minimum) log level Param[1]: logLevel (type: int) -Function 107: MemAlloc() (1 input parameters) +Function 108: MemAlloc() (1 input parameters) Name: MemAlloc Return type: void * Description: Internal memory allocator Param[1]: size (type: unsigned int) -Function 108: MemRealloc() (2 input parameters) +Function 109: MemRealloc() (2 input parameters) Name: MemRealloc Return type: void * Description: Internal memory reallocator Param[1]: ptr (type: void *) Param[2]: size (type: unsigned int) -Function 109: MemFree() (1 input parameters) +Function 110: MemFree() (1 input parameters) Name: MemFree Return type: void Description: Internal memory free Param[1]: ptr (type: void *) -Function 110: SetTraceLogCallback() (1 input parameters) +Function 111: SetTraceLogCallback() (1 input parameters) Name: SetTraceLogCallback Return type: void Description: Set custom trace log Param[1]: callback (type: TraceLogCallback) -Function 111: SetLoadFileDataCallback() (1 input parameters) +Function 112: SetLoadFileDataCallback() (1 input parameters) Name: SetLoadFileDataCallback Return type: void Description: Set custom file binary data loader Param[1]: callback (type: LoadFileDataCallback) -Function 112: SetSaveFileDataCallback() (1 input parameters) +Function 113: SetSaveFileDataCallback() (1 input parameters) Name: SetSaveFileDataCallback Return type: void Description: Set custom file binary data saver Param[1]: callback (type: SaveFileDataCallback) -Function 113: SetLoadFileTextCallback() (1 input parameters) +Function 114: SetLoadFileTextCallback() (1 input parameters) Name: SetLoadFileTextCallback Return type: void Description: Set custom file text data loader Param[1]: callback (type: LoadFileTextCallback) -Function 114: SetSaveFileTextCallback() (1 input parameters) +Function 115: SetSaveFileTextCallback() (1 input parameters) Name: SetSaveFileTextCallback Return type: void Description: Set custom file text data saver Param[1]: callback (type: SaveFileTextCallback) -Function 115: LoadFileData() (2 input parameters) +Function 116: LoadFileData() (2 input parameters) Name: LoadFileData Return type: unsigned char * Description: Load file data as byte array (read) Param[1]: fileName (type: const char *) Param[2]: dataSize (type: int *) -Function 116: UnloadFileData() (1 input parameters) +Function 117: UnloadFileData() (1 input parameters) Name: UnloadFileData Return type: void Description: Unload file data allocated by LoadFileData() Param[1]: data (type: unsigned char *) -Function 117: SaveFileData() (3 input parameters) +Function 118: SaveFileData() (3 input parameters) Name: SaveFileData Return type: bool Description: Save data to file from byte array (write), returns true on success Param[1]: fileName (type: const char *) Param[2]: data (type: void *) Param[3]: dataSize (type: int) -Function 118: ExportDataAsCode() (3 input parameters) +Function 119: ExportDataAsCode() (3 input parameters) Name: ExportDataAsCode Return type: bool Description: Export data to code (.h), returns true on success Param[1]: data (type: const unsigned char *) Param[2]: dataSize (type: int) Param[3]: fileName (type: const char *) -Function 119: LoadFileText() (1 input parameters) +Function 120: LoadFileText() (1 input parameters) Name: LoadFileText Return type: char * Description: Load text data from file (read), returns a '\0' terminated string Param[1]: fileName (type: const char *) -Function 120: UnloadFileText() (1 input parameters) +Function 121: UnloadFileText() (1 input parameters) Name: UnloadFileText Return type: void Description: Unload file text data allocated by LoadFileText() Param[1]: text (type: char *) -Function 121: SaveFileText() (2 input parameters) +Function 122: SaveFileText() (2 input parameters) Name: SaveFileText Return type: bool Description: Save text data to file (write), string must be '\0' terminated, returns true on success Param[1]: fileName (type: const char *) Param[2]: text (type: char *) -Function 122: FileExists() (1 input parameters) +Function 123: FileExists() (1 input parameters) Name: FileExists Return type: bool Description: Check if file exists Param[1]: fileName (type: const char *) -Function 123: DirectoryExists() (1 input parameters) +Function 124: DirectoryExists() (1 input parameters) Name: DirectoryExists Return type: bool Description: Check if a directory path exists Param[1]: dirPath (type: const char *) -Function 124: IsFileExtension() (2 input parameters) +Function 125: IsFileExtension() (2 input parameters) Name: IsFileExtension Return type: bool Description: Check file extension (including point: .png, .wav) Param[1]: fileName (type: const char *) Param[2]: ext (type: const char *) -Function 125: GetFileLength() (1 input parameters) +Function 126: GetFileLength() (1 input parameters) Name: GetFileLength Return type: int Description: Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) Param[1]: fileName (type: const char *) -Function 126: GetFileExtension() (1 input parameters) +Function 127: GetFileExtension() (1 input parameters) Name: GetFileExtension Return type: const char * Description: Get pointer to extension for a filename string (includes dot: '.png') Param[1]: fileName (type: const char *) -Function 127: GetFileName() (1 input parameters) +Function 128: GetFileName() (1 input parameters) Name: GetFileName Return type: const char * Description: Get pointer to filename for a path string Param[1]: filePath (type: const char *) -Function 128: GetFileNameWithoutExt() (1 input parameters) +Function 129: GetFileNameWithoutExt() (1 input parameters) Name: GetFileNameWithoutExt Return type: const char * Description: Get filename string without extension (uses static string) Param[1]: filePath (type: const char *) -Function 129: GetDirectoryPath() (1 input parameters) +Function 130: GetDirectoryPath() (1 input parameters) Name: GetDirectoryPath Return type: const char * Description: Get full path for a given fileName with path (uses static string) Param[1]: filePath (type: const char *) -Function 130: GetPrevDirectoryPath() (1 input parameters) +Function 131: GetPrevDirectoryPath() (1 input parameters) Name: GetPrevDirectoryPath Return type: const char * Description: Get previous directory path for a given path (uses static string) Param[1]: dirPath (type: const char *) -Function 131: GetWorkingDirectory() (0 input parameters) +Function 132: GetWorkingDirectory() (0 input parameters) Name: GetWorkingDirectory Return type: const char * Description: Get current working directory (uses static string) No input parameters -Function 132: GetApplicationDirectory() (0 input parameters) +Function 133: GetApplicationDirectory() (0 input parameters) Name: GetApplicationDirectory Return type: const char * Description: Get the directory of the running application (uses static string) No input parameters -Function 133: ChangeDirectory() (1 input parameters) +Function 134: ChangeDirectory() (1 input parameters) Name: ChangeDirectory Return type: bool Description: Change working directory, return true on success Param[1]: dir (type: const char *) -Function 134: IsPathFile() (1 input parameters) +Function 135: IsPathFile() (1 input parameters) Name: IsPathFile Return type: bool Description: Check if a given path is a file or a directory Param[1]: path (type: const char *) -Function 135: LoadDirectoryFiles() (1 input parameters) +Function 136: LoadDirectoryFiles() (1 input parameters) Name: LoadDirectoryFiles Return type: FilePathList Description: Load directory filepaths Param[1]: dirPath (type: const char *) -Function 136: LoadDirectoryFilesEx() (3 input parameters) +Function 137: LoadDirectoryFilesEx() (3 input parameters) Name: LoadDirectoryFilesEx Return type: FilePathList Description: Load directory filepaths with extension filtering and recursive directory scan Param[1]: basePath (type: const char *) Param[2]: filter (type: const char *) Param[3]: scanSubdirs (type: bool) -Function 137: UnloadDirectoryFiles() (1 input parameters) +Function 138: UnloadDirectoryFiles() (1 input parameters) Name: UnloadDirectoryFiles Return type: void Description: Unload filepaths Param[1]: files (type: FilePathList) -Function 138: IsFileDropped() (0 input parameters) +Function 139: IsFileDropped() (0 input parameters) Name: IsFileDropped Return type: bool Description: Check if a file has been dropped into window No input parameters -Function 139: LoadDroppedFiles() (0 input parameters) +Function 140: LoadDroppedFiles() (0 input parameters) Name: LoadDroppedFiles Return type: FilePathList Description: Load dropped filepaths No input parameters -Function 140: UnloadDroppedFiles() (1 input parameters) +Function 141: UnloadDroppedFiles() (1 input parameters) Name: UnloadDroppedFiles Return type: void Description: Unload dropped filepaths Param[1]: files (type: FilePathList) -Function 141: GetFileModTime() (1 input parameters) +Function 142: GetFileModTime() (1 input parameters) Name: GetFileModTime Return type: long Description: Get file modification time (last write time) Param[1]: fileName (type: const char *) -Function 142: CompressData() (3 input parameters) +Function 143: CompressData() (3 input parameters) Name: CompressData Return type: unsigned char * Description: Compress data (DEFLATE algorithm), memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: dataSize (type: int) Param[3]: compDataSize (type: int *) -Function 143: DecompressData() (3 input parameters) +Function 144: DecompressData() (3 input parameters) Name: DecompressData Return type: unsigned char * Description: Decompress data (DEFLATE algorithm), memory must be MemFree() Param[1]: compData (type: const unsigned char *) Param[2]: compDataSize (type: int) Param[3]: dataSize (type: int *) -Function 144: EncodeDataBase64() (3 input parameters) +Function 145: EncodeDataBase64() (3 input parameters) Name: EncodeDataBase64 Return type: char * Description: Encode data to Base64 string, memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: dataSize (type: int) Param[3]: outputSize (type: int *) -Function 145: DecodeDataBase64() (2 input parameters) +Function 146: DecodeDataBase64() (2 input parameters) Name: DecodeDataBase64 Return type: unsigned char * Description: Decode Base64 string data, memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: outputSize (type: int *) -Function 146: LoadAutomationEventList() (1 input parameters) +Function 147: LoadAutomationEventList() (1 input parameters) Name: LoadAutomationEventList Return type: AutomationEventList Description: Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS Param[1]: fileName (type: const char *) -Function 147: UnloadAutomationEventList() (1 input parameters) +Function 148: UnloadAutomationEventList() (1 input parameters) Name: UnloadAutomationEventList Return type: void Description: Unload automation events list from file Param[1]: list (type: AutomationEventList) -Function 148: ExportAutomationEventList() (2 input parameters) +Function 149: ExportAutomationEventList() (2 input parameters) Name: ExportAutomationEventList Return type: bool Description: Export automation events list as text file Param[1]: list (type: AutomationEventList) Param[2]: fileName (type: const char *) -Function 149: SetAutomationEventList() (1 input parameters) +Function 150: SetAutomationEventList() (1 input parameters) Name: SetAutomationEventList Return type: void Description: Set automation event list to record to Param[1]: list (type: AutomationEventList *) -Function 150: SetAutomationEventBaseFrame() (1 input parameters) +Function 151: SetAutomationEventBaseFrame() (1 input parameters) Name: SetAutomationEventBaseFrame Return type: void Description: Set automation event internal base frame to start recording Param[1]: frame (type: int) -Function 151: StartAutomationEventRecording() (0 input parameters) +Function 152: StartAutomationEventRecording() (0 input parameters) Name: StartAutomationEventRecording Return type: void Description: Start recording automation events (AutomationEventList must be set) No input parameters -Function 152: StopAutomationEventRecording() (0 input parameters) +Function 153: StopAutomationEventRecording() (0 input parameters) Name: StopAutomationEventRecording Return type: void Description: Stop recording automation events No input parameters -Function 153: PlayAutomationEvent() (1 input parameters) +Function 154: PlayAutomationEvent() (1 input parameters) Name: PlayAutomationEvent Return type: void Description: Play a recorded automation event Param[1]: event (type: AutomationEvent) -Function 154: IsKeyPressed() (1 input parameters) +Function 155: IsKeyPressed() (1 input parameters) Name: IsKeyPressed Return type: bool Description: Check if a key has been pressed once Param[1]: key (type: int) -Function 155: IsKeyPressedRepeat() (1 input parameters) +Function 156: IsKeyPressedRepeat() (1 input parameters) Name: IsKeyPressedRepeat Return type: bool Description: Check if a key has been pressed again (Only PLATFORM_DESKTOP) Param[1]: key (type: int) -Function 156: IsKeyDown() (1 input parameters) +Function 157: IsKeyDown() (1 input parameters) Name: IsKeyDown Return type: bool Description: Check if a key is being pressed Param[1]: key (type: int) -Function 157: IsKeyReleased() (1 input parameters) +Function 158: IsKeyReleased() (1 input parameters) Name: IsKeyReleased Return type: bool Description: Check if a key has been released once Param[1]: key (type: int) -Function 158: IsKeyUp() (1 input parameters) +Function 159: IsKeyUp() (1 input parameters) Name: IsKeyUp Return type: bool Description: Check if a key is NOT being pressed Param[1]: key (type: int) -Function 159: GetKeyPressed() (0 input parameters) +Function 160: GetKeyPressed() (0 input parameters) Name: GetKeyPressed Return type: int Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty No input parameters -Function 160: GetCharPressed() (0 input parameters) +Function 161: GetCharPressed() (0 input parameters) Name: GetCharPressed Return type: int Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty No input parameters -Function 161: SetExitKey() (1 input parameters) +Function 162: SetExitKey() (1 input parameters) Name: SetExitKey Return type: void Description: Set a custom key to exit program (default is ESC) Param[1]: key (type: int) -Function 162: IsGamepadAvailable() (1 input parameters) +Function 163: IsGamepadAvailable() (1 input parameters) Name: IsGamepadAvailable Return type: bool Description: Check if a gamepad is available Param[1]: gamepad (type: int) -Function 163: GetGamepadName() (1 input parameters) +Function 164: GetGamepadName() (1 input parameters) Name: GetGamepadName Return type: const char * Description: Get gamepad internal name id Param[1]: gamepad (type: int) -Function 164: IsGamepadButtonPressed() (2 input parameters) +Function 165: IsGamepadButtonPressed() (2 input parameters) Name: IsGamepadButtonPressed Return type: bool Description: Check if a gamepad button has been pressed once Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 165: IsGamepadButtonDown() (2 input parameters) +Function 166: IsGamepadButtonDown() (2 input parameters) Name: IsGamepadButtonDown Return type: bool Description: Check if a gamepad button is being pressed Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 166: IsGamepadButtonReleased() (2 input parameters) +Function 167: IsGamepadButtonReleased() (2 input parameters) Name: IsGamepadButtonReleased Return type: bool Description: Check if a gamepad button has been released once Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 167: IsGamepadButtonUp() (2 input parameters) +Function 168: IsGamepadButtonUp() (2 input parameters) Name: IsGamepadButtonUp Return type: bool Description: Check if a gamepad button is NOT being pressed Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 168: GetGamepadButtonPressed() (0 input parameters) +Function 169: GetGamepadButtonPressed() (0 input parameters) Name: GetGamepadButtonPressed Return type: int Description: Get the last gamepad button pressed No input parameters -Function 169: GetGamepadAxisCount() (1 input parameters) +Function 170: GetGamepadAxisCount() (1 input parameters) Name: GetGamepadAxisCount Return type: int Description: Get gamepad axis count for a gamepad Param[1]: gamepad (type: int) -Function 170: GetGamepadAxisMovement() (2 input parameters) +Function 171: GetGamepadAxisMovement() (2 input parameters) Name: GetGamepadAxisMovement Return type: float Description: Get axis movement value for a gamepad axis Param[1]: gamepad (type: int) Param[2]: axis (type: int) -Function 171: SetGamepadMappings() (1 input parameters) +Function 172: SetGamepadMappings() (1 input parameters) Name: SetGamepadMappings Return type: int Description: Set internal gamepad mappings (SDL_GameControllerDB) Param[1]: mappings (type: const char *) -Function 172: IsMouseButtonPressed() (1 input parameters) +Function 173: IsMouseButtonPressed() (1 input parameters) Name: IsMouseButtonPressed Return type: bool Description: Check if a mouse button has been pressed once Param[1]: button (type: int) -Function 173: IsMouseButtonDown() (1 input parameters) +Function 174: IsMouseButtonDown() (1 input parameters) Name: IsMouseButtonDown Return type: bool Description: Check if a mouse button is being pressed Param[1]: button (type: int) -Function 174: IsMouseButtonReleased() (1 input parameters) +Function 175: IsMouseButtonReleased() (1 input parameters) Name: IsMouseButtonReleased Return type: bool Description: Check if a mouse button has been released once Param[1]: button (type: int) -Function 175: IsMouseButtonUp() (1 input parameters) +Function 176: IsMouseButtonUp() (1 input parameters) Name: IsMouseButtonUp Return type: bool Description: Check if a mouse button is NOT being pressed Param[1]: button (type: int) -Function 176: GetMouseX() (0 input parameters) +Function 177: GetMouseX() (0 input parameters) Name: GetMouseX Return type: int Description: Get mouse position X No input parameters -Function 177: GetMouseY() (0 input parameters) +Function 178: GetMouseY() (0 input parameters) Name: GetMouseY Return type: int Description: Get mouse position Y No input parameters -Function 178: GetMousePosition() (0 input parameters) +Function 179: GetMousePosition() (0 input parameters) Name: GetMousePosition Return type: Vector2 Description: Get mouse position XY No input parameters -Function 179: GetMouseDelta() (0 input parameters) +Function 180: GetMouseDelta() (0 input parameters) Name: GetMouseDelta Return type: Vector2 Description: Get mouse delta between frames No input parameters -Function 180: SetMousePosition() (2 input parameters) +Function 181: SetMousePosition() (2 input parameters) Name: SetMousePosition Return type: void Description: Set mouse position XY Param[1]: x (type: int) Param[2]: y (type: int) -Function 181: SetMouseOffset() (2 input parameters) +Function 182: SetMouseOffset() (2 input parameters) Name: SetMouseOffset Return type: void Description: Set mouse offset Param[1]: offsetX (type: int) Param[2]: offsetY (type: int) -Function 182: SetMouseScale() (2 input parameters) +Function 183: SetMouseScale() (2 input parameters) Name: SetMouseScale Return type: void Description: Set mouse scaling Param[1]: scaleX (type: float) Param[2]: scaleY (type: float) -Function 183: GetMouseWheelMove() (0 input parameters) +Function 184: GetMouseWheelMove() (0 input parameters) Name: GetMouseWheelMove Return type: float Description: Get mouse wheel movement for X or Y, whichever is larger No input parameters -Function 184: GetMouseWheelMoveV() (0 input parameters) +Function 185: GetMouseWheelMoveV() (0 input parameters) Name: GetMouseWheelMoveV Return type: Vector2 Description: Get mouse wheel movement for both X and Y No input parameters -Function 185: SetMouseCursor() (1 input parameters) +Function 186: SetMouseCursor() (1 input parameters) Name: SetMouseCursor Return type: void Description: Set mouse cursor Param[1]: cursor (type: int) -Function 186: GetTouchX() (0 input parameters) +Function 187: GetTouchX() (0 input parameters) Name: GetTouchX Return type: int Description: Get touch position X for touch point 0 (relative to screen size) No input parameters -Function 187: GetTouchY() (0 input parameters) +Function 188: GetTouchY() (0 input parameters) Name: GetTouchY Return type: int Description: Get touch position Y for touch point 0 (relative to screen size) No input parameters -Function 188: GetTouchPosition() (1 input parameters) +Function 189: GetTouchPosition() (1 input parameters) Name: GetTouchPosition Return type: Vector2 Description: Get touch position XY for a touch point index (relative to screen size) Param[1]: index (type: int) -Function 189: GetTouchPointId() (1 input parameters) +Function 190: GetTouchPointId() (1 input parameters) Name: GetTouchPointId Return type: int Description: Get touch point identifier for given index Param[1]: index (type: int) -Function 190: GetTouchPointCount() (0 input parameters) +Function 191: GetTouchPointCount() (0 input parameters) Name: GetTouchPointCount Return type: int Description: Get number of touch points No input parameters -Function 191: SetGesturesEnabled() (1 input parameters) +Function 192: SetGesturesEnabled() (1 input parameters) Name: SetGesturesEnabled Return type: void Description: Enable a set of gestures using flags Param[1]: flags (type: unsigned int) -Function 192: IsGestureDetected() (1 input parameters) +Function 193: IsGestureDetected() (1 input parameters) Name: IsGestureDetected Return type: bool Description: Check if a gesture have been detected Param[1]: gesture (type: unsigned int) -Function 193: GetGestureDetected() (0 input parameters) +Function 194: GetGestureDetected() (0 input parameters) Name: GetGestureDetected Return type: int Description: Get latest detected gesture No input parameters -Function 194: GetGestureHoldDuration() (0 input parameters) +Function 195: GetGestureHoldDuration() (0 input parameters) Name: GetGestureHoldDuration Return type: float Description: Get gesture hold time in milliseconds No input parameters -Function 195: GetGestureDragVector() (0 input parameters) +Function 196: GetGestureDragVector() (0 input parameters) Name: GetGestureDragVector Return type: Vector2 Description: Get gesture drag vector No input parameters -Function 196: GetGestureDragAngle() (0 input parameters) +Function 197: GetGestureDragAngle() (0 input parameters) Name: GetGestureDragAngle Return type: float Description: Get gesture drag angle No input parameters -Function 197: GetGesturePinchVector() (0 input parameters) +Function 198: GetGesturePinchVector() (0 input parameters) Name: GetGesturePinchVector Return type: Vector2 Description: Get gesture pinch delta No input parameters -Function 198: GetGesturePinchAngle() (0 input parameters) +Function 199: GetGesturePinchAngle() (0 input parameters) Name: GetGesturePinchAngle Return type: float Description: Get gesture pinch angle No input parameters -Function 199: UpdateCamera() (2 input parameters) +Function 200: UpdateCamera() (2 input parameters) Name: UpdateCamera Return type: void Description: Update camera position for selected mode Param[1]: camera (type: Camera *) Param[2]: mode (type: int) -Function 200: UpdateCameraPro() (4 input parameters) +Function 201: UpdateCameraPro() (4 input parameters) Name: UpdateCameraPro Return type: void Description: Update camera movement/rotation @@ -2048,36 +2056,36 @@ Function 200: UpdateCameraPro() (4 input parameters) Param[2]: movement (type: Vector3) Param[3]: rotation (type: Vector3) Param[4]: zoom (type: float) -Function 201: SetShapesTexture() (2 input parameters) +Function 202: SetShapesTexture() (2 input parameters) Name: SetShapesTexture Return type: void Description: Set texture and rectangle to be used on shapes drawing Param[1]: texture (type: Texture2D) Param[2]: source (type: Rectangle) -Function 202: GetShapesTexture() (0 input parameters) +Function 203: GetShapesTexture() (0 input parameters) Name: GetShapesTexture Return type: Texture2D Description: Get texture that is used for shapes drawing No input parameters -Function 203: GetShapesTextureRectangle() (0 input parameters) +Function 204: GetShapesTextureRectangle() (0 input parameters) Name: GetShapesTextureRectangle Return type: Rectangle Description: Get texture source rectangle that is used for shapes drawing No input parameters -Function 204: DrawPixel() (3 input parameters) +Function 205: DrawPixel() (3 input parameters) Name: DrawPixel Return type: void Description: Draw a pixel Param[1]: posX (type: int) Param[2]: posY (type: int) Param[3]: color (type: Color) -Function 205: DrawPixelV() (2 input parameters) +Function 206: DrawPixelV() (2 input parameters) Name: DrawPixelV Return type: void Description: Draw a pixel (Vector version) Param[1]: position (type: Vector2) Param[2]: color (type: Color) -Function 206: DrawLine() (5 input parameters) +Function 207: DrawLine() (5 input parameters) Name: DrawLine Return type: void Description: Draw a line @@ -2086,14 +2094,14 @@ Function 206: DrawLine() (5 input parameters) Param[3]: endPosX (type: int) Param[4]: endPosY (type: int) Param[5]: color (type: Color) -Function 207: DrawLineV() (3 input parameters) +Function 208: DrawLineV() (3 input parameters) Name: DrawLineV Return type: void Description: Draw a line (using gl lines) Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: color (type: Color) -Function 208: DrawLineEx() (4 input parameters) +Function 209: DrawLineEx() (4 input parameters) Name: DrawLineEx Return type: void Description: Draw a line (using triangles/quads) @@ -2101,14 +2109,14 @@ Function 208: DrawLineEx() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 209: DrawLineStrip() (3 input parameters) +Function 210: DrawLineStrip() (3 input parameters) Name: DrawLineStrip Return type: void Description: Draw lines sequence (using gl lines) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 210: DrawLineBezier() (4 input parameters) +Function 211: DrawLineBezier() (4 input parameters) Name: DrawLineBezier Return type: void Description: Draw line segment cubic-bezier in-out interpolation @@ -2116,7 +2124,7 @@ Function 210: DrawLineBezier() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 211: DrawCircle() (4 input parameters) +Function 212: DrawCircle() (4 input parameters) Name: DrawCircle Return type: void Description: Draw a color-filled circle @@ -2124,7 +2132,7 @@ Function 211: DrawCircle() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 212: DrawCircleSector() (6 input parameters) +Function 213: DrawCircleSector() (6 input parameters) Name: DrawCircleSector Return type: void Description: Draw a piece of a circle @@ -2134,7 +2142,7 @@ Function 212: DrawCircleSector() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 213: DrawCircleSectorLines() (6 input parameters) +Function 214: DrawCircleSectorLines() (6 input parameters) Name: DrawCircleSectorLines Return type: void Description: Draw circle sector outline @@ -2144,7 +2152,7 @@ Function 213: DrawCircleSectorLines() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 214: DrawCircleGradient() (5 input parameters) +Function 215: DrawCircleGradient() (5 input parameters) Name: DrawCircleGradient Return type: void Description: Draw a gradient-filled circle @@ -2153,14 +2161,14 @@ Function 214: DrawCircleGradient() (5 input parameters) Param[3]: radius (type: float) Param[4]: color1 (type: Color) Param[5]: color2 (type: Color) -Function 215: DrawCircleV() (3 input parameters) +Function 216: DrawCircleV() (3 input parameters) Name: DrawCircleV Return type: void Description: Draw a color-filled circle (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 216: DrawCircleLines() (4 input parameters) +Function 217: DrawCircleLines() (4 input parameters) Name: DrawCircleLines Return type: void Description: Draw circle outline @@ -2168,14 +2176,14 @@ Function 216: DrawCircleLines() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 217: DrawCircleLinesV() (3 input parameters) +Function 218: DrawCircleLinesV() (3 input parameters) Name: DrawCircleLinesV Return type: void Description: Draw circle outline (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 218: DrawEllipse() (5 input parameters) +Function 219: DrawEllipse() (5 input parameters) Name: DrawEllipse Return type: void Description: Draw ellipse @@ -2184,7 +2192,7 @@ Function 218: DrawEllipse() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 219: DrawEllipseLines() (5 input parameters) +Function 220: DrawEllipseLines() (5 input parameters) Name: DrawEllipseLines Return type: void Description: Draw ellipse outline @@ -2193,7 +2201,7 @@ Function 219: DrawEllipseLines() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 220: DrawRing() (7 input parameters) +Function 221: DrawRing() (7 input parameters) Name: DrawRing Return type: void Description: Draw ring @@ -2204,7 +2212,7 @@ Function 220: DrawRing() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 221: DrawRingLines() (7 input parameters) +Function 222: DrawRingLines() (7 input parameters) Name: DrawRingLines Return type: void Description: Draw ring outline @@ -2215,7 +2223,7 @@ Function 221: DrawRingLines() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 222: DrawRectangle() (5 input parameters) +Function 223: DrawRectangle() (5 input parameters) Name: DrawRectangle Return type: void Description: Draw a color-filled rectangle @@ -2224,20 +2232,20 @@ Function 222: DrawRectangle() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 223: DrawRectangleV() (3 input parameters) +Function 224: DrawRectangleV() (3 input parameters) Name: DrawRectangleV Return type: void Description: Draw a color-filled rectangle (Vector version) Param[1]: position (type: Vector2) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 224: DrawRectangleRec() (2 input parameters) +Function 225: DrawRectangleRec() (2 input parameters) Name: DrawRectangleRec Return type: void Description: Draw a color-filled rectangle Param[1]: rec (type: Rectangle) Param[2]: color (type: Color) -Function 225: DrawRectanglePro() (4 input parameters) +Function 226: DrawRectanglePro() (4 input parameters) Name: DrawRectanglePro Return type: void Description: Draw a color-filled rectangle with pro parameters @@ -2245,7 +2253,7 @@ Function 225: DrawRectanglePro() (4 input parameters) Param[2]: origin (type: Vector2) Param[3]: rotation (type: float) Param[4]: color (type: Color) -Function 226: DrawRectangleGradientV() (6 input parameters) +Function 227: DrawRectangleGradientV() (6 input parameters) Name: DrawRectangleGradientV Return type: void Description: Draw a vertical-gradient-filled rectangle @@ -2255,7 +2263,7 @@ Function 226: DrawRectangleGradientV() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 227: DrawRectangleGradientH() (6 input parameters) +Function 228: DrawRectangleGradientH() (6 input parameters) Name: DrawRectangleGradientH Return type: void Description: Draw a horizontal-gradient-filled rectangle @@ -2265,7 +2273,7 @@ Function 227: DrawRectangleGradientH() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 228: DrawRectangleGradientEx() (5 input parameters) +Function 229: DrawRectangleGradientEx() (5 input parameters) Name: DrawRectangleGradientEx Return type: void Description: Draw a gradient-filled rectangle with custom vertex colors @@ -2274,7 +2282,7 @@ Function 228: DrawRectangleGradientEx() (5 input parameters) Param[3]: col2 (type: Color) Param[4]: col3 (type: Color) Param[5]: col4 (type: Color) -Function 229: DrawRectangleLines() (5 input parameters) +Function 230: DrawRectangleLines() (5 input parameters) Name: DrawRectangleLines Return type: void Description: Draw rectangle outline @@ -2283,14 +2291,14 @@ Function 229: DrawRectangleLines() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 230: DrawRectangleLinesEx() (3 input parameters) +Function 231: DrawRectangleLinesEx() (3 input parameters) Name: DrawRectangleLinesEx Return type: void Description: Draw rectangle outline with extended parameters Param[1]: rec (type: Rectangle) Param[2]: lineThick (type: float) Param[3]: color (type: Color) -Function 231: DrawRectangleRounded() (4 input parameters) +Function 232: DrawRectangleRounded() (4 input parameters) Name: DrawRectangleRounded Return type: void Description: Draw rectangle with rounded edges @@ -2298,7 +2306,7 @@ Function 231: DrawRectangleRounded() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 232: DrawRectangleRoundedLines() (5 input parameters) +Function 233: DrawRectangleRoundedLines() (5 input parameters) Name: DrawRectangleRoundedLines Return type: void Description: Draw rectangle with rounded edges outline @@ -2307,7 +2315,7 @@ Function 232: DrawRectangleRoundedLines() (5 input parameters) Param[3]: segments (type: int) Param[4]: lineThick (type: float) Param[5]: color (type: Color) -Function 233: DrawTriangle() (4 input parameters) +Function 234: DrawTriangle() (4 input parameters) Name: DrawTriangle Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -2315,7 +2323,7 @@ Function 233: DrawTriangle() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 234: DrawTriangleLines() (4 input parameters) +Function 235: DrawTriangleLines() (4 input parameters) Name: DrawTriangleLines Return type: void Description: Draw triangle outline (vertex in counter-clockwise order!) @@ -2323,21 +2331,21 @@ Function 234: DrawTriangleLines() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 235: DrawTriangleFan() (3 input parameters) +Function 236: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 236: DrawTriangleStrip() (3 input parameters) +Function 237: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 237: DrawPoly() (5 input parameters) +Function 238: DrawPoly() (5 input parameters) Name: DrawPoly Return type: void Description: Draw a regular polygon (Vector version) @@ -2346,7 +2354,7 @@ Function 237: DrawPoly() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 238: DrawPolyLines() (5 input parameters) +Function 239: DrawPolyLines() (5 input parameters) Name: DrawPolyLines Return type: void Description: Draw a polygon outline of n sides @@ -2355,7 +2363,7 @@ Function 238: DrawPolyLines() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 239: DrawPolyLinesEx() (6 input parameters) +Function 240: DrawPolyLinesEx() (6 input parameters) Name: DrawPolyLinesEx Return type: void Description: Draw a polygon outline of n sides with extended parameters @@ -2365,7 +2373,7 @@ Function 239: DrawPolyLinesEx() (6 input parameters) Param[4]: rotation (type: float) Param[5]: lineThick (type: float) Param[6]: color (type: Color) -Function 240: DrawSplineLinear() (4 input parameters) +Function 241: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points @@ -2373,7 +2381,7 @@ Function 240: DrawSplineLinear() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 241: DrawSplineBasis() (4 input parameters) +Function 242: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points @@ -2381,7 +2389,7 @@ Function 241: DrawSplineBasis() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 242: DrawSplineCatmullRom() (4 input parameters) +Function 243: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points @@ -2389,7 +2397,7 @@ Function 242: DrawSplineCatmullRom() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 243: DrawSplineBezierQuadratic() (4 input parameters) +Function 244: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] @@ -2397,7 +2405,7 @@ Function 243: DrawSplineBezierQuadratic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 244: DrawSplineBezierCubic() (4 input parameters) +Function 245: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] @@ -2405,7 +2413,7 @@ Function 244: DrawSplineBezierCubic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 245: DrawSplineSegmentLinear() (4 input parameters) +Function 246: DrawSplineSegmentLinear() (4 input parameters) Name: DrawSplineSegmentLinear Return type: void Description: Draw spline segment: Linear, 2 points @@ -2413,7 +2421,7 @@ Function 245: DrawSplineSegmentLinear() (4 input parameters) Param[2]: p2 (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 246: DrawSplineSegmentBasis() (6 input parameters) +Function 247: DrawSplineSegmentBasis() (6 input parameters) Name: DrawSplineSegmentBasis Return type: void Description: Draw spline segment: B-Spline, 4 points @@ -2423,7 +2431,7 @@ Function 246: DrawSplineSegmentBasis() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 247: DrawSplineSegmentCatmullRom() (6 input parameters) +Function 248: DrawSplineSegmentCatmullRom() (6 input parameters) Name: DrawSplineSegmentCatmullRom Return type: void Description: Draw spline segment: Catmull-Rom, 4 points @@ -2433,7 +2441,7 @@ Function 247: DrawSplineSegmentCatmullRom() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 248: DrawSplineSegmentBezierQuadratic() (5 input parameters) +Function 249: DrawSplineSegmentBezierQuadratic() (5 input parameters) Name: DrawSplineSegmentBezierQuadratic Return type: void Description: Draw spline segment: Quadratic Bezier, 2 points, 1 control point @@ -2442,7 +2450,7 @@ Function 248: DrawSplineSegmentBezierQuadratic() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: thick (type: float) Param[5]: color (type: Color) -Function 249: DrawSplineSegmentBezierCubic() (6 input parameters) +Function 250: DrawSplineSegmentBezierCubic() (6 input parameters) Name: DrawSplineSegmentBezierCubic Return type: void Description: Draw spline segment: Cubic Bezier, 2 points, 2 control points @@ -2452,14 +2460,14 @@ Function 249: DrawSplineSegmentBezierCubic() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 250: GetSplinePointLinear() (3 input parameters) +Function 251: GetSplinePointLinear() (3 input parameters) Name: GetSplinePointLinear Return type: Vector2 Description: Get (evaluate) spline point: Linear Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: t (type: float) -Function 251: GetSplinePointBasis() (5 input parameters) +Function 252: GetSplinePointBasis() (5 input parameters) Name: GetSplinePointBasis Return type: Vector2 Description: Get (evaluate) spline point: B-Spline @@ -2468,7 +2476,7 @@ Function 251: GetSplinePointBasis() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 252: GetSplinePointCatmullRom() (5 input parameters) +Function 253: GetSplinePointCatmullRom() (5 input parameters) Name: GetSplinePointCatmullRom Return type: Vector2 Description: Get (evaluate) spline point: Catmull-Rom @@ -2477,7 +2485,7 @@ Function 252: GetSplinePointCatmullRom() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 253: GetSplinePointBezierQuad() (4 input parameters) +Function 254: GetSplinePointBezierQuad() (4 input parameters) Name: GetSplinePointBezierQuad Return type: Vector2 Description: Get (evaluate) spline point: Quadratic Bezier @@ -2485,7 +2493,7 @@ Function 253: GetSplinePointBezierQuad() (4 input parameters) Param[2]: c2 (type: Vector2) Param[3]: p3 (type: Vector2) Param[4]: t (type: float) -Function 254: GetSplinePointBezierCubic() (5 input parameters) +Function 255: GetSplinePointBezierCubic() (5 input parameters) Name: GetSplinePointBezierCubic Return type: Vector2 Description: Get (evaluate) spline point: Cubic Bezier @@ -2494,13 +2502,13 @@ Function 254: GetSplinePointBezierCubic() (5 input parameters) Param[3]: c3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 255: CheckCollisionRecs() (2 input parameters) +Function 256: CheckCollisionRecs() (2 input parameters) Name: CheckCollisionRecs Return type: bool Description: Check collision between two rectangles Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 256: CheckCollisionCircles() (4 input parameters) +Function 257: CheckCollisionCircles() (4 input parameters) Name: CheckCollisionCircles Return type: bool Description: Check collision between two circles @@ -2508,27 +2516,27 @@ Function 256: CheckCollisionCircles() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector2) Param[4]: radius2 (type: float) -Function 257: CheckCollisionCircleRec() (3 input parameters) +Function 258: CheckCollisionCircleRec() (3 input parameters) Name: CheckCollisionCircleRec Return type: bool Description: Check collision between circle and rectangle Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: rec (type: Rectangle) -Function 258: CheckCollisionPointRec() (2 input parameters) +Function 259: CheckCollisionPointRec() (2 input parameters) Name: CheckCollisionPointRec Return type: bool Description: Check if point is inside rectangle Param[1]: point (type: Vector2) Param[2]: rec (type: Rectangle) -Function 259: CheckCollisionPointCircle() (3 input parameters) +Function 260: CheckCollisionPointCircle() (3 input parameters) Name: CheckCollisionPointCircle Return type: bool Description: Check if point is inside circle Param[1]: point (type: Vector2) Param[2]: center (type: Vector2) Param[3]: radius (type: float) -Function 260: CheckCollisionPointTriangle() (4 input parameters) +Function 261: CheckCollisionPointTriangle() (4 input parameters) Name: CheckCollisionPointTriangle Return type: bool Description: Check if point is inside a triangle @@ -2536,14 +2544,14 @@ Function 260: CheckCollisionPointTriangle() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: p3 (type: Vector2) -Function 261: CheckCollisionPointPoly() (3 input parameters) +Function 262: CheckCollisionPointPoly() (3 input parameters) Name: CheckCollisionPointPoly Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) -Function 262: CheckCollisionLines() (5 input parameters) +Function 263: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines Return type: bool Description: Check the collision between two lines defined by two points each, returns collision point by reference @@ -2552,7 +2560,7 @@ Function 262: CheckCollisionLines() (5 input parameters) Param[3]: startPos2 (type: Vector2) Param[4]: endPos2 (type: Vector2) Param[5]: collisionPoint (type: Vector2 *) -Function 263: CheckCollisionPointLine() (4 input parameters) +Function 264: CheckCollisionPointLine() (4 input parameters) Name: CheckCollisionPointLine Return type: bool Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] @@ -2560,18 +2568,18 @@ Function 263: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 264: GetCollisionRec() (2 input parameters) +Function 265: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 265: LoadImage() (1 input parameters) +Function 266: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 266: LoadImageRaw() (5 input parameters) +Function 267: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2580,20 +2588,20 @@ Function 266: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 267: LoadImageSvg() (3 input parameters) +Function 268: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 268: LoadImageAnim() (2 input parameters) +Function 269: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 269: LoadImageAnimFromMemory() (4 input parameters) +Function 270: LoadImageAnimFromMemory() (4 input parameters) Name: LoadImageAnimFromMemory Return type: Image Description: Load image sequence from memory buffer @@ -2601,60 +2609,60 @@ Function 269: LoadImageAnimFromMemory() (4 input parameters) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) Param[4]: frames (type: int *) -Function 270: LoadImageFromMemory() (3 input parameters) +Function 271: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 271: LoadImageFromTexture() (1 input parameters) +Function 272: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 272: LoadImageFromScreen() (0 input parameters) +Function 273: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 273: IsImageReady() (1 input parameters) +Function 274: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 274: UnloadImage() (1 input parameters) +Function 275: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 275: ExportImage() (2 input parameters) +Function 276: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 276: ExportImageToMemory() (3 input parameters) +Function 277: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 277: ExportImageAsCode() (2 input parameters) +Function 278: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 278: GenImageColor() (3 input parameters) +Function 279: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 279: GenImageGradientLinear() (5 input parameters) +Function 280: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2663,7 +2671,7 @@ Function 279: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 280: GenImageGradientRadial() (5 input parameters) +Function 281: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2672,7 +2680,7 @@ Function 280: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 281: GenImageGradientSquare() (5 input parameters) +Function 282: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2681,7 +2689,7 @@ Function 281: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 282: GenImageChecked() (6 input parameters) +Function 283: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2691,14 +2699,14 @@ Function 282: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 283: GenImageWhiteNoise() (3 input parameters) +Function 284: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 284: GenImagePerlinNoise() (5 input parameters) +Function 285: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2707,39 +2715,39 @@ Function 284: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 285: GenImageCellular() (3 input parameters) +Function 286: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 286: GenImageText() (3 input parameters) +Function 287: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 287: ImageCopy() (1 input parameters) +Function 288: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 288: ImageFromImage() (2 input parameters) +Function 289: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 289: ImageText() (3 input parameters) +Function 290: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 290: ImageTextEx() (5 input parameters) +Function 291: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2748,76 +2756,76 @@ Function 290: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 291: ImageFormat() (2 input parameters) +Function 292: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 292: ImageToPOT() (2 input parameters) +Function 293: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 293: ImageCrop() (2 input parameters) +Function 294: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 294: ImageAlphaCrop() (2 input parameters) +Function 295: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 295: ImageAlphaClear() (3 input parameters) +Function 296: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 296: ImageAlphaMask() (2 input parameters) +Function 297: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 297: ImageAlphaPremultiply() (1 input parameters) +Function 298: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 298: ImageBlurGaussian() (2 input parameters) +Function 299: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 299: ImageKernelConvolution() (3 input parameters) +Function 300: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 300: ImageResize() (3 input parameters) +Function 301: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 301: ImageResizeNN() (3 input parameters) +Function 302: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 302: ImageResizeCanvas() (6 input parameters) +Function 303: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2827,12 +2835,12 @@ Function 302: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 303: ImageMipmaps() (1 input parameters) +Function 304: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 304: ImageDither() (5 input parameters) +Function 305: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2841,109 +2849,109 @@ Function 304: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 305: ImageFlipVertical() (1 input parameters) +Function 306: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 306: ImageFlipHorizontal() (1 input parameters) +Function 307: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 307: ImageRotate() (2 input parameters) +Function 308: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 308: ImageRotateCW() (1 input parameters) +Function 309: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 309: ImageRotateCCW() (1 input parameters) +Function 310: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 310: ImageColorTint() (2 input parameters) +Function 311: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 311: ImageColorInvert() (1 input parameters) +Function 312: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 312: ImageColorGrayscale() (1 input parameters) +Function 313: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 313: ImageColorContrast() (2 input parameters) +Function 314: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 314: ImageColorBrightness() (2 input parameters) +Function 315: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 315: ImageColorReplace() (3 input parameters) +Function 316: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 316: LoadImageColors() (1 input parameters) +Function 317: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 317: LoadImagePalette() (3 input parameters) +Function 318: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 318: UnloadImageColors() (1 input parameters) +Function 319: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 319: UnloadImagePalette() (1 input parameters) +Function 320: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 320: GetImageAlphaBorder() (2 input parameters) +Function 321: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 321: GetImageColor() (3 input parameters) +Function 322: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 322: ImageClearBackground() (2 input parameters) +Function 323: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 323: ImageDrawPixel() (4 input parameters) +Function 324: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2951,14 +2959,14 @@ Function 323: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 324: ImageDrawPixelV() (3 input parameters) +Function 325: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 325: ImageDrawLine() (6 input parameters) +Function 326: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -2968,7 +2976,7 @@ Function 325: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 326: ImageDrawLineV() (4 input parameters) +Function 327: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -2976,7 +2984,7 @@ Function 326: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 327: ImageDrawCircle() (5 input parameters) +Function 328: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -2985,7 +2993,7 @@ Function 327: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 328: ImageDrawCircleV() (4 input parameters) +Function 329: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -2993,7 +3001,7 @@ Function 328: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 329: ImageDrawCircleLines() (5 input parameters) +Function 330: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3002,7 +3010,7 @@ Function 329: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 330: ImageDrawCircleLinesV() (4 input parameters) +Function 331: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3010,7 +3018,7 @@ Function 330: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 331: ImageDrawRectangle() (6 input parameters) +Function 332: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3020,7 +3028,7 @@ Function 331: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 332: ImageDrawRectangleV() (4 input parameters) +Function 333: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3028,14 +3036,14 @@ Function 332: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 333: ImageDrawRectangleRec() (3 input parameters) +Function 334: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 334: ImageDrawRectangleLines() (4 input parameters) +Function 335: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3043,7 +3051,7 @@ Function 334: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 335: ImageDraw() (5 input parameters) +Function 336: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3052,7 +3060,7 @@ Function 335: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 336: ImageDrawText() (6 input parameters) +Function 337: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3062,7 +3070,7 @@ Function 336: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 337: ImageDrawTextEx() (7 input parameters) +Function 338: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3073,79 +3081,79 @@ Function 337: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 338: LoadTexture() (1 input parameters) +Function 339: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 339: LoadTextureFromImage() (1 input parameters) +Function 340: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 340: LoadTextureCubemap() (2 input parameters) +Function 341: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 341: LoadRenderTexture() (2 input parameters) +Function 342: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 342: IsTextureReady() (1 input parameters) +Function 343: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 343: UnloadTexture() (1 input parameters) +Function 344: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 344: IsRenderTextureReady() (1 input parameters) +Function 345: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 345: UnloadRenderTexture() (1 input parameters) +Function 346: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 346: UpdateTexture() (2 input parameters) +Function 347: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 347: UpdateTextureRec() (3 input parameters) +Function 348: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 348: GenTextureMipmaps() (1 input parameters) +Function 349: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 349: SetTextureFilter() (2 input parameters) +Function 350: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 350: SetTextureWrap() (2 input parameters) +Function 351: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 351: DrawTexture() (4 input parameters) +Function 352: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3153,14 +3161,14 @@ Function 351: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 352: DrawTextureV() (3 input parameters) +Function 353: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 353: DrawTextureEx() (5 input parameters) +Function 354: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3169,7 +3177,7 @@ Function 353: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 354: DrawTextureRec() (4 input parameters) +Function 355: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3177,7 +3185,7 @@ Function 354: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 355: DrawTexturePro() (6 input parameters) +Function 356: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3187,7 +3195,7 @@ Function 355: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 356: DrawTextureNPatch() (6 input parameters) +Function 357: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3197,106 +3205,106 @@ Function 356: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 357: Fade() (2 input parameters) +Function 358: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 358: ColorToInt() (1 input parameters) +Function 359: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color Param[1]: color (type: Color) -Function 359: ColorNormalize() (1 input parameters) +Function 360: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 360: ColorFromNormalized() (1 input parameters) +Function 361: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 361: ColorToHSV() (1 input parameters) +Function 362: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 362: ColorFromHSV() (3 input parameters) +Function 363: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 363: ColorTint() (2 input parameters) +Function 364: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 364: ColorBrightness() (2 input parameters) +Function 365: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 365: ColorContrast() (2 input parameters) +Function 366: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 366: ColorAlpha() (2 input parameters) +Function 367: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 367: ColorAlphaBlend() (3 input parameters) +Function 368: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 368: GetColor() (1 input parameters) +Function 369: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 369: GetPixelColor() (2 input parameters) +Function 370: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 370: SetPixelColor() (3 input parameters) +Function 371: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 371: GetPixelDataSize() (3 input parameters) +Function 372: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 372: GetFontDefault() (0 input parameters) +Function 373: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 373: LoadFont() (1 input parameters) +Function 374: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 374: LoadFontEx() (4 input parameters) +Function 375: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3304,14 +3312,14 @@ Function 374: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 375: LoadFontFromImage() (3 input parameters) +Function 376: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 376: LoadFontFromMemory() (6 input parameters) +Function 377: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3321,12 +3329,12 @@ Function 376: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 377: IsFontReady() (1 input parameters) +Function 378: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 378: LoadFontData() (6 input parameters) +Function 379: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3336,7 +3344,7 @@ Function 378: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 379: GenImageFontAtlas() (6 input parameters) +Function 380: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3346,30 +3354,30 @@ Function 379: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 380: UnloadFontData() (2 input parameters) +Function 381: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 381: UnloadFont() (1 input parameters) +Function 382: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 382: ExportFontAsCode() (2 input parameters) +Function 383: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 383: DrawFPS() (2 input parameters) +Function 384: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 384: DrawText() (5 input parameters) +Function 385: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3378,7 +3386,7 @@ Function 384: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 385: DrawTextEx() (6 input parameters) +Function 386: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3388,7 +3396,7 @@ Function 385: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 386: DrawTextPro() (8 input parameters) +Function 387: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3400,7 +3408,7 @@ Function 386: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 387: DrawTextCodepoint() (5 input parameters) +Function 388: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3409,7 +3417,7 @@ Function 387: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 388: DrawTextCodepoints() (7 input parameters) +Function 389: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3420,18 +3428,18 @@ Function 388: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 389: SetTextLineSpacing() (1 input parameters) +Function 390: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 390: MeasureText() (2 input parameters) +Function 391: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 391: MeasureTextEx() (4 input parameters) +Function 392: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3439,185 +3447,185 @@ Function 391: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 392: GetGlyphIndex() (2 input parameters) +Function 393: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 393: GetGlyphInfo() (2 input parameters) +Function 394: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 394: GetGlyphAtlasRec() (2 input parameters) +Function 395: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 395: LoadUTF8() (2 input parameters) +Function 396: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 396: UnloadUTF8() (1 input parameters) +Function 397: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 397: LoadCodepoints() (2 input parameters) +Function 398: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 398: UnloadCodepoints() (1 input parameters) +Function 399: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 399: GetCodepointCount() (1 input parameters) +Function 400: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 400: GetCodepoint() (2 input parameters) +Function 401: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 401: GetCodepointNext() (2 input parameters) +Function 402: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 402: GetCodepointPrevious() (2 input parameters) +Function 403: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 403: CodepointToUTF8() (2 input parameters) +Function 404: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 404: TextCopy() (2 input parameters) +Function 405: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 405: TextIsEqual() (2 input parameters) +Function 406: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 406: TextLength() (1 input parameters) +Function 407: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 407: TextFormat() (2 input parameters) +Function 408: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 408: TextSubtext() (3 input parameters) +Function 409: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 409: TextReplace() (3 input parameters) +Function 410: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 410: TextInsert() (3 input parameters) +Function 411: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 411: TextJoin() (3 input parameters) +Function 412: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 412: TextSplit() (3 input parameters) +Function 413: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 413: TextAppend() (3 input parameters) +Function 414: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 414: TextFindIndex() (2 input parameters) +Function 415: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 415: TextToUpper() (1 input parameters) +Function 416: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 416: TextToLower() (1 input parameters) +Function 417: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 417: TextToPascal() (1 input parameters) +Function 418: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 418: TextToInteger() (1 input parameters) +Function 419: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 419: TextToFloat() (1 input parameters) +Function 420: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 420: DrawLine3D() (3 input parameters) +Function 421: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 421: DrawPoint3D() (2 input parameters) +Function 422: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 422: DrawCircle3D() (5 input parameters) +Function 423: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3626,7 +3634,7 @@ Function 422: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 423: DrawTriangle3D() (4 input parameters) +Function 424: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3634,14 +3642,14 @@ Function 423: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 424: DrawTriangleStrip3D() (3 input parameters) +Function 425: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 425: DrawCube() (5 input parameters) +Function 426: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3650,14 +3658,14 @@ Function 425: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 426: DrawCubeV() (3 input parameters) +Function 427: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 427: DrawCubeWires() (5 input parameters) +Function 428: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3666,21 +3674,21 @@ Function 427: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 428: DrawCubeWiresV() (3 input parameters) +Function 429: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 429: DrawSphere() (3 input parameters) +Function 430: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 430: DrawSphereEx() (5 input parameters) +Function 431: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3689,7 +3697,7 @@ Function 430: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 431: DrawSphereWires() (5 input parameters) +Function 432: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3698,7 +3706,7 @@ Function 431: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 432: DrawCylinder() (6 input parameters) +Function 433: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3708,7 +3716,7 @@ Function 432: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 433: DrawCylinderEx() (6 input parameters) +Function 434: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3718,7 +3726,7 @@ Function 433: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 434: DrawCylinderWires() (6 input parameters) +Function 435: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3728,7 +3736,7 @@ Function 434: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 435: DrawCylinderWiresEx() (6 input parameters) +Function 436: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3738,7 +3746,7 @@ Function 435: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 436: DrawCapsule() (6 input parameters) +Function 437: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3748,7 +3756,7 @@ Function 436: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 437: DrawCapsuleWires() (6 input parameters) +Function 438: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3758,51 +3766,51 @@ Function 437: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 438: DrawPlane() (3 input parameters) +Function 439: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 439: DrawRay() (2 input parameters) +Function 440: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 440: DrawGrid() (2 input parameters) +Function 441: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 441: LoadModel() (1 input parameters) +Function 442: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 442: LoadModelFromMesh() (1 input parameters) +Function 443: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 443: IsModelReady() (1 input parameters) +Function 444: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 444: UnloadModel() (1 input parameters) +Function 445: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 445: GetModelBoundingBox() (1 input parameters) +Function 446: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 446: DrawModel() (4 input parameters) +Function 447: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3810,7 +3818,7 @@ Function 446: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 447: DrawModelEx() (6 input parameters) +Function 448: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3820,7 +3828,7 @@ Function 447: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 448: DrawModelWires() (4 input parameters) +Function 449: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3828,7 +3836,7 @@ Function 448: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 449: DrawModelWiresEx() (6 input parameters) +Function 450: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3838,13 +3846,13 @@ Function 449: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 450: DrawBoundingBox() (2 input parameters) +Function 451: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 451: DrawBillboard() (5 input parameters) +Function 452: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3853,7 +3861,7 @@ Function 451: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 452: DrawBillboardRec() (6 input parameters) +Function 453: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3863,7 +3871,7 @@ Function 452: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 453: DrawBillboardPro() (9 input parameters) +Function 454: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3876,13 +3884,13 @@ Function 453: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 454: UploadMesh() (2 input parameters) +Function 455: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 455: UpdateMeshBuffer() (5 input parameters) +Function 456: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3891,19 +3899,19 @@ Function 455: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 456: UnloadMesh() (1 input parameters) +Function 457: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 457: DrawMesh() (3 input parameters) +Function 458: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 458: DrawMeshInstanced() (4 input parameters) +Function 459: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3911,35 +3919,35 @@ Function 458: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 459: GetMeshBoundingBox() (1 input parameters) +Function 460: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 460: GenMeshTangents() (1 input parameters) +Function 461: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 461: ExportMesh() (2 input parameters) +Function 462: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 462: ExportMeshAsCode() (2 input parameters) +Function 463: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 463: GenMeshPoly() (2 input parameters) +Function 464: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 464: GenMeshPlane() (4 input parameters) +Function 465: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3947,42 +3955,42 @@ Function 464: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 465: GenMeshCube() (3 input parameters) +Function 466: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 466: GenMeshSphere() (3 input parameters) +Function 467: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 467: GenMeshHemiSphere() (3 input parameters) +Function 468: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 468: GenMeshCylinder() (3 input parameters) +Function 469: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 469: GenMeshCone() (3 input parameters) +Function 470: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 470: GenMeshTorus() (4 input parameters) +Function 471: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -3990,7 +3998,7 @@ Function 470: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 471: GenMeshKnot() (4 input parameters) +Function 472: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -3998,84 +4006,84 @@ Function 471: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 472: GenMeshHeightmap() (2 input parameters) +Function 473: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 473: GenMeshCubicmap() (2 input parameters) +Function 474: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 474: LoadMaterials() (2 input parameters) +Function 475: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 475: LoadMaterialDefault() (0 input parameters) +Function 476: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 476: IsMaterialReady() (1 input parameters) +Function 477: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 477: UnloadMaterial() (1 input parameters) +Function 478: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 478: SetMaterialTexture() (3 input parameters) +Function 479: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 479: SetModelMeshMaterial() (3 input parameters) +Function 480: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 480: LoadModelAnimations() (2 input parameters) +Function 481: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 481: UpdateModelAnimation() (3 input parameters) +Function 482: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 482: UnloadModelAnimation() (1 input parameters) +Function 483: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 483: UnloadModelAnimations() (2 input parameters) +Function 484: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 484: IsModelAnimationValid() (2 input parameters) +Function 485: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 485: CheckCollisionSpheres() (4 input parameters) +Function 486: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4083,40 +4091,40 @@ Function 485: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 486: CheckCollisionBoxes() (2 input parameters) +Function 487: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 487: CheckCollisionBoxSphere() (3 input parameters) +Function 488: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 488: GetRayCollisionSphere() (3 input parameters) +Function 489: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 489: GetRayCollisionBox() (2 input parameters) +Function 490: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 490: GetRayCollisionMesh() (3 input parameters) +Function 491: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 491: GetRayCollisionTriangle() (4 input parameters) +Function 492: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4124,7 +4132,7 @@ Function 491: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 492: GetRayCollisionQuad() (5 input parameters) +Function 493: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4133,158 +4141,158 @@ Function 492: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 493: InitAudioDevice() (0 input parameters) +Function 494: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 494: CloseAudioDevice() (0 input parameters) +Function 495: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 495: IsAudioDeviceReady() (0 input parameters) +Function 496: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 496: SetMasterVolume() (1 input parameters) +Function 497: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 497: GetMasterVolume() (0 input parameters) +Function 498: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 498: LoadWave() (1 input parameters) +Function 499: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 499: LoadWaveFromMemory() (3 input parameters) +Function 500: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 500: IsWaveReady() (1 input parameters) +Function 501: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 501: LoadSound() (1 input parameters) +Function 502: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 502: LoadSoundFromWave() (1 input parameters) +Function 503: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 503: LoadSoundAlias() (1 input parameters) +Function 504: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 504: IsSoundReady() (1 input parameters) +Function 505: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 505: UpdateSound() (3 input parameters) +Function 506: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 506: UnloadWave() (1 input parameters) +Function 507: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 507: UnloadSound() (1 input parameters) +Function 508: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 508: UnloadSoundAlias() (1 input parameters) +Function 509: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 509: ExportWave() (2 input parameters) +Function 510: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 510: ExportWaveAsCode() (2 input parameters) +Function 511: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 511: PlaySound() (1 input parameters) +Function 512: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 512: StopSound() (1 input parameters) +Function 513: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 513: PauseSound() (1 input parameters) +Function 514: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 514: ResumeSound() (1 input parameters) +Function 515: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 515: IsSoundPlaying() (1 input parameters) +Function 516: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 516: SetSoundVolume() (2 input parameters) +Function 517: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 517: SetSoundPitch() (2 input parameters) +Function 518: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 518: SetSoundPan() (2 input parameters) +Function 519: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 519: WaveCopy() (1 input parameters) +Function 520: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 520: WaveCrop() (3 input parameters) +Function 521: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined samples range Param[1]: wave (type: Wave *) Param[2]: initSample (type: int) Param[3]: finalSample (type: int) -Function 521: WaveFormat() (4 input parameters) +Function 522: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4292,203 +4300,203 @@ Function 521: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 522: LoadWaveSamples() (1 input parameters) +Function 523: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 523: UnloadWaveSamples() (1 input parameters) +Function 524: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 524: LoadMusicStream() (1 input parameters) +Function 525: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 525: LoadMusicStreamFromMemory() (3 input parameters) +Function 526: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 526: IsMusicReady() (1 input parameters) +Function 527: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 527: UnloadMusicStream() (1 input parameters) +Function 528: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 528: PlayMusicStream() (1 input parameters) +Function 529: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 529: IsMusicStreamPlaying() (1 input parameters) +Function 530: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 530: UpdateMusicStream() (1 input parameters) +Function 531: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 531: StopMusicStream() (1 input parameters) +Function 532: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 532: PauseMusicStream() (1 input parameters) +Function 533: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 533: ResumeMusicStream() (1 input parameters) +Function 534: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 534: SeekMusicStream() (2 input parameters) +Function 535: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 535: SetMusicVolume() (2 input parameters) +Function 536: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 536: SetMusicPitch() (2 input parameters) +Function 537: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 537: SetMusicPan() (2 input parameters) +Function 538: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 538: GetMusicTimeLength() (1 input parameters) +Function 539: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 539: GetMusicTimePlayed() (1 input parameters) +Function 540: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 540: LoadAudioStream() (3 input parameters) +Function 541: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 541: IsAudioStreamReady() (1 input parameters) +Function 542: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 542: UnloadAudioStream() (1 input parameters) +Function 543: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 543: UpdateAudioStream() (3 input parameters) +Function 544: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 544: IsAudioStreamProcessed() (1 input parameters) +Function 545: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 545: PlayAudioStream() (1 input parameters) +Function 546: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 546: PauseAudioStream() (1 input parameters) +Function 547: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 547: ResumeAudioStream() (1 input parameters) +Function 548: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 548: IsAudioStreamPlaying() (1 input parameters) +Function 549: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 549: StopAudioStream() (1 input parameters) +Function 550: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 550: SetAudioStreamVolume() (2 input parameters) +Function 551: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 551: SetAudioStreamPitch() (2 input parameters) +Function 552: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 552: SetAudioStreamPan() (2 input parameters) +Function 553: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 553: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 554: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 554: SetAudioStreamCallback() (2 input parameters) +Function 555: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 555: AttachAudioStreamProcessor() (2 input parameters) +Function 556: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as s Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 556: DetachAudioStreamProcessor() (2 input parameters) +Function 557: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 557: AttachAudioMixedProcessor() (1 input parameters) +Function 558: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as s Param[1]: processor (type: AudioCallback) -Function 558: DetachAudioMixedProcessor() (1 input parameters) +Function 559: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 2feb6e18b..4b82c275d 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -669,7 +669,7 @@ - + @@ -906,6 +906,12 @@ + + + + + + From c31559101a9fa565545a3ab5046e3a0554a891dc Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 11:52:49 +0100 Subject: [PATCH 115/745] REVIEWED: `rlLoadFramebuffer()`, parameters not required --- src/rlgl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 28d58d4e9..237799e56 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -718,7 +718,7 @@ RLAPI void *rlReadTexturePixels(unsigned int id, int width, int height, int form RLAPI unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer) // Framebuffer management (fbo) -RLAPI unsigned int rlLoadFramebuffer(int width, int height); // Load an empty framebuffer +RLAPI unsigned int rlLoadFramebuffer(void); // Load an empty framebuffer RLAPI void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel); // Attach texture/renderbuffer to a framebuffer RLAPI bool rlFramebufferComplete(unsigned int id); // Verify framebuffer is complete RLAPI void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU @@ -3456,7 +3456,7 @@ void *rlReadTexturePixels(unsigned int id, int width, int height, int format) // 2 - Create an fbo, activate it, render quad with texture, glReadPixels() // We are using Option 1, just need to care for texture format on retrieval // NOTE: This behaviour could be conditioned by graphic driver... - unsigned int fboId = rlLoadFramebuffer(width, height); + unsigned int fboId = rlLoadFramebuffer(); glBindFramebuffer(GL_FRAMEBUFFER, fboId); glBindTexture(GL_TEXTURE_2D, 0); @@ -3510,7 +3510,7 @@ unsigned char *rlReadScreenPixels(int width, int height) //----------------------------------------------------------------------------------------- // Load a framebuffer to be used for rendering // NOTE: No textures attached -unsigned int rlLoadFramebuffer(int width, int height) +unsigned int rlLoadFramebuffer(void) { unsigned int fboId = 0; From 80580746e52e9231f076c18b92a90e17895898c2 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 12:02:58 +0100 Subject: [PATCH 116/745] Reorder functions --- src/raylib.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index e2404a324..7cf4e6536 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1049,14 +1049,14 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) // Screen-space-related functions -RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position -RLAPI Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport -RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) -RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix -RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position -RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position +RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position +RLAPI Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport +RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position -RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position +RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position +RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position +RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) +RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix // Timing-related functions RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) From 31ce1374e49fd5f7932675b93d7a3f372954aaf2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 4 Feb 2024 11:03:25 +0000 Subject: [PATCH 117/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 74 +++++++++++++++++------------------ parser/output/raylib_api.lua | 50 +++++++++++------------ parser/output/raylib_api.txt | 38 +++++++++--------- parser/output/raylib_api.xml | 20 +++++----- 4 files changed, 91 insertions(+), 91 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index c48c1dd59..b0f82d3c4 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -3909,28 +3909,6 @@ } ] }, - { - "name": "GetCameraMatrix", - "description": "Get camera transform matrix (view matrix)", - "returnType": "Matrix", - "params": [ - { - "type": "Camera", - "name": "camera" - } - ] - }, - { - "name": "GetCameraMatrix2D", - "description": "Get camera 2d transform matrix", - "returnType": "Matrix", - "params": [ - { - "type": "Camera2D", - "name": "camera" - } - ] - }, { "name": "GetWorldToScreen", "description": "Get the screen space position for a 3d world space position", @@ -3946,21 +3924,6 @@ } ] }, - { - "name": "GetScreenToWorld2D", - "description": "Get the world space position for a 2d camera screen space position", - "returnType": "Vector2", - "params": [ - { - "type": "Vector2", - "name": "position" - }, - { - "type": "Camera2D", - "name": "camera" - } - ] - }, { "name": "GetWorldToScreenEx", "description": "Get size position for a 3d world space position", @@ -3999,6 +3962,43 @@ } ] }, + { + "name": "GetScreenToWorld2D", + "description": "Get the world space position for a 2d camera screen space position", + "returnType": "Vector2", + "params": [ + { + "type": "Vector2", + "name": "position" + }, + { + "type": "Camera2D", + "name": "camera" + } + ] + }, + { + "name": "GetCameraMatrix", + "description": "Get camera transform matrix (view matrix)", + "returnType": "Matrix", + "params": [ + { + "type": "Camera", + "name": "camera" + } + ] + }, + { + "name": "GetCameraMatrix2D", + "description": "Get camera 2d transform matrix", + "returnType": "Matrix", + "params": [ + { + "type": "Camera2D", + "name": "camera" + } + ] + }, { "name": "SetTargetFPS", "description": "Set target FPS (maximum)", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 882fb61f5..c547fea22 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -3654,22 +3654,6 @@ return { {type = "float", name = "height"} } }, - { - name = "GetCameraMatrix", - description = "Get camera transform matrix (view matrix)", - returnType = "Matrix", - params = { - {type = "Camera", name = "camera"} - } - }, - { - name = "GetCameraMatrix2D", - description = "Get camera 2d transform matrix", - returnType = "Matrix", - params = { - {type = "Camera2D", name = "camera"} - } - }, { name = "GetWorldToScreen", description = "Get the screen space position for a 3d world space position", @@ -3679,15 +3663,6 @@ return { {type = "Camera", name = "camera"} } }, - { - name = "GetScreenToWorld2D", - description = "Get the world space position for a 2d camera screen space position", - returnType = "Vector2", - params = { - {type = "Vector2", name = "position"}, - {type = "Camera2D", name = "camera"} - } - }, { name = "GetWorldToScreenEx", description = "Get size position for a 3d world space position", @@ -3708,6 +3683,31 @@ return { {type = "Camera2D", name = "camera"} } }, + { + name = "GetScreenToWorld2D", + description = "Get the world space position for a 2d camera screen space position", + returnType = "Vector2", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera2D", name = "camera"} + } + }, + { + name = "GetCameraMatrix", + description = "Get camera transform matrix (view matrix)", + returnType = "Matrix", + params = { + {type = "Camera", name = "camera"} + } + }, + { + name = "GetCameraMatrix2D", + description = "Get camera 2d transform matrix", + returnType = "Matrix", + params = { + {type = "Camera2D", name = "camera"} + } + }, { name = "SetTargetFPS", description = "Set target FPS (maximum)", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index ee1e55af9..4e1c03af1 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -1435,29 +1435,13 @@ Function 085: GetViewRay() (4 input parameters) Param[2]: camera (type: Camera) Param[3]: width (type: float) Param[4]: height (type: float) -Function 086: GetCameraMatrix() (1 input parameters) - Name: GetCameraMatrix - Return type: Matrix - Description: Get camera transform matrix (view matrix) - Param[1]: camera (type: Camera) -Function 087: GetCameraMatrix2D() (1 input parameters) - Name: GetCameraMatrix2D - Return type: Matrix - Description: Get camera 2d transform matrix - Param[1]: camera (type: Camera2D) -Function 088: GetWorldToScreen() (2 input parameters) +Function 086: GetWorldToScreen() (2 input parameters) Name: GetWorldToScreen Return type: Vector2 Description: Get the screen space position for a 3d world space position Param[1]: position (type: Vector3) Param[2]: camera (type: Camera) -Function 089: GetScreenToWorld2D() (2 input parameters) - Name: GetScreenToWorld2D - Return type: Vector2 - Description: Get the world space position for a 2d camera screen space position - Param[1]: position (type: Vector2) - Param[2]: camera (type: Camera2D) -Function 090: GetWorldToScreenEx() (4 input parameters) +Function 087: GetWorldToScreenEx() (4 input parameters) Name: GetWorldToScreenEx Return type: Vector2 Description: Get size position for a 3d world space position @@ -1465,12 +1449,28 @@ Function 090: GetWorldToScreenEx() (4 input parameters) Param[2]: camera (type: Camera) Param[3]: width (type: int) Param[4]: height (type: int) -Function 091: GetWorldToScreen2D() (2 input parameters) +Function 088: GetWorldToScreen2D() (2 input parameters) Name: GetWorldToScreen2D Return type: Vector2 Description: Get the screen space position for a 2d camera world space position Param[1]: position (type: Vector2) Param[2]: camera (type: Camera2D) +Function 089: GetScreenToWorld2D() (2 input parameters) + Name: GetScreenToWorld2D + Return type: Vector2 + Description: Get the world space position for a 2d camera screen space position + Param[1]: position (type: Vector2) + Param[2]: camera (type: Camera2D) +Function 090: GetCameraMatrix() (1 input parameters) + Name: GetCameraMatrix + Return type: Matrix + Description: Get camera transform matrix (view matrix) + Param[1]: camera (type: Camera) +Function 091: GetCameraMatrix2D() (1 input parameters) + Name: GetCameraMatrix2D + Return type: Matrix + Description: Get camera 2d transform matrix + Param[1]: camera (type: Camera2D) Function 092: SetTargetFPS() (1 input parameters) Name: SetTargetFPS Return type: void diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 4b82c275d..e439dff74 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -912,20 +912,10 @@ - - - - - - - - - - @@ -936,6 +926,16 @@ + + + + + + + + + + From cd8da72feaca4df374ba4980b3d2fd4d164349c9 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 12:08:49 +0100 Subject: [PATCH 118/745] Update rtext.c (#3777) (#3779) From 615ee9d177e53415996be026bcbd2977f88a1cc0 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 12:13:56 +0100 Subject: [PATCH 119/745] REVIEWED: `rlLoadFramebuffer()` --- examples/models/models_skybox.c | 2 +- examples/shaders/shaders_deferred_render.c | 2 +- examples/shaders/shaders_hybrid_render.c | 2 +- examples/shaders/shaders_shadowmap.c | 2 +- examples/shaders/shaders_write_depth.c | 2 +- src/rtextures.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/models/models_skybox.c b/examples/models/models_skybox.c index 67d8de8c1..1b8aad9a9 100644 --- a/examples/models/models_skybox.c +++ b/examples/models/models_skybox.c @@ -194,7 +194,7 @@ static TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int s unsigned int rbo = rlLoadTextureDepth(size, size, true); cubemap.id = rlLoadTextureCubemap(0, size, format); - unsigned int fbo = rlLoadFramebuffer(size, size); + unsigned int fbo = rlLoadFramebuffer(); rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER, 0); rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X, 0); diff --git a/examples/shaders/shaders_deferred_render.c b/examples/shaders/shaders_deferred_render.c index b5e2e46d7..1c2db7b50 100644 --- a/examples/shaders/shaders_deferred_render.c +++ b/examples/shaders/shaders_deferred_render.c @@ -85,7 +85,7 @@ int main(void) // Initialize the G-buffer GBuffer gBuffer = { 0 }; - gBuffer.framebuffer = rlLoadFramebuffer(screenWidth, screenHeight); + gBuffer.framebuffer = rlLoadFramebuffer(); if (!gBuffer.framebuffer) { diff --git a/examples/shaders/shaders_hybrid_render.c b/examples/shaders/shaders_hybrid_render.c index 9579adf99..97c773f1d 100644 --- a/examples/shaders/shaders_hybrid_render.c +++ b/examples/shaders/shaders_hybrid_render.c @@ -158,7 +158,7 @@ RenderTexture2D LoadRenderTextureDepthTex(int width, int height) { RenderTexture2D target = { 0 }; - target.id = rlLoadFramebuffer(width, height); // Load an empty framebuffer + target.id = rlLoadFramebuffer(); // Load an empty framebuffer if (target.id > 0) { diff --git a/examples/shaders/shaders_shadowmap.c b/examples/shaders/shaders_shadowmap.c index 15ffe008d..96c42d12f 100644 --- a/examples/shaders/shaders_shadowmap.c +++ b/examples/shaders/shaders_shadowmap.c @@ -203,7 +203,7 @@ RenderTexture2D LoadShadowmapRenderTexture(int width, int height) { RenderTexture2D target = { 0 }; - target.id = rlLoadFramebuffer(width, height); // Load an empty framebuffer + target.id = rlLoadFramebuffer(); // Load an empty framebuffer target.texture.width = width; target.texture.height = height; diff --git a/examples/shaders/shaders_write_depth.c b/examples/shaders/shaders_write_depth.c index d2eeb68a8..531a7bfa6 100644 --- a/examples/shaders/shaders_write_depth.c +++ b/examples/shaders/shaders_write_depth.c @@ -117,7 +117,7 @@ RenderTexture2D LoadRenderTextureDepthTex(int width, int height) { RenderTexture2D target = { 0 }; - target.id = rlLoadFramebuffer(width, height); // Load an empty framebuffer + target.id = rlLoadFramebuffer(); // Load an empty framebuffer if (target.id > 0) { diff --git a/src/rtextures.c b/src/rtextures.c index ed296f299..9fc94c1f3 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3893,7 +3893,7 @@ RenderTexture2D LoadRenderTexture(int width, int height) { RenderTexture2D target = { 0 }; - target.id = rlLoadFramebuffer(width, height); // Load an empty framebuffer + target.id = rlLoadFramebuffer(); // Load an empty framebuffer if (target.id > 0) { From e9291fa4c77c85e1fe6808289632e5ce4a93eed6 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 4 Feb 2024 22:50:54 +0100 Subject: [PATCH 120/745] Update rtext.c --- src/rtext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index c6187a0a7..7a1256221 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2368,11 +2368,11 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i for (int bitX = 0; bitX < 4; bitX++) { - int pixelX = ((x * 4) + bitX); + int pixelX = ((x*4) + bitX); if (pixelX >= charGlyphInfo->image.width) break; - if ((byte & (8 >> bitX)) > 0) ((unsigned char*)charGlyphInfo->image.data)[(pixelY * charGlyphInfo->image.width) + pixelX] = 255; + if ((byte & (8 >> bitX)) > 0) ((unsigned char *)charGlyphInfo->image.data)[(pixelY*charGlyphInfo->image.width) + pixelX] = 255; } } } @@ -2423,7 +2423,7 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i charGlyphInfo->offsetY = fontBBh - (charBBh + charBByoff0 + fontBByoff0 + fontAscent); charGlyphInfo->advanceX = charDWidthX; - charGlyphInfo->image.data = RL_CALLOC(charBBw * charBBh, 1); + charGlyphInfo->image.data = RL_CALLOC(charBBw*charBBh, 1); charGlyphInfo->image.width = charBBw; charGlyphInfo->image.height = charBBh; charGlyphInfo->image.mipmaps = 1; From 6a8cc62b677c37ce56ab10ab1538c94be93cb0bd Mon Sep 17 00:00:00 2001 From: Danil <61111955+danilwhale@users.noreply.github.com> Date: Mon, 5 Feb 2024 21:53:14 +0200 Subject: [PATCH 121/745] Fix GetCameraRight (#3784) --- src/rcamera.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rcamera.h b/src/rcamera.h index b1805c372..8e513ef1c 100644 --- a/src/rcamera.h +++ b/src/rcamera.h @@ -243,7 +243,7 @@ Vector3 GetCameraRight(Camera *camera) Vector3 forward = GetCameraForward(camera); Vector3 up = GetCameraUp(camera); - return Vector3CrossProduct(forward, up); + return Vector3Normalize(Vector3CrossProduct(forward, up)); } // Moves the camera in its forward direction From ea31bd47e5135680d5cc0f29800372cf8cfeb49a Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 5 Feb 2024 21:12:57 +0100 Subject: [PATCH 122/745] REVIEWED: PLATFORM_WEB build flags, added GL_ENABLE_GET_PROC_ADDRESS Reviewed flags formating --- examples/Makefile | 25 ++++++++------- examples/Makefile.Web | 73 ++++++++++++++++++++++--------------------- src/Makefile | 16 +++++----- 3 files changed, 59 insertions(+), 55 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index bc81a58f4..b48557baa 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -202,7 +202,7 @@ CFLAGS = -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result ifeq ($(BUILD_MODE),DEBUG) CFLAGS += -g -D_DEBUG ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS += -s ASSERTIONS=1 --profiling + CFLAGS += -sASSERTIONS=1 --profiling endif else ifeq ($(PLATFORM),PLATFORM_WEB) @@ -298,23 +298,24 @@ endif ifeq ($(PLATFORM),PLATFORM_WEB) # -Os # size optimization # -O2 # optimization level 2, if used, also set --memory-init-file 0 - # -s USE_GLFW=3 # Use glfw3 library (context/input management) - # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! - # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB) - # -s USE_PTHREADS=1 # multithreading support - # -s WASM=0 # disable Web Assembly, emitted by default - # -s ASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS - # -s FORCE_FILESYSTEM=1 # force filesystem to load/save files data - # -s ASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) + # -sUSE_GLFW=3 # Use glfw3 library (context/input management) + # -sALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! + # -sTOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB) + # -sUSE_PTHREADS=1 # multithreading support + # -sWASM=0 # disable Web Assembly, emitted by default + # -sASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS + # -sFORCE_FILESYSTEM=1 # force filesystem to load/save files data + # -sASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) + # -sGL_ENABLE_GET_PROC_ADDRESS # enable using the *glGetProcAddress() family of functions, required for extensions loading # --profiling # include information for code profiling # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map - LDFLAGS += -s USE_GLFW=3 -s TOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -s FORCE_FILESYSTEM=1 + LDFLAGS += -sUSE_GLFW=3 -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sGL_ENABLE_GET_PROC_ADDRESS # Build using asyncify ifeq ($(BUILD_WEB_ASYNCIFY),TRUE) - LDFLAGS += -s ASYNCIFY + LDFLAGS += -sASYNCIFY endif # Add resources building if required @@ -324,7 +325,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) # Add debug mode flags if required ifeq ($(BUILD_MODE),DEBUG) - LDFLAGS += -s ASSERTIONS=1 --profiling + LDFLAGS += -sASSERTIONS=1 --profiling endif # Define a custom shell .html and output extension diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 39f64c071..971e81830 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -168,7 +168,7 @@ CFLAGS = -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result ifeq ($(BUILD_MODE),DEBUG) CFLAGS += -g -D_DEBUG ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS += -s ASSERTIONS=1 --profiling + CFLAGS += -sASSERTIONS=1 --profiling endif else ifeq ($(PLATFORM),PLATFORM_WEB) @@ -244,20 +244,21 @@ endif ifeq ($(PLATFORM),PLATFORM_WEB) # -Os # size optimization # -O2 # optimization level 2, if used, also set --memory-init-file 0 - # -s USE_GLFW=3 # Use glfw3 library (context/input management) - # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! - # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB) - # -s USE_PTHREADS=1 # multithreading support - # -s WASM=0 # disable Web Assembly, emitted by default - # -s ASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS - # -s FORCE_FILESYSTEM=1 # force filesystem to load/save files data - # -s ASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) - # -s EXPORTED_RUNTIME_METHODS=ccall # require exporting some LEGACY_RUNTIME functions, ccall() is required by miniaudio + # -sUSE_GLFW=3 # Use glfw3 library (context/input management) + # -sALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! + # -sTOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) (67108864 = 64MB) + # -sUSE_PTHREADS=1 # multithreading support + # -sWASM=0 # disable Web Assembly, emitted by default + # -sASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS + # -sFORCE_FILESYSTEM=1 # force filesystem to load/save files data + # -sASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) + # -sEXPORTED_RUNTIME_METHODS=ccall # require exporting some LEGACY_RUNTIME functions, ccall() is required by miniaudio + # -sGL_ENABLE_GET_PROC_ADDRESS # enable using the *glGetProcAddress() family of functions, required for extensions loading # --profiling # include information for code profiling # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map - LDFLAGS += -s USE_GLFW=3 -s ASYNCIFY -s EXPORTED_RUNTIME_METHODS=ccall + LDFLAGS += -sUSE_GLFW=3 -sASYNCIFY -sEXPORTED_RUNTIME_METHODS=ccall -sGL_ENABLE_GET_PROC_ADDRESS # NOTE: Simple raylib examples are compiled to be interpreter with asyncify, that way, # we can compile same code for ALL platforms with no change required, but, working on bigger @@ -552,7 +553,7 @@ core/core_custom_logging: core/core_custom_logging.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) core/core_drop_files: core/core_drop_files.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 -sFORCE_FILESYSTEM=1 core/core_input_gamepad: core/core_input_gamepad.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -585,7 +586,7 @@ core/core_input_multitouch: core/core_input_multitouch.c # WARNING: It requires raylib to be compiled using -pthread, so atomic operations and thread-local data (if any) # in its source were transformed to non-atomic operations and non-thread-local data core/core_loading_thread: core/core_loading_thread.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s USE_PTHREADS=1 + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sUSE_PTHREADS=1 core/core_random_values: core/core_random_values.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) @@ -597,7 +598,7 @@ core/core_smooth_pixelperfect: core/core_smooth_pixelperfect.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) core/core_storage_values: core/core_storage_values.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s FORCE_FILESYSTEM=1 + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sFORCE_FILESYSTEM=1 core/core_vr_simulator: core/core_vr_simulator.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -703,7 +704,7 @@ textures/textures_image_drawing: textures/textures_image_drawing.c --preload-file textures/resources/cat.png@resources/cat.png textures/textures_image_generation: textures/textures_image_generation.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 textures/textures_image_kernel: textures/textures_image_kernel.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -722,7 +723,7 @@ textures/textures_image_rotate: textures/textures_image_rotate.c --preload-file textures/resources/raylib_logo.png textures/textures_image_text: textures/textures_image_text.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file textures/resources/parrots.png@resources/parrots.png \ --preload-file textures/resources/KAISG.ttf@resources/KAISG.ttf @@ -790,17 +791,17 @@ text/text_draw_3d: text/text_draw_3d.c --preload-file text/resources/shaders/glsl100/alpha_discard.fs@resources/shaders/glsl100/alpha_discard.fs text/text_font_filters: text/text_font_filters.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file text/resources/KAISG.ttf@resources/KAISG.ttf text/text_font_loading: text/text_font_loading.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file text/resources/pixantiqua.fnt@resources/pixantiqua.fnt \ --preload-file text/resources/pixantiqua.png@resources/pixantiqua.png \ --preload-file text/resources/pixantiqua.ttf@resources/pixantiqua.ttf text/text_font_sdf: text/text_font_sdf.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file text/resources/anonymous_pro_bold.ttf@resources/anonymous_pro_bold.ttf \ --preload-file text/resources/shaders/glsl100/sdf.fs@resources/shaders/glsl100/sdf.fs @@ -831,7 +832,7 @@ text/text_rectangle_bounds: text/text_rectangle_bounds.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) text/text_unicode: text/text_unicode.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file text/resources/dejavu.fnt@resources/dejavu.fnt \ --preload-file text/resources/dejavu.png@resources/dejavu.png \ --preload-file text/resources/noto_cjk.fnt@resources/noto_cjk.fnt \ @@ -845,7 +846,7 @@ text/text_writing_anim: text/text_writing_anim.c # Compile MODELS examples models/models_animation: models/models_animation.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/iqm/guy.iqm@resources/models/iqm/guy.iqm \ --preload-file models/resources/models/iqm/guytex.png@resources/models/iqm/guytex.png \ --preload-file models/resources/models/iqm/guyanim.iqm@resources/models/iqm/guyanim.iqm @@ -879,20 +880,20 @@ models/models_heightmap: models/models_heightmap.c --preload-file models/resources/heightmap.png@resources/heightmap.png models/models_loading: models/models_loading.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/obj/castle.obj@resources/models/obj/castle.obj \ --preload-file models/resources/models/obj/castle_diffuse.png@resources/models/obj/castle_diffuse.png models/models_loading_gltf: models/models_loading_gltf.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/gltf/robot.glb@resources/models/gltf/robot.glb models/models_loading_m3d: models/models_loading_m3d.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/m3d/cesium_man.m3d@resources/models/m3d/cesium_man.m3d models/models_loading_vox: models/models_loading_vox.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/vox/chr_knight.vox@resources/models/vox/chr_knight.vox \ --preload-file models/resources/models/vox/chr_sword.vox@resources/models/vox/chr_sword.vox \ --preload-file models/resources/models/vox/monu9.vox@resources/models/vox/monu9.vox @@ -912,7 +913,7 @@ models/models_rlgl_solar_system: models/models_rlgl_solar_system.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) models/models_skybox: models/models_skybox.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 -sFORCE_FILESYSTEM=1 \ --preload-file models/resources/dresden_square_2k.hdr@resources/dresden_square_2k.hdr \ --preload-file models/resources/shaders/glsl100/skybox.vs@resources/shaders/glsl100/skybox.vs \ --preload-file models/resources/shaders/glsl100/skybox.fs@resources/shaders/glsl100/skybox.fs \ @@ -923,7 +924,7 @@ models/models_waving_cubes: models/models_waving_cubes.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) models/models_yaw_pitch_roll: models/models_yaw_pitch_roll.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file models/resources/models/obj/plane.obj@resources/models/obj/plane.obj \ --preload-file models/resources/models/obj/plane_diffuse.png@resources/models/obj/plane_diffuse.png @@ -936,7 +937,7 @@ shaders/shaders_basic_lighting: shaders/shaders_basic_lighting.c --preload-file shaders/resources/shaders/glsl100/lighting.vs@resources/shaders/glsl100/lighting.vs shaders/shaders_custom_uniform: shaders/shaders_custom_uniform.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file shaders/resources/models/barracks.obj@resources/models/barracks.obj \ --preload-file shaders/resources/models/barracks_diffuse.png@resources/models/barracks_diffuse.png \ --preload-file shaders/resources/shaders/glsl100/swirl.fs@resources/shaders/glsl100/swirl.fs @@ -960,7 +961,7 @@ shaders/shaders_fog: shaders/shaders_fog.c --preload-file shaders/resources/shaders/glsl100/lighting.vs@resources/shaders/glsl100/lighting.vs shaders/shaders_hot_reloading: shaders/shaders_hot_reloading.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s FORCE_FILESYSTEM=1 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sFORCE_FILESYSTEM=1 \ --preload-file shaders/resources/shaders/glsl100/reload.fs@resources/shaders/glsl100/reload.fs shaders/shaders_hybrid_render: shaders/shaders_hybrid_render.c @@ -973,7 +974,7 @@ shaders/shaders_julia_set: shaders/shaders_julia_set.c --preload-file shaders/resources/shaders/glsl100/julia_set.fs@resources/shaders/glsl100/julia_set.fs shaders/shaders_lightmap: shaders/shaders_lightmap.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s FORCE_FILESYSTEM=1 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sFORCE_FILESYSTEM=1 \ --preload-file shaders/resources/shaders/glsl100/lightmap.vs@resources/shaders/glsl100/lightmap.vs \ --preload-file shaders/resources/shaders/glsl100/lightmap.fs@resources/shaders/glsl100/lightmap.fs \ --preload-file shaders/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png \ @@ -985,7 +986,7 @@ shaders/shaders_mesh_instancing: shaders/shaders_mesh_instancing.c --preload-file shaders/resources/shaders/glsl100/lighting.fs@resources/shaders/glsl100/lighting.fs shaders/shaders_model_shader: shaders/shaders_model_shader.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file shaders/resources/models/watermill.obj@resources/models/watermill.obj \ --preload-file shaders/resources/models/watermill_diffuse.png@resources/models/watermill_diffuse.png \ --preload-file shaders/resources/shaders/glsl100/grayscale.fs@resources/shaders/glsl100/grayscale.fs @@ -999,7 +1000,7 @@ shaders/shaders_palette_switch: shaders/shaders_palette_switch.c --preload-file shaders/resources/shaders/glsl100/palette_switch.fs@resources/shaders/glsl100/palette_switch.fs shaders/shaders_postprocessing: shaders/shaders_postprocessing.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file shaders/resources/models/church.obj@resources/models/church.obj \ --preload-file shaders/resources/models/church_diffuse.png@resources/models/church_diffuse.png \ --preload-file shaders/resources/shaders/glsl100@resources/shaders/glsl100 @@ -1051,7 +1052,7 @@ shaders/shaders_write_depth: shaders/shaders_write_depth.c # Compile AUDIO examples audio/audio_mixed_processor: audio/audio_mixed_processor.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file audio/resources/country.mp3@resources/country.mp3 \ --preload-file audio/resources/coin.wav@resources/coin.wav @@ -1060,11 +1061,11 @@ audio/audio_module_playing: audio/audio_module_playing.c --preload-file audio/resources/mini1111.xm@resources/mini1111.xm audio/audio_music_stream: audio/audio_music_stream.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file audio/resources/country.mp3@resources/country.mp3 audio/audio_raw_stream: audio/audio_raw_stream.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 audio/audio_sound_loading: audio/audio_sound_loading.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ @@ -1076,7 +1077,7 @@ audio/audio_sound_multi: audio/audio_sound_multi.c --preload-file audio/resources/sound.wav@resources/sound.wav audio/audio_stream_effects: audio/audio_stream_effects.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s TOTAL_MEMORY=67108864 \ + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sTOTAL_MEMORY=67108864 \ --preload-file audio/resources/country.mp3@resources/country.mp3 diff --git a/src/Makefile b/src/Makefile index 526acaadf..34e2b574b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -347,18 +347,20 @@ endif ifeq ($(PLATFORM),PLATFORM_WEB) # -Os # size optimization # -O2 # optimization level 2, if used, also set --memory-init-file 0 - # -s USE_GLFW=3 # Use glfw3 library (context/input management) -> Only for linker! - # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! - # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) - # -s USE_PTHREADS=1 # multithreading support - # -s FORCE_FILESYSTEM=1 # force filesystem to load/save files data - # -s ASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) + # -sUSE_GLFW=3 # Use glfw3 library (context/input management) -> Only for linker! + # -sALLOW_MEMORY_GROWTH=1 # to allow memory resizing -> WARNING: Audio buffers could FAIL! + # -sTOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # -sUSE_PTHREADS=1 # multithreading support + # -sFORCE_FILESYSTEM=1 # force filesystem to load/save files data + # -sASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) + # -sGL_ENABLE_GET_PROC_ADDRESS # enable using the *glGetProcAddress() family of functions, required for extensions loading # --profiling # include information for code profiling # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --preload-file resources # specify a resources folder for data compilation ifeq ($(RAYLIB_BUILD_MODE),DEBUG) - CFLAGS += -s ASSERTIONS=1 --profiling + CFLAGS += -sASSERTIONS=1 --profiling endif + CFLAGS += -sGL_ENABLE_GET_PROC_ADDRESS endif ifeq ($(PLATFORM),PLATFORM_ANDROID) # Compiler flags for arquitecture From e52ae870f297961b9ac23d2e6eca4937a24ac6c0 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 5 Feb 2024 21:38:13 +0100 Subject: [PATCH 123/745] Reverted Makefile `GL_ENABLE_GET_PROC_ADDRESS` #3713 --- examples/Makefile | 2 +- examples/Makefile.Web | 2 +- src/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index b48557baa..c5bc8b74b 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -311,7 +311,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map - LDFLAGS += -sUSE_GLFW=3 -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sGL_ENABLE_GET_PROC_ADDRESS + LDFLAGS += -sUSE_GLFW=3 -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 # Build using asyncify ifeq ($(BUILD_WEB_ASYNCIFY),TRUE) diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 971e81830..204db50cc 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -258,7 +258,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # --preload-file resources # specify a resources folder for data compilation # --source-map-base # allow debugging in browser with source map - LDFLAGS += -sUSE_GLFW=3 -sASYNCIFY -sEXPORTED_RUNTIME_METHODS=ccall -sGL_ENABLE_GET_PROC_ADDRESS + LDFLAGS += -sUSE_GLFW=3 -sASYNCIFY -sEXPORTED_RUNTIME_METHODS=ccall # NOTE: Simple raylib examples are compiled to be interpreter with asyncify, that way, # we can compile same code for ALL platforms with no change required, but, working on bigger diff --git a/src/Makefile b/src/Makefile index 34e2b574b..f38257b0d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -360,7 +360,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) ifeq ($(RAYLIB_BUILD_MODE),DEBUG) CFLAGS += -sASSERTIONS=1 --profiling endif - CFLAGS += -sGL_ENABLE_GET_PROC_ADDRESS + #CFLAGS += -sGL_ENABLE_GET_PROC_ADDRESS endif ifeq ($(PLATFORM),PLATFORM_ANDROID) # Compiler flags for arquitecture From 8ba7c61625c1a4eb688fcd95bb95a9e9aea53b1c Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 7 Feb 2024 15:56:11 +0100 Subject: [PATCH 124/745] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d2b78e47..79e883034 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Ready to learn? Jump to [code examples!](https://www.raylib.com/examples.html) [![GitHub Releases Downloads](https://img.shields.io/github/downloads/raysan5/raylib/total)](https://github.com/raysan5/raylib/releases) [![GitHub Stars](https://img.shields.io/github/stars/raysan5/raylib?style=flat&label=stars)](https://github.com/raysan5/raylib/stargazers) -[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/raysan5/raylib/4.5.0)](https://github.com/raysan5/raylib/commits/master) +[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/raysan5/raylib/5.0)](https://github.com/raysan5/raylib/commits/master) [![GitHub Sponsors](https://img.shields.io/github/sponsors/raysan5?label=sponsors)](https://github.com/sponsors/raysan5) [![Packaging Status](https://repology.org/badge/tiny-repos/raylib.svg)](https://repology.org/project/raylib/versions) [![License](https://img.shields.io/badge/license-zlib%2Flibpng-blue.svg)](LICENSE) From dd8b5613cab0d62a2464be5e3b45e835adedea0c Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 8 Feb 2024 08:45:59 +0100 Subject: [PATCH 125/745] REVIEWED: `DrawPixel()` not drawing --- src/rshapes.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index e4eb107b1..4b597c4ac 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -135,7 +135,6 @@ void DrawPixelV(Vector2 position, Color color) { #if defined(SUPPORT_QUADS_DRAW_MODE) rlSetTexture(GetShapesTexture().id); - Rectangle shapeRect = GetShapesTextureRectangle(); rlBegin(RL_QUADS); @@ -143,16 +142,16 @@ void DrawPixelV(Vector2 position, Color color) rlNormal3f(0.0f, 0.0f, 1.0f); rlColor4ub(color.r, color.g, color.b, color.a); - rlTexCoord2f(shapeRect.x/ shapeRect.width, shapeRect.y/ shapeRect.height); + rlTexCoord2f(shapeRect.x/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(position.x, position.y); - rlTexCoord2f(shapeRect.x/ shapeRect.width, (shapeRect.y + shapeRect.height)/ shapeRect.height); + rlTexCoord2f(shapeRect.x/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(position.x, position.y + 1); - rlTexCoord2f((shapeRect.x + shapeRect.width)/ shapeRect.width, (shapeRect.y + shapeRect.height)/ shapeRect.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, (shapeRect.y + shapeRect.height)/texShapes.height); rlVertex2f(position.x + 1, position.y + 1); - rlTexCoord2f((shapeRect.x + shapeRect.width)/ shapeRect.width, shapeRect.y/ shapeRect.height); + rlTexCoord2f((shapeRect.x + shapeRect.width)/texShapes.width, shapeRect.y/texShapes.height); rlVertex2f(position.x + 1, position.y); rlEnd(); From 4cd71a975086fa3be3b28d765e45c4bb7dc4e101 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Sat, 10 Feb 2024 11:02:05 -0800 Subject: [PATCH 126/745] Fix warnings in raylib (#3793) --- src/rcore.c | 2 +- src/rmodels.c | 6 ++++-- src/rtextures.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 48c863f56..84e05e23d 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1406,7 +1406,7 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) // Get a ray trace from mouse position Ray GetMouseRay(Vector2 mousePosition, Camera camera) { - return GetViewRay(mousePosition, camera, GetScreenWidth(), GetScreenHeight()); + return GetViewRay(mousePosition, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); } // Get a ray trace from the mouse position within a specific section of the screen diff --git a/src/rmodels.c b/src/rmodels.c index 0cb949bc2..aef0e7c5f 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5284,7 +5284,8 @@ static Model LoadGLTF(const char *fileName) { // Handle 16-bit unsigned short, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(unsigned short)); - LOAD_ATTRIBUTE(attribute, 2, unsigned short, model.meshes[meshIndex].boneIds) + unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; + LOAD_ATTRIBUTE(attribute, 2, unsigned short, ptr) } else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) { @@ -5296,7 +5297,8 @@ static Model LoadGLTF(const char *fileName) { // Handle 32-bit float, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(float)); - LOAD_ATTRIBUTE(attribute, 2, float, model.meshes[meshIndex].boneIds) + float* ptr = (float*)model.meshes[meshIndex].boneIds; + LOAD_ATTRIBUTE(attribute, 2, float, ptr) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); } diff --git a/src/rtextures.c b/src/rtextures.c index 9fc94c1f3..bf87eabc4 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2191,7 +2191,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) int ykabs = yk + kernelWidth/2; unsigned int imgindex = image->width*(x + xk) + (y + yk); - if (imgindex >= image->width*image->height) + if (imgindex >= (unsigned int)(image->width*image->height)) { temp[kernelWidth * xkabs + ykabs].x = 0.0f; temp[kernelWidth * xkabs + ykabs].y = 0.0f; From 6280771dad01c03fa63eac0328dc4ff4710deda9 Mon Sep 17 00:00:00 2001 From: Mingjie Shen Date: Tue, 13 Feb 2024 04:38:13 -0500 Subject: [PATCH 127/745] [rtext] Change strcpy to strncpy to fix buffer overflow (#3795) --- src/rtext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rtext.c b/src/rtext.c index 7a1256221..ba09c7098 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -530,7 +530,7 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int Font font = { 0 }; char fileExtLower[16] = { 0 }; - strcpy(fileExtLower, TextToLower(fileType)); + strncpy(fileExtLower, TextToLower(fileType), sizeof(fileExtLower) - 1); font.baseSize = fontSize; font.glyphCount = (codepointCount > 0)? codepointCount : 95; From bb741f53a8678914b4194b998b6c1d8a923bcae5 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 13 Feb 2024 10:43:24 +0100 Subject: [PATCH 128/745] Update rtext.c --- src/rtext.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index ba09c7098..12be73e7c 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -530,7 +530,7 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int Font font = { 0 }; char fileExtLower[16] = { 0 }; - strncpy(fileExtLower, TextToLower(fileType), sizeof(fileExtLower) - 1); + strncpy(fileExtLower, TextToLower(fileType), 16 - 1); font.baseSize = fontSize; font.glyphCount = (codepointCount > 0)? codepointCount : 95; @@ -971,7 +971,7 @@ bool ExportFontAsCode(Font font, const char *fileName) // Get file name from path char fileNamePascal[256] = { 0 }; - strcpy(fileNamePascal, TextToPascal(GetFileNameWithoutExt(fileName))); + strncpy(fileNamePascal, TextToPascal(GetFileNameWithoutExt(fileName)), 256 - 1); // NOTE: Text data buffer size is estimated considering image data size in bytes // and requiring 6 char bytes for every byte: "0x00, " @@ -1699,7 +1699,8 @@ const char **TextSplit(const char *text, char delimiter, int *count) return result; } -// Append text at specific position and move cursor! +// Append text at specific position and move cursor +// WARNING: It's up to the user to make sure appended text does not overflow the buffer! // REQUIRES: strcpy() void TextAppend(char *text, const char *append, int *position) { From 401c5a86380f0e06cf30f1b75cff102f460fc98d Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 13 Feb 2024 15:58:02 +0100 Subject: [PATCH 129/745] Minor tweaks to avoid some CodeQL warnings --- src/rcore.c | 2 +- src/rtext.c | 25 +++++++------------------ 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 84e05e23d..0cbe3c815 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -362,7 +362,7 @@ static int screenshotCounter = 0; // Screenshots counter #endif #if defined(SUPPORT_GIF_RECORDING) -int gifFrameCounter = 0; // GIF frames counter +unsigned int gifFrameCounter = 0; // GIF frames counter bool gifRecording = false; // GIF recording state MsfGifState gifState = { 0 }; // MSGIF context state #endif diff --git a/src/rtext.c b/src/rtext.c index 12be73e7c..91f5570ac 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2264,23 +2264,12 @@ static Font LoadBMFont(const char *fileName) #if defined(SUPPORT_FILEFORMAT_BDF) // Convert hexadecimal to decimal (single digit) -static char HexToInt(char hex) { - if (hex >= '0' && hex <= '9') - { - return hex - '0'; - } - else if (hex >= 'a' && hex <= 'f') - { - return hex - 'a' + 10; - } - else if (hex >= 'A' && hex <= 'F') - { - return hex - 'A' + 10; - } - else - { - return 0; - } +static unsigned char HexToInt(char hex) +{ + if (hex >= '0' && hex <= '9') return hex - '0'; + else if (hex >= 'a' && hex <= 'f') return hex - 'a' + 10; + else if (hex >= 'A' && hex <= 'F') return hex - 'A' + 10; + else return 0; } // Load font data for further use @@ -2365,7 +2354,7 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i for (int x = 0; x < readBytes; x++) { - char byte = HexToInt(buffer[x]); + unsigned char byte = HexToInt(buffer[x]); for (int bitX = 0; bitX < 4; bitX++) { From abe243d46972ab8a2956bac9020dac9cc9e3f345 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 13 Feb 2024 16:13:46 +0100 Subject: [PATCH 130/745] Update linux.yml --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d740250e0..db989e24f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -94,7 +94,7 @@ jobs: tar -czvf ${{ env.RELEASE_NAME }}.tar.gz ${{ env.RELEASE_NAME }} - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.tar.gz path: ./build/${{ env.RELEASE_NAME }}.tar.gz From dc7f81a7b0cbc666812c870841313e0c15a87a0c Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 13 Feb 2024 16:15:18 +0100 Subject: [PATCH 131/745] Update workflows to use latest actions/upload-artifact --- .github/workflows/android.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/macos.yml | 2 +- .github/workflows/webassembly.yml | 2 +- .github/workflows/windows.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 838d7a341..16984e157 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -82,7 +82,7 @@ jobs: tar -czvf ${{ env.RELEASE_NAME }}.tar.gz ${{ env.RELEASE_NAME }} - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.tar.gz path: ./build/${{ env.RELEASE_NAME }}.tar.gz diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f9932079f..8077aaedf 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -128,7 +128,7 @@ jobs: - name: Upload CodeQL results as an artifact if: success() || failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: codeql-results path: ${{ steps.step1.outputs.sarif-output }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a9a036bd4..abe27493a 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -99,7 +99,7 @@ jobs: tar -czvf ${{ env.RELEASE_NAME }}.tar.gz ${{ env.RELEASE_NAME }} - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.tar.gz path: ./build/${{ env.RELEASE_NAME }}.tar.gz diff --git a/.github/workflows/webassembly.yml b/.github/workflows/webassembly.yml index 9374cb9eb..bdcfd608e 100644 --- a/.github/workflows/webassembly.yml +++ b/.github/workflows/webassembly.yml @@ -69,7 +69,7 @@ jobs: shell: cmd - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.zip path: ./build/${{ env.RELEASE_NAME }}.zip diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index cf9a9f33e..2138982e5 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -133,7 +133,7 @@ jobs: shell: cmd - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.zip path: ./build/${{ env.RELEASE_NAME }}.zip From c251e9309e066b9d2aa5ecbd15bcee45b9bef528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Foscarini?= Date: Sat, 17 Feb 2024 10:41:03 +0100 Subject: [PATCH 132/745] Fix implicit conversion from float to double then back to float again (#3799) --- src/raymath.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index b46243f4e..15e403cbb 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -165,7 +165,7 @@ typedef struct float16 { float v[16]; } float16; -#include // Required for: sinf(), cosf(), tan(), atan2f(), sqrtf(), floor(), fminf(), fmaxf(), fabs() +#include // Required for: sinf(), cosf(), tan(), atan2f(), sqrtf(), floor(), fminf(), fmaxf(), fabsf() //---------------------------------------------------------------------------------- // Module Functions Definition - Utils math @@ -605,12 +605,12 @@ RMAPI Vector3 Vector3Perpendicular(Vector3 v) { Vector3 result = { 0 }; - float min = (float) fabs(v.x); + float min = fabsf(v.x); Vector3 cardinalAxis = {1.0f, 0.0f, 0.0f}; if (fabsf(v.y) < min) { - min = (float) fabs(v.y); + min = fabsf(v.y); Vector3 tmp = {0.0f, 1.0f, 0.0f}; cardinalAxis = tmp; } From e42e3188f57d8db51e0a14410242dcb5566dd9fb Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 18 Feb 2024 11:59:40 +0100 Subject: [PATCH 133/745] Remove some unneeded line breaks --- src/rcore.c | 1 - src/rlgl.h | 2 -- src/rshapes.c | 1 - src/rtext.c | 2 -- src/rtextures.c | 3 --- 5 files changed, 9 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 0cbe3c815..f4abe117a 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1694,7 +1694,6 @@ void WaitTime(double seconds) // NOTE: Functions with a platform-specific implementation on rcore_.c //void OpenURL(const char *url) - // Set the seed for the random number generator void SetRandomSeed(unsigned int seed) { diff --git a/src/rlgl.h b/src/rlgl.h index 237799e56..75b830107 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -120,7 +120,6 @@ #define RLAPI __declspec(dllimport) // We are using the library as a Win32 shared library (.dll) #endif - // Function specifiers definition #ifndef RLAPI #define RLAPI // Functions defined as 'extern' by default (implicit specifiers) @@ -3412,7 +3411,6 @@ void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int #endif } - // Read texture pixel data void *rlReadTexturePixels(unsigned int id, int width, int height, int format) { diff --git a/src/rshapes.c b/src/rshapes.c index 4b597c4ac..f0c6f1127 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -71,7 +71,6 @@ #define SPLINE_SEGMENT_DIVISIONS 24 // Spline segment divisions #endif - //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- diff --git a/src/rtext.c b/src/rtext.c index 91f5570ac..eb56b3ecd 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1112,7 +1112,6 @@ bool ExportFontAsCode(Font font, const char *fileName) return success; } - // Draw current FPS // NOTE: Uses default font void DrawFPS(int posX, int posY) @@ -1438,7 +1437,6 @@ const char *TextFormat(const char *text, ...) return currentBuffer; } - // Get integer value from text // NOTE: This function replaces atoi() [stdlib.h] int TextToInteger(const char *text) diff --git a/src/rtextures.c b/src/rtextures.c index bf87eabc4..97d9e3858 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1648,7 +1648,6 @@ void ImageResizeNN(Image *image,int newWidth,int newHeight) UnloadImageColors(pixels); } - // Resize and image to new size // NOTE: Uses stb default scaling filters (both bicubic): // STBIR_DEFAULT_FILTER_UPSAMPLE STBIR_FILTER_CATMULLROM @@ -2102,7 +2101,6 @@ void ImageBlurGaussian(Image *image, int blurSize) { } } - // Reverse premultiply for (int i = 0; i < (image->width)*(image->height); i++) { @@ -2152,7 +2150,6 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) Vector4 *imageCopy2 = RL_MALLOC((image->height)*(image->width)*sizeof(Vector4)); Vector4 *temp = RL_MALLOC(kernelSize*sizeof(Vector4)); - for (int i = 0; i < kernelSize; i++) { temp[i].x = 0.0f; From 77eeb0010e957a2468deea3ac9f7c74fd3674202 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 18 Feb 2024 12:06:16 +0100 Subject: [PATCH 134/745] Updated workflows --- .github/workflows/android.yml | 12 ++++-------- .github/workflows/cmake.yml | 4 ++-- .github/workflows/codeql.yml | 2 +- .github/workflows/linux.yml | 11 ++++------- .github/workflows/linux_examples.yml | 2 +- .github/workflows/macos.yml | 9 +++------ .github/workflows/parse.yml | 2 +- .github/workflows/webassembly.yml | 13 +++++-------- .github/workflows/windows.yml | 11 ++++------- .github/workflows/windows_examples.yml | 2 +- 10 files changed, 26 insertions(+), 42 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 16984e157..a3d2f9a5a 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -88,13 +88,9 @@ jobs: path: ./build/${{ env.RELEASE_NAME }}.tar.gz - name: Upload Artifact to Release - uses: actions/upload-release-asset@v1.0.1 + uses: softprops/action-gh-release@v1 + with: + files: ./build/${{ env.RELEASE_NAME }}.tar.gz env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./build/${{ env.RELEASE_NAME }}.tar.gz - asset_name: ${{ env.RELEASE_NAME }}.tar.gz - asset_content_type: application/gzip - if: github.event_name == 'release' && github.event.action == 'published' - + if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 0e13b8e8f..82e3459b2 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,7 +36,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Create Build Environment # Some projects don't allow in-source building, so create a separate build directory @@ -75,7 +75,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Create Build Environment # Some projects don't allow in-source building, so create a separate build directory diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 8077aaedf..956812245 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -44,7 +44,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index db989e24f..976b67bfb 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -100,12 +100,9 @@ jobs: path: ./build/${{ env.RELEASE_NAME }}.tar.gz - name: Upload Artifact to Release - uses: actions/upload-release-asset@v1.0.1 + uses: softprops/action-gh-release@v1 + with: + files: ./build/${{ env.RELEASE_NAME }}.tar.gz env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./build/${{ env.RELEASE_NAME }}.tar.gz - asset_name: ${{ env.RELEASE_NAME }}.tar.gz - asset_content_type: application/gzip - if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/linux_examples.yml b/.github/workflows/linux_examples.yml index 3ed2dc796..2d26b5fa5 100644 --- a/.github/workflows/linux_examples.yml +++ b/.github/workflows/linux_examples.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Environment run: | diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index abe27493a..8b9f59d2c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -105,12 +105,9 @@ jobs: path: ./build/${{ env.RELEASE_NAME }}.tar.gz - name: Upload Artifact to Release - uses: actions/upload-release-asset@v1.0.1 + uses: softprops/action-gh-release@v1 + with: + files: ./build/${{ env.RELEASE_NAME }}.tar.gz env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./build/${{ env.RELEASE_NAME }}.tar.gz - asset_name: ${{ env.RELEASE_NAME }}.tar.gz - asset_content_type: application/gzip if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/parse.yml b/.github/workflows/parse.yml index dcbd3e43d..ee413d643 100644 --- a/.github/workflows/parse.yml +++ b/.github/workflows/parse.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Update parse files working-directory: parser diff --git a/.github/workflows/webassembly.yml b/.github/workflows/webassembly.yml index bdcfd608e..f9e51680d 100644 --- a/.github/workflows/webassembly.yml +++ b/.github/workflows/webassembly.yml @@ -27,9 +27,9 @@ jobs: uses: actions/checkout@master - name: Setup emsdk - uses: mymindstorm/setup-emsdk@v12 + uses: mymindstorm/setup-emsdk@v14 with: - version: 3.1.30 + version: 3.1.54 actions-cache-folder: 'emsdk-cache' - name: Setup Release Version @@ -75,12 +75,9 @@ jobs: path: ./build/${{ env.RELEASE_NAME }}.zip - name: Upload Artifact to Release - uses: actions/upload-release-asset@v1.0.1 + uses: softprops/action-gh-release@v1 + with: + files: ./build/${{ env.RELEASE_NAME }}.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./build/${{ env.RELEASE_NAME }}.zip - asset_name: ${{ env.RELEASE_NAME }}.zip - asset_content_type: application/zip if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2138982e5..f8e19f0fc 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -74,7 +74,7 @@ jobs: # Setup MSBuild.exe path if required - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.1 + uses: microsoft/setup-msbuild@v2 if: matrix.compiler == 'msvc16' - name: Build Library (MinGW-w64 32bit) @@ -139,12 +139,9 @@ jobs: path: ./build/${{ env.RELEASE_NAME }}.zip - name: Upload Artifact to Release - uses: actions/upload-release-asset@v1.0.1 + uses: softprops/action-gh-release@v1 + with: + files: ./build/${{ env.RELEASE_NAME }}.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./build/${{ env.RELEASE_NAME }}.zip - asset_name: ${{ env.RELEASE_NAME }}.zip - asset_content_type: application/zip if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/windows_examples.yml b/.github/workflows/windows_examples.yml index 19e23cf1b..6171d6dd9 100644 --- a/.github/workflows/windows_examples.yml +++ b/.github/workflows/windows_examples.yml @@ -22,7 +22,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v1 From 54e0af40c1c534b3f3958264c67270434183639e Mon Sep 17 00:00:00 2001 From: Nikita Blizniuk <46704931+BliznyukNM@users.noreply.github.com> Date: Mon, 19 Feb 2024 18:51:04 +0100 Subject: [PATCH 135/745] fixed loading GLTF animations with 1 frame (#3804) --- src/rmodels.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index aef0e7c5f..166f51a6a 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5368,7 +5368,7 @@ static bool GetPoseAtTimeGLTF(cgltf_accessor *input, cgltf_accessor *output, flo } } - float t = (time - tstart)/(tend - tstart); + float t = (time - tstart)/fmax((tend - tstart), EPSILON); t = (t < 0.0f)? 0.0f : t; t = (t > 1.0f)? 1.0f : t; @@ -5506,7 +5506,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo strncpy(animations[i].name, animData.name, sizeof(animations[i].name)); animations[i].name[sizeof(animations[i].name) - 1] = '\0'; - animations[i].frameCount = (int)(animDuration*1000.0f/GLTF_ANIMDELAY); + animations[i].frameCount = (int)(animDuration*1000.0f/GLTF_ANIMDELAY) + 1; animations[i].framePoses = RL_MALLOC(animations[i].frameCount*sizeof(Transform *)); for (int j = 0; j < animations[i].frameCount; j++) From 4f283a0789b896f4b71ec1cffca959dd0902a5e1 Mon Sep 17 00:00:00 2001 From: mooff Date: Thu, 22 Feb 2024 22:05:41 +0000 Subject: [PATCH 136/745] Add CMake PLATFORM option for Desktop SDL (#3809) --- CMakeOptions.txt | 2 +- cmake/LibraryConfigurations.cmake | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeOptions.txt b/CMakeOptions.txt index db0a1a102..68468c07a 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -2,7 +2,7 @@ include(CMakeDependentOption) include(EnumOption) -enum_option(PLATFORM "Desktop;Web;Android;Raspberry Pi;DRM" "Platform to build for.") +enum_option(PLATFORM "Desktop;Web;Android;Raspberry Pi;DRM;SDL" "Platform to build for.") enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific OpenGL Version?") diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index d4bf45a08..18b4f196a 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -91,6 +91,11 @@ elseif ("${PLATFORM}" MATCHES "DRM") endif () set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl) +elseif ("${PLATFORM}" MATCHES "SDL") + find_package(SDL2 REQUIRED) + set(PLATFORM_CPP "PLATFORM_DESKTOP_SDL") + set(LIBS_PRIVATE SDL2::SDL2) + endif () if (NOT ${OPENGL_VERSION} MATCHES "OFF") From 31c6a340abd1a3530591341ca4d05481004612e4 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Thu, 22 Feb 2024 22:06:22 +0000 Subject: [PATCH 137/745] Remove all uses of deps/mingw (#3805) The purpose of this directory in GLFW is to provide some headers that "mingw.org" doesn't. Raylib has long been unable to build with mingw.org due to using certain symbols that aren't exposed in their headers. (_ftelli64 and _access, among others.). Mingw-w64 already has the necessary headers included, and doesn't need any of these external implementations. For some reason, this also causes the following error when building with Visual Studio's clang: clang -c rglfw.c -Wall -D_GNU_SOURCE -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_33 -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing -std=c99 -O1 -Werror=implicit-function-declaration -I. -Iexternal/glfw/include -Iexternal/glfw/deps/mingw In file included from rglfw.c:61: In file included from ./external/glfw/src/init.c:30: In file included from ./external/glfw/src/internal.h:331: In file included from ./external/glfw/src/platform.h:31: In file included from ./external/glfw/src/win32_platform.h:70: external/glfw/deps/mingw\xinput.h:227:26: error: a parameter list without types is only allowed in a function definition 227 | void WINAPI XInputEnable(WINBOOL); | If the last -Iexternal/glfw/deps/mingw is removed, the build works fine. So, this workaround causes other problems, while not actually helping raylib. https://github.com/glfw/glfw/blob/0bb605cd797e4d63709495f4074ec59362064ab4/src/CMakeLists.txt#L272-L279 GLFW's CMakeLists.txt first checks if either dinput.h or xinput.h are provided by the toolchain, before telling the compiler to search for headers in that directory. For EVERY compiler that can build raylib, this is true. In summary: This directory causes issues when building with some compilers, and every toolchain that needs this workaround can't build raylib anyway. --- examples/build.zig | 1 - src/Makefile | 4 ++-- src/build.zig | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/build.zig b/examples/build.zig index deb381d53..e56ac0d54 100644 --- a/examples/build.zig +++ b/examples/build.zig @@ -55,7 +55,6 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: anytype, optim exe.linkSystemLibrary("winmm"); exe.linkSystemLibrary("gdi32"); exe.linkSystemLibrary("opengl32"); - exe.addIncludePath(.{ .path = "external/glfw/deps/mingw" }); exe.defineCMacro("PLATFORM_DESKTOP", null); }, diff --git a/src/Makefile b/src/Makefile index f38257b0d..2d426b163 100644 --- a/src/Makefile +++ b/src/Makefile @@ -438,7 +438,7 @@ INCLUDE_PATHS = -I. # Define additional directories containing required header files ifeq ($(PLATFORM),PLATFORM_DESKTOP) - INCLUDE_PATHS += -Iexternal/glfw/include -Iexternal/glfw/deps/mingw + INCLUDE_PATHS += -Iexternal/glfw/include ifeq ($(PLATFORM_OS),BSD) INCLUDE_PATHS += -I/usr/local/include endif @@ -447,7 +447,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_SDL) INCLUDE_PATHS += -I$(SDL_INCLUDE_PATH) endif ifeq ($(PLATFORM),PLATFORM_WEB) - INCLUDE_PATHS += -Iexternal/glfw/include -Iexternal/glfw/deps/mingw + INCLUDE_PATHS += -Iexternal/glfw/include endif ifeq ($(PLATFORM),PLATFORM_DRM) INCLUDE_PATHS += -I/usr/include/libdrm diff --git a/src/build.zig b/src/build.zig index 827788efc..32b31f1aa 100644 --- a/src/build.zig +++ b/src/build.zig @@ -97,7 +97,6 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); raylib.linkSystemLibrary("opengl32"); - raylib.addIncludePath(.{ .path = "external/glfw/deps/mingw" }); raylib.defineCMacro("PLATFORM_DESKTOP", null); }, From 23616153d4ed5d76f0965d016e56735edb5b23ed Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 22 Feb 2024 23:25:05 +0100 Subject: [PATCH 138/745] Update Makefile --- examples/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index c5bc8b74b..8362b8c8e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -71,8 +71,8 @@ USE_EXTERNAL_GLFW ?= FALSE # PLATFORM_DESKTOP_SDL: It requires SDL library to be provided externally # WARNING: Library is not included in raylib, it MUST be configured by users -SDL_INCLUDE_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2-2.28.4/include -SDL_LIBRARY_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2-2.28.4/lib/x64 +SDL_INCLUDE_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/include +SDL_LIBRARY_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/lib # Use Wayland display server protocol on Linux desktop (by default it uses X11 windowing system) # NOTE: This variable is only used for PLATFORM_OS: LINUX From bda919033dfdd2d0d75b606f3fa29d21f0408ffb Mon Sep 17 00:00:00 2001 From: Abhishek Rathore <59042344+Logicless-Coder@users.noreply.github.com> Date: Fri, 23 Feb 2024 23:47:33 +0530 Subject: [PATCH 139/745] Fixed typo in a comment (#3816) (#3817) Fixed a grammatical error by removing "are" to change `... but some are have multiple purposes ...` to `... but some have multiple purposes ...` in `textures/textures_image_generation` --- examples/textures/textures_image_generation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/textures/textures_image_generation.c b/examples/textures/textures_image_generation.c index abde401f7..97e43f007 100644 --- a/examples/textures/textures_image_generation.c +++ b/examples/textures/textures_image_generation.c @@ -13,7 +13,7 @@ #include "raylib.h" -#define NUM_TEXTURES 9 // Currently we have 8 generation algorithms but some are have multiple purposes (Linear and Square Gradients) +#define NUM_TEXTURES 9 // Currently we have 8 generation algorithms but some have multiple purposes (Linear and Square Gradients) //------------------------------------------------------------------------------------ // Program main entry point From 371d25c8c99f6db487c938f8b7f391d45e26d3a4 Mon Sep 17 00:00:00 2001 From: GideonSerf Date: Sat, 24 Feb 2024 17:47:27 +0200 Subject: [PATCH 140/745] Gamepad rumble support with SDL2 (#3819) * Added gamepad rumble to rcore_desktop.c and rcore_desktop_sdl.c Still need to add to the rest of the platforms. * Add SetGamepadVibration warnings to unimplemented platforms. * Added MAX_GAMEPAD_VIBRATION_TIME The rumble in SDL2 will continue for MAX_GAMEPAD_VIBRATION_TIME unless the user cancels it with a call to SetGamepadVibration(0.0f,0.0f,0.0f) * Cast float duration value to Uint 32 * Changed defines from int to float and fixed typo --------- Co-authored-by: Gideon Serfontein --- src/config.h | 1 + src/platforms/rcore_android.c | 6 ++++++ src/platforms/rcore_desktop.c | 6 ++++++ src/platforms/rcore_desktop_sdl.c | 15 +++++++++++++++ src/platforms/rcore_drm.c | 6 ++++++ src/platforms/rcore_web.c | 6 ++++++ src/raylib.h | 21 +++++++++++---------- src/rcore.c | 3 +++ 8 files changed, 54 insertions(+), 10 deletions(-) diff --git a/src/config.h b/src/config.h index 34d2e9648..10aca978a 100644 --- a/src/config.h +++ b/src/config.h @@ -81,6 +81,7 @@ #define MAX_GAMEPADS 4 // Maximum number of gamepads supported #define MAX_GAMEPAD_AXIS 8 // Maximum number of axis supported (per gamepad) #define MAX_GAMEPAD_BUTTONS 32 // Maximum number of buttons supported (per gamepad) +#define MAX_GAMEPAD_VIBRATION_TIME 2.0f // Maximum vibration time in seconds #define MAX_TOUCH_POINTS 8 // Maximum number of touch points supported #define MAX_KEY_PRESSED_QUEUE 16 // Maximum number of keys in the key input queue #define MAX_CHAR_PRESSED_QUEUE 16 // Maximum number of characters in the char input queue diff --git a/src/platforms/rcore_android.c b/src/platforms/rcore_android.c index cc124d952..23b8f4369 100644 --- a/src/platforms/rcore_android.c +++ b/src/platforms/rcore_android.c @@ -613,6 +613,12 @@ int SetGamepadMappings(const char *mappings) return 0; } +// Set gamepad vibration +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor) +{ + TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform"); +} + // Set mouse position XY void SetMousePosition(int x, int y) { diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 4c98fcdf6..dbfc29e01 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1050,6 +1050,12 @@ int SetGamepadMappings(const char *mappings) return glfwUpdateGamepadMappings(mappings); } +// Set gamepad vibration +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor) +{ + TRACELOG(LOG_WARNING, "GamepadSetVibration() not available on target platform"); +} + // Set mouse position XY void SetMousePosition(int x, int y) { diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 2e2d190cb..f567119ed 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -938,6 +938,21 @@ int SetGamepadMappings(const char *mappings) return SDL_GameControllerAddMapping(mappings); } +// Set gamepad vibration +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor) +{ + //Limit input values to between 0.0f and 1.0f + leftMotor = (0.0f > leftMotor) ? 0.0f : leftMotor; + rightMotor = (0.0f > rightMotor) ? 0.0f : rightMotor; + leftMotor = (1.0f < leftMotor) ? 1.0f : leftMotor; + rightMotor = (1.0f < rightMotor) ? 1.0f : rightMotor; + + if (IsGamepadAvailable(gamepad)) + { + SDL_JoystickRumble(platform.gamepad[gamepad], (Uint16)(leftMotor*65535.0f), (Uint16)(rightMotor*65535.0f), (Uint32)(MAX_GAMEPAD_VIBRATION_TIME*1000.0f)); + } +} + // Set mouse position XY void SetMousePosition(int x, int y) { diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 12e749a02..d303ab1da 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -519,6 +519,12 @@ int SetGamepadMappings(const char *mappings) return 0; } +// Set gamepad vibration +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor) +{ + TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform"); +} + // Set mouse position XY void SetMousePosition(int x, int y) { diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index a13f69908..9328b8c9b 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -850,6 +850,12 @@ int SetGamepadMappings(const char *mappings) return 0; } +// Set gamepad vibration +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor) +{ + TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform"); +} + // Set mouse position XY void SetMousePosition(int x, int y) { diff --git a/src/raylib.h b/src/raylib.h index 7cf4e6536..d857f1c74 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1162,16 +1162,17 @@ RLAPI int GetCharPressed(void); // Get char presse RLAPI void SetExitKey(int key); // Set a custom key to exit program (default is ESC) // Input-related functions: gamepads -RLAPI bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available -RLAPI const char *GetGamepadName(int gamepad); // Get gamepad internal name id -RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once -RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed -RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once -RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed -RLAPI int GetGamepadButtonPressed(void); // Get the last gamepad button pressed -RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad -RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis -RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) +RLAPI bool IsGamepadAvailable(int gamepad); // Check if a gamepad is available +RLAPI const char *GetGamepadName(int gamepad); // Get gamepad internal name id +RLAPI bool IsGamepadButtonPressed(int gamepad, int button); // Check if a gamepad button has been pressed once +RLAPI bool IsGamepadButtonDown(int gamepad, int button); // Check if a gamepad button is being pressed +RLAPI bool IsGamepadButtonReleased(int gamepad, int button); // Check if a gamepad button has been released once +RLAPI bool IsGamepadButtonUp(int gamepad, int button); // Check if a gamepad button is NOT being pressed +RLAPI int GetGamepadButtonPressed(void); // Get the last gamepad button pressed +RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad +RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis +RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB) +RLAPI void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor); // Set gamepad vibration for both motors // Input-related functions: mouse RLAPI bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once diff --git a/src/rcore.c b/src/rcore.c index f4abe117a..024f0d121 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -224,6 +224,9 @@ __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigne #ifndef MAX_GAMEPAD_BUTTONS #define MAX_GAMEPAD_BUTTONS 32 // Maximum number of buttons supported (per gamepad) #endif +#ifndef MAX_GAMEPAD_VIBRATION_TIME + #define MAX_GAMEPAD_VIBRATION_TIME 2.0f // Maximum vibration time in seconds +#endif #ifndef MAX_TOUCH_POINTS #define MAX_TOUCH_POINTS 8 // Maximum number of touch points supported #endif From 2a774a88f5532908e09b15602d1482be96470f7f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 24 Feb 2024 15:47:42 +0000 Subject: [PATCH 141/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 19 + parser/output/raylib_api.lua | 10 + parser/output/raylib_api.txt | 783 +++++++++++++++++----------------- parser/output/raylib_api.xml | 7 +- 4 files changed, 430 insertions(+), 389 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index b0f82d3c4..f8e0982cc 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -4918,6 +4918,25 @@ } ] }, + { + "name": "SetGamepadVibration", + "description": "Set gamepad vibration for both motors", + "returnType": "void", + "params": [ + { + "type": "int", + "name": "gamepad" + }, + { + "type": "float", + "name": "leftMotor" + }, + { + "type": "float", + "name": "rightMotor" + } + ] + }, { "name": "IsMouseButtonPressed", "description": "Check if a mouse button has been pressed once", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index c547fea22..350065e7e 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -4342,6 +4342,16 @@ return { {type = "const char *", name = "mappings"} } }, + { + name = "SetGamepadVibration", + description = "Set gamepad vibration for both motors", + returnType = "void", + params = { + {type = "int", name = "gamepad"}, + {type = "float", name = "leftMotor"}, + {type = "float", name = "rightMotor"} + } + }, { name = "IsMouseButtonPressed", description = "Check if a mouse button has been pressed once", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 4e1c03af1..134b36ced 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -979,7 +979,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 559 +Functions found: 560 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -1904,151 +1904,158 @@ Function 172: SetGamepadMappings() (1 input parameters) Return type: int Description: Set internal gamepad mappings (SDL_GameControllerDB) Param[1]: mappings (type: const char *) -Function 173: IsMouseButtonPressed() (1 input parameters) +Function 173: SetGamepadVibration() (3 input parameters) + Name: SetGamepadVibration + Return type: void + Description: Set gamepad vibration for both motors + Param[1]: gamepad (type: int) + Param[2]: leftMotor (type: float) + Param[3]: rightMotor (type: float) +Function 174: IsMouseButtonPressed() (1 input parameters) Name: IsMouseButtonPressed Return type: bool Description: Check if a mouse button has been pressed once Param[1]: button (type: int) -Function 174: IsMouseButtonDown() (1 input parameters) +Function 175: IsMouseButtonDown() (1 input parameters) Name: IsMouseButtonDown Return type: bool Description: Check if a mouse button is being pressed Param[1]: button (type: int) -Function 175: IsMouseButtonReleased() (1 input parameters) +Function 176: IsMouseButtonReleased() (1 input parameters) Name: IsMouseButtonReleased Return type: bool Description: Check if a mouse button has been released once Param[1]: button (type: int) -Function 176: IsMouseButtonUp() (1 input parameters) +Function 177: IsMouseButtonUp() (1 input parameters) Name: IsMouseButtonUp Return type: bool Description: Check if a mouse button is NOT being pressed Param[1]: button (type: int) -Function 177: GetMouseX() (0 input parameters) +Function 178: GetMouseX() (0 input parameters) Name: GetMouseX Return type: int Description: Get mouse position X No input parameters -Function 178: GetMouseY() (0 input parameters) +Function 179: GetMouseY() (0 input parameters) Name: GetMouseY Return type: int Description: Get mouse position Y No input parameters -Function 179: GetMousePosition() (0 input parameters) +Function 180: GetMousePosition() (0 input parameters) Name: GetMousePosition Return type: Vector2 Description: Get mouse position XY No input parameters -Function 180: GetMouseDelta() (0 input parameters) +Function 181: GetMouseDelta() (0 input parameters) Name: GetMouseDelta Return type: Vector2 Description: Get mouse delta between frames No input parameters -Function 181: SetMousePosition() (2 input parameters) +Function 182: SetMousePosition() (2 input parameters) Name: SetMousePosition Return type: void Description: Set mouse position XY Param[1]: x (type: int) Param[2]: y (type: int) -Function 182: SetMouseOffset() (2 input parameters) +Function 183: SetMouseOffset() (2 input parameters) Name: SetMouseOffset Return type: void Description: Set mouse offset Param[1]: offsetX (type: int) Param[2]: offsetY (type: int) -Function 183: SetMouseScale() (2 input parameters) +Function 184: SetMouseScale() (2 input parameters) Name: SetMouseScale Return type: void Description: Set mouse scaling Param[1]: scaleX (type: float) Param[2]: scaleY (type: float) -Function 184: GetMouseWheelMove() (0 input parameters) +Function 185: GetMouseWheelMove() (0 input parameters) Name: GetMouseWheelMove Return type: float Description: Get mouse wheel movement for X or Y, whichever is larger No input parameters -Function 185: GetMouseWheelMoveV() (0 input parameters) +Function 186: GetMouseWheelMoveV() (0 input parameters) Name: GetMouseWheelMoveV Return type: Vector2 Description: Get mouse wheel movement for both X and Y No input parameters -Function 186: SetMouseCursor() (1 input parameters) +Function 187: SetMouseCursor() (1 input parameters) Name: SetMouseCursor Return type: void Description: Set mouse cursor Param[1]: cursor (type: int) -Function 187: GetTouchX() (0 input parameters) +Function 188: GetTouchX() (0 input parameters) Name: GetTouchX Return type: int Description: Get touch position X for touch point 0 (relative to screen size) No input parameters -Function 188: GetTouchY() (0 input parameters) +Function 189: GetTouchY() (0 input parameters) Name: GetTouchY Return type: int Description: Get touch position Y for touch point 0 (relative to screen size) No input parameters -Function 189: GetTouchPosition() (1 input parameters) +Function 190: GetTouchPosition() (1 input parameters) Name: GetTouchPosition Return type: Vector2 Description: Get touch position XY for a touch point index (relative to screen size) Param[1]: index (type: int) -Function 190: GetTouchPointId() (1 input parameters) +Function 191: GetTouchPointId() (1 input parameters) Name: GetTouchPointId Return type: int Description: Get touch point identifier for given index Param[1]: index (type: int) -Function 191: GetTouchPointCount() (0 input parameters) +Function 192: GetTouchPointCount() (0 input parameters) Name: GetTouchPointCount Return type: int Description: Get number of touch points No input parameters -Function 192: SetGesturesEnabled() (1 input parameters) +Function 193: SetGesturesEnabled() (1 input parameters) Name: SetGesturesEnabled Return type: void Description: Enable a set of gestures using flags Param[1]: flags (type: unsigned int) -Function 193: IsGestureDetected() (1 input parameters) +Function 194: IsGestureDetected() (1 input parameters) Name: IsGestureDetected Return type: bool Description: Check if a gesture have been detected Param[1]: gesture (type: unsigned int) -Function 194: GetGestureDetected() (0 input parameters) +Function 195: GetGestureDetected() (0 input parameters) Name: GetGestureDetected Return type: int Description: Get latest detected gesture No input parameters -Function 195: GetGestureHoldDuration() (0 input parameters) +Function 196: GetGestureHoldDuration() (0 input parameters) Name: GetGestureHoldDuration Return type: float Description: Get gesture hold time in milliseconds No input parameters -Function 196: GetGestureDragVector() (0 input parameters) +Function 197: GetGestureDragVector() (0 input parameters) Name: GetGestureDragVector Return type: Vector2 Description: Get gesture drag vector No input parameters -Function 197: GetGestureDragAngle() (0 input parameters) +Function 198: GetGestureDragAngle() (0 input parameters) Name: GetGestureDragAngle Return type: float Description: Get gesture drag angle No input parameters -Function 198: GetGesturePinchVector() (0 input parameters) +Function 199: GetGesturePinchVector() (0 input parameters) Name: GetGesturePinchVector Return type: Vector2 Description: Get gesture pinch delta No input parameters -Function 199: GetGesturePinchAngle() (0 input parameters) +Function 200: GetGesturePinchAngle() (0 input parameters) Name: GetGesturePinchAngle Return type: float Description: Get gesture pinch angle No input parameters -Function 200: UpdateCamera() (2 input parameters) +Function 201: UpdateCamera() (2 input parameters) Name: UpdateCamera Return type: void Description: Update camera position for selected mode Param[1]: camera (type: Camera *) Param[2]: mode (type: int) -Function 201: UpdateCameraPro() (4 input parameters) +Function 202: UpdateCameraPro() (4 input parameters) Name: UpdateCameraPro Return type: void Description: Update camera movement/rotation @@ -2056,36 +2063,36 @@ Function 201: UpdateCameraPro() (4 input parameters) Param[2]: movement (type: Vector3) Param[3]: rotation (type: Vector3) Param[4]: zoom (type: float) -Function 202: SetShapesTexture() (2 input parameters) +Function 203: SetShapesTexture() (2 input parameters) Name: SetShapesTexture Return type: void Description: Set texture and rectangle to be used on shapes drawing Param[1]: texture (type: Texture2D) Param[2]: source (type: Rectangle) -Function 203: GetShapesTexture() (0 input parameters) +Function 204: GetShapesTexture() (0 input parameters) Name: GetShapesTexture Return type: Texture2D Description: Get texture that is used for shapes drawing No input parameters -Function 204: GetShapesTextureRectangle() (0 input parameters) +Function 205: GetShapesTextureRectangle() (0 input parameters) Name: GetShapesTextureRectangle Return type: Rectangle Description: Get texture source rectangle that is used for shapes drawing No input parameters -Function 205: DrawPixel() (3 input parameters) +Function 206: DrawPixel() (3 input parameters) Name: DrawPixel Return type: void Description: Draw a pixel Param[1]: posX (type: int) Param[2]: posY (type: int) Param[3]: color (type: Color) -Function 206: DrawPixelV() (2 input parameters) +Function 207: DrawPixelV() (2 input parameters) Name: DrawPixelV Return type: void Description: Draw a pixel (Vector version) Param[1]: position (type: Vector2) Param[2]: color (type: Color) -Function 207: DrawLine() (5 input parameters) +Function 208: DrawLine() (5 input parameters) Name: DrawLine Return type: void Description: Draw a line @@ -2094,14 +2101,14 @@ Function 207: DrawLine() (5 input parameters) Param[3]: endPosX (type: int) Param[4]: endPosY (type: int) Param[5]: color (type: Color) -Function 208: DrawLineV() (3 input parameters) +Function 209: DrawLineV() (3 input parameters) Name: DrawLineV Return type: void Description: Draw a line (using gl lines) Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: color (type: Color) -Function 209: DrawLineEx() (4 input parameters) +Function 210: DrawLineEx() (4 input parameters) Name: DrawLineEx Return type: void Description: Draw a line (using triangles/quads) @@ -2109,14 +2116,14 @@ Function 209: DrawLineEx() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 210: DrawLineStrip() (3 input parameters) +Function 211: DrawLineStrip() (3 input parameters) Name: DrawLineStrip Return type: void Description: Draw lines sequence (using gl lines) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 211: DrawLineBezier() (4 input parameters) +Function 212: DrawLineBezier() (4 input parameters) Name: DrawLineBezier Return type: void Description: Draw line segment cubic-bezier in-out interpolation @@ -2124,7 +2131,7 @@ Function 211: DrawLineBezier() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 212: DrawCircle() (4 input parameters) +Function 213: DrawCircle() (4 input parameters) Name: DrawCircle Return type: void Description: Draw a color-filled circle @@ -2132,7 +2139,7 @@ Function 212: DrawCircle() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 213: DrawCircleSector() (6 input parameters) +Function 214: DrawCircleSector() (6 input parameters) Name: DrawCircleSector Return type: void Description: Draw a piece of a circle @@ -2142,7 +2149,7 @@ Function 213: DrawCircleSector() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 214: DrawCircleSectorLines() (6 input parameters) +Function 215: DrawCircleSectorLines() (6 input parameters) Name: DrawCircleSectorLines Return type: void Description: Draw circle sector outline @@ -2152,7 +2159,7 @@ Function 214: DrawCircleSectorLines() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 215: DrawCircleGradient() (5 input parameters) +Function 216: DrawCircleGradient() (5 input parameters) Name: DrawCircleGradient Return type: void Description: Draw a gradient-filled circle @@ -2161,14 +2168,14 @@ Function 215: DrawCircleGradient() (5 input parameters) Param[3]: radius (type: float) Param[4]: color1 (type: Color) Param[5]: color2 (type: Color) -Function 216: DrawCircleV() (3 input parameters) +Function 217: DrawCircleV() (3 input parameters) Name: DrawCircleV Return type: void Description: Draw a color-filled circle (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 217: DrawCircleLines() (4 input parameters) +Function 218: DrawCircleLines() (4 input parameters) Name: DrawCircleLines Return type: void Description: Draw circle outline @@ -2176,14 +2183,14 @@ Function 217: DrawCircleLines() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 218: DrawCircleLinesV() (3 input parameters) +Function 219: DrawCircleLinesV() (3 input parameters) Name: DrawCircleLinesV Return type: void Description: Draw circle outline (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 219: DrawEllipse() (5 input parameters) +Function 220: DrawEllipse() (5 input parameters) Name: DrawEllipse Return type: void Description: Draw ellipse @@ -2192,7 +2199,7 @@ Function 219: DrawEllipse() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 220: DrawEllipseLines() (5 input parameters) +Function 221: DrawEllipseLines() (5 input parameters) Name: DrawEllipseLines Return type: void Description: Draw ellipse outline @@ -2201,7 +2208,7 @@ Function 220: DrawEllipseLines() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 221: DrawRing() (7 input parameters) +Function 222: DrawRing() (7 input parameters) Name: DrawRing Return type: void Description: Draw ring @@ -2212,7 +2219,7 @@ Function 221: DrawRing() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 222: DrawRingLines() (7 input parameters) +Function 223: DrawRingLines() (7 input parameters) Name: DrawRingLines Return type: void Description: Draw ring outline @@ -2223,7 +2230,7 @@ Function 222: DrawRingLines() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 223: DrawRectangle() (5 input parameters) +Function 224: DrawRectangle() (5 input parameters) Name: DrawRectangle Return type: void Description: Draw a color-filled rectangle @@ -2232,20 +2239,20 @@ Function 223: DrawRectangle() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 224: DrawRectangleV() (3 input parameters) +Function 225: DrawRectangleV() (3 input parameters) Name: DrawRectangleV Return type: void Description: Draw a color-filled rectangle (Vector version) Param[1]: position (type: Vector2) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 225: DrawRectangleRec() (2 input parameters) +Function 226: DrawRectangleRec() (2 input parameters) Name: DrawRectangleRec Return type: void Description: Draw a color-filled rectangle Param[1]: rec (type: Rectangle) Param[2]: color (type: Color) -Function 226: DrawRectanglePro() (4 input parameters) +Function 227: DrawRectanglePro() (4 input parameters) Name: DrawRectanglePro Return type: void Description: Draw a color-filled rectangle with pro parameters @@ -2253,7 +2260,7 @@ Function 226: DrawRectanglePro() (4 input parameters) Param[2]: origin (type: Vector2) Param[3]: rotation (type: float) Param[4]: color (type: Color) -Function 227: DrawRectangleGradientV() (6 input parameters) +Function 228: DrawRectangleGradientV() (6 input parameters) Name: DrawRectangleGradientV Return type: void Description: Draw a vertical-gradient-filled rectangle @@ -2263,7 +2270,7 @@ Function 227: DrawRectangleGradientV() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 228: DrawRectangleGradientH() (6 input parameters) +Function 229: DrawRectangleGradientH() (6 input parameters) Name: DrawRectangleGradientH Return type: void Description: Draw a horizontal-gradient-filled rectangle @@ -2273,7 +2280,7 @@ Function 228: DrawRectangleGradientH() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 229: DrawRectangleGradientEx() (5 input parameters) +Function 230: DrawRectangleGradientEx() (5 input parameters) Name: DrawRectangleGradientEx Return type: void Description: Draw a gradient-filled rectangle with custom vertex colors @@ -2282,7 +2289,7 @@ Function 229: DrawRectangleGradientEx() (5 input parameters) Param[3]: col2 (type: Color) Param[4]: col3 (type: Color) Param[5]: col4 (type: Color) -Function 230: DrawRectangleLines() (5 input parameters) +Function 231: DrawRectangleLines() (5 input parameters) Name: DrawRectangleLines Return type: void Description: Draw rectangle outline @@ -2291,14 +2298,14 @@ Function 230: DrawRectangleLines() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 231: DrawRectangleLinesEx() (3 input parameters) +Function 232: DrawRectangleLinesEx() (3 input parameters) Name: DrawRectangleLinesEx Return type: void Description: Draw rectangle outline with extended parameters Param[1]: rec (type: Rectangle) Param[2]: lineThick (type: float) Param[3]: color (type: Color) -Function 232: DrawRectangleRounded() (4 input parameters) +Function 233: DrawRectangleRounded() (4 input parameters) Name: DrawRectangleRounded Return type: void Description: Draw rectangle with rounded edges @@ -2306,7 +2313,7 @@ Function 232: DrawRectangleRounded() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 233: DrawRectangleRoundedLines() (5 input parameters) +Function 234: DrawRectangleRoundedLines() (5 input parameters) Name: DrawRectangleRoundedLines Return type: void Description: Draw rectangle with rounded edges outline @@ -2315,7 +2322,7 @@ Function 233: DrawRectangleRoundedLines() (5 input parameters) Param[3]: segments (type: int) Param[4]: lineThick (type: float) Param[5]: color (type: Color) -Function 234: DrawTriangle() (4 input parameters) +Function 235: DrawTriangle() (4 input parameters) Name: DrawTriangle Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -2323,7 +2330,7 @@ Function 234: DrawTriangle() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 235: DrawTriangleLines() (4 input parameters) +Function 236: DrawTriangleLines() (4 input parameters) Name: DrawTriangleLines Return type: void Description: Draw triangle outline (vertex in counter-clockwise order!) @@ -2331,21 +2338,21 @@ Function 235: DrawTriangleLines() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 236: DrawTriangleFan() (3 input parameters) +Function 237: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 237: DrawTriangleStrip() (3 input parameters) +Function 238: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 238: DrawPoly() (5 input parameters) +Function 239: DrawPoly() (5 input parameters) Name: DrawPoly Return type: void Description: Draw a regular polygon (Vector version) @@ -2354,7 +2361,7 @@ Function 238: DrawPoly() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 239: DrawPolyLines() (5 input parameters) +Function 240: DrawPolyLines() (5 input parameters) Name: DrawPolyLines Return type: void Description: Draw a polygon outline of n sides @@ -2363,7 +2370,7 @@ Function 239: DrawPolyLines() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 240: DrawPolyLinesEx() (6 input parameters) +Function 241: DrawPolyLinesEx() (6 input parameters) Name: DrawPolyLinesEx Return type: void Description: Draw a polygon outline of n sides with extended parameters @@ -2373,7 +2380,7 @@ Function 240: DrawPolyLinesEx() (6 input parameters) Param[4]: rotation (type: float) Param[5]: lineThick (type: float) Param[6]: color (type: Color) -Function 241: DrawSplineLinear() (4 input parameters) +Function 242: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points @@ -2381,7 +2388,7 @@ Function 241: DrawSplineLinear() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 242: DrawSplineBasis() (4 input parameters) +Function 243: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points @@ -2389,7 +2396,7 @@ Function 242: DrawSplineBasis() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 243: DrawSplineCatmullRom() (4 input parameters) +Function 244: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points @@ -2397,7 +2404,7 @@ Function 243: DrawSplineCatmullRom() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 244: DrawSplineBezierQuadratic() (4 input parameters) +Function 245: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] @@ -2405,7 +2412,7 @@ Function 244: DrawSplineBezierQuadratic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 245: DrawSplineBezierCubic() (4 input parameters) +Function 246: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] @@ -2413,7 +2420,7 @@ Function 245: DrawSplineBezierCubic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 246: DrawSplineSegmentLinear() (4 input parameters) +Function 247: DrawSplineSegmentLinear() (4 input parameters) Name: DrawSplineSegmentLinear Return type: void Description: Draw spline segment: Linear, 2 points @@ -2421,7 +2428,7 @@ Function 246: DrawSplineSegmentLinear() (4 input parameters) Param[2]: p2 (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 247: DrawSplineSegmentBasis() (6 input parameters) +Function 248: DrawSplineSegmentBasis() (6 input parameters) Name: DrawSplineSegmentBasis Return type: void Description: Draw spline segment: B-Spline, 4 points @@ -2431,7 +2438,7 @@ Function 247: DrawSplineSegmentBasis() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 248: DrawSplineSegmentCatmullRom() (6 input parameters) +Function 249: DrawSplineSegmentCatmullRom() (6 input parameters) Name: DrawSplineSegmentCatmullRom Return type: void Description: Draw spline segment: Catmull-Rom, 4 points @@ -2441,7 +2448,7 @@ Function 248: DrawSplineSegmentCatmullRom() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 249: DrawSplineSegmentBezierQuadratic() (5 input parameters) +Function 250: DrawSplineSegmentBezierQuadratic() (5 input parameters) Name: DrawSplineSegmentBezierQuadratic Return type: void Description: Draw spline segment: Quadratic Bezier, 2 points, 1 control point @@ -2450,7 +2457,7 @@ Function 249: DrawSplineSegmentBezierQuadratic() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: thick (type: float) Param[5]: color (type: Color) -Function 250: DrawSplineSegmentBezierCubic() (6 input parameters) +Function 251: DrawSplineSegmentBezierCubic() (6 input parameters) Name: DrawSplineSegmentBezierCubic Return type: void Description: Draw spline segment: Cubic Bezier, 2 points, 2 control points @@ -2460,14 +2467,14 @@ Function 250: DrawSplineSegmentBezierCubic() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 251: GetSplinePointLinear() (3 input parameters) +Function 252: GetSplinePointLinear() (3 input parameters) Name: GetSplinePointLinear Return type: Vector2 Description: Get (evaluate) spline point: Linear Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: t (type: float) -Function 252: GetSplinePointBasis() (5 input parameters) +Function 253: GetSplinePointBasis() (5 input parameters) Name: GetSplinePointBasis Return type: Vector2 Description: Get (evaluate) spline point: B-Spline @@ -2476,7 +2483,7 @@ Function 252: GetSplinePointBasis() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 253: GetSplinePointCatmullRom() (5 input parameters) +Function 254: GetSplinePointCatmullRom() (5 input parameters) Name: GetSplinePointCatmullRom Return type: Vector2 Description: Get (evaluate) spline point: Catmull-Rom @@ -2485,7 +2492,7 @@ Function 253: GetSplinePointCatmullRom() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 254: GetSplinePointBezierQuad() (4 input parameters) +Function 255: GetSplinePointBezierQuad() (4 input parameters) Name: GetSplinePointBezierQuad Return type: Vector2 Description: Get (evaluate) spline point: Quadratic Bezier @@ -2493,7 +2500,7 @@ Function 254: GetSplinePointBezierQuad() (4 input parameters) Param[2]: c2 (type: Vector2) Param[3]: p3 (type: Vector2) Param[4]: t (type: float) -Function 255: GetSplinePointBezierCubic() (5 input parameters) +Function 256: GetSplinePointBezierCubic() (5 input parameters) Name: GetSplinePointBezierCubic Return type: Vector2 Description: Get (evaluate) spline point: Cubic Bezier @@ -2502,13 +2509,13 @@ Function 255: GetSplinePointBezierCubic() (5 input parameters) Param[3]: c3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 256: CheckCollisionRecs() (2 input parameters) +Function 257: CheckCollisionRecs() (2 input parameters) Name: CheckCollisionRecs Return type: bool Description: Check collision between two rectangles Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 257: CheckCollisionCircles() (4 input parameters) +Function 258: CheckCollisionCircles() (4 input parameters) Name: CheckCollisionCircles Return type: bool Description: Check collision between two circles @@ -2516,27 +2523,27 @@ Function 257: CheckCollisionCircles() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector2) Param[4]: radius2 (type: float) -Function 258: CheckCollisionCircleRec() (3 input parameters) +Function 259: CheckCollisionCircleRec() (3 input parameters) Name: CheckCollisionCircleRec Return type: bool Description: Check collision between circle and rectangle Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: rec (type: Rectangle) -Function 259: CheckCollisionPointRec() (2 input parameters) +Function 260: CheckCollisionPointRec() (2 input parameters) Name: CheckCollisionPointRec Return type: bool Description: Check if point is inside rectangle Param[1]: point (type: Vector2) Param[2]: rec (type: Rectangle) -Function 260: CheckCollisionPointCircle() (3 input parameters) +Function 261: CheckCollisionPointCircle() (3 input parameters) Name: CheckCollisionPointCircle Return type: bool Description: Check if point is inside circle Param[1]: point (type: Vector2) Param[2]: center (type: Vector2) Param[3]: radius (type: float) -Function 261: CheckCollisionPointTriangle() (4 input parameters) +Function 262: CheckCollisionPointTriangle() (4 input parameters) Name: CheckCollisionPointTriangle Return type: bool Description: Check if point is inside a triangle @@ -2544,14 +2551,14 @@ Function 261: CheckCollisionPointTriangle() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: p3 (type: Vector2) -Function 262: CheckCollisionPointPoly() (3 input parameters) +Function 263: CheckCollisionPointPoly() (3 input parameters) Name: CheckCollisionPointPoly Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) -Function 263: CheckCollisionLines() (5 input parameters) +Function 264: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines Return type: bool Description: Check the collision between two lines defined by two points each, returns collision point by reference @@ -2560,7 +2567,7 @@ Function 263: CheckCollisionLines() (5 input parameters) Param[3]: startPos2 (type: Vector2) Param[4]: endPos2 (type: Vector2) Param[5]: collisionPoint (type: Vector2 *) -Function 264: CheckCollisionPointLine() (4 input parameters) +Function 265: CheckCollisionPointLine() (4 input parameters) Name: CheckCollisionPointLine Return type: bool Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] @@ -2568,18 +2575,18 @@ Function 264: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 265: GetCollisionRec() (2 input parameters) +Function 266: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 266: LoadImage() (1 input parameters) +Function 267: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 267: LoadImageRaw() (5 input parameters) +Function 268: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2588,20 +2595,20 @@ Function 267: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 268: LoadImageSvg() (3 input parameters) +Function 269: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 269: LoadImageAnim() (2 input parameters) +Function 270: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 270: LoadImageAnimFromMemory() (4 input parameters) +Function 271: LoadImageAnimFromMemory() (4 input parameters) Name: LoadImageAnimFromMemory Return type: Image Description: Load image sequence from memory buffer @@ -2609,60 +2616,60 @@ Function 270: LoadImageAnimFromMemory() (4 input parameters) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) Param[4]: frames (type: int *) -Function 271: LoadImageFromMemory() (3 input parameters) +Function 272: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 272: LoadImageFromTexture() (1 input parameters) +Function 273: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 273: LoadImageFromScreen() (0 input parameters) +Function 274: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 274: IsImageReady() (1 input parameters) +Function 275: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 275: UnloadImage() (1 input parameters) +Function 276: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 276: ExportImage() (2 input parameters) +Function 277: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 277: ExportImageToMemory() (3 input parameters) +Function 278: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 278: ExportImageAsCode() (2 input parameters) +Function 279: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 279: GenImageColor() (3 input parameters) +Function 280: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 280: GenImageGradientLinear() (5 input parameters) +Function 281: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2671,7 +2678,7 @@ Function 280: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 281: GenImageGradientRadial() (5 input parameters) +Function 282: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2680,7 +2687,7 @@ Function 281: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 282: GenImageGradientSquare() (5 input parameters) +Function 283: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2689,7 +2696,7 @@ Function 282: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 283: GenImageChecked() (6 input parameters) +Function 284: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2699,14 +2706,14 @@ Function 283: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 284: GenImageWhiteNoise() (3 input parameters) +Function 285: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 285: GenImagePerlinNoise() (5 input parameters) +Function 286: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2715,39 +2722,39 @@ Function 285: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 286: GenImageCellular() (3 input parameters) +Function 287: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 287: GenImageText() (3 input parameters) +Function 288: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 288: ImageCopy() (1 input parameters) +Function 289: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 289: ImageFromImage() (2 input parameters) +Function 290: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 290: ImageText() (3 input parameters) +Function 291: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 291: ImageTextEx() (5 input parameters) +Function 292: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2756,76 +2763,76 @@ Function 291: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 292: ImageFormat() (2 input parameters) +Function 293: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 293: ImageToPOT() (2 input parameters) +Function 294: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 294: ImageCrop() (2 input parameters) +Function 295: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 295: ImageAlphaCrop() (2 input parameters) +Function 296: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 296: ImageAlphaClear() (3 input parameters) +Function 297: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 297: ImageAlphaMask() (2 input parameters) +Function 298: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 298: ImageAlphaPremultiply() (1 input parameters) +Function 299: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 299: ImageBlurGaussian() (2 input parameters) +Function 300: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 300: ImageKernelConvolution() (3 input parameters) +Function 301: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 301: ImageResize() (3 input parameters) +Function 302: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 302: ImageResizeNN() (3 input parameters) +Function 303: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 303: ImageResizeCanvas() (6 input parameters) +Function 304: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2835,12 +2842,12 @@ Function 303: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 304: ImageMipmaps() (1 input parameters) +Function 305: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 305: ImageDither() (5 input parameters) +Function 306: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2849,109 +2856,109 @@ Function 305: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 306: ImageFlipVertical() (1 input parameters) +Function 307: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 307: ImageFlipHorizontal() (1 input parameters) +Function 308: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 308: ImageRotate() (2 input parameters) +Function 309: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 309: ImageRotateCW() (1 input parameters) +Function 310: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 310: ImageRotateCCW() (1 input parameters) +Function 311: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 311: ImageColorTint() (2 input parameters) +Function 312: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 312: ImageColorInvert() (1 input parameters) +Function 313: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 313: ImageColorGrayscale() (1 input parameters) +Function 314: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 314: ImageColorContrast() (2 input parameters) +Function 315: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 315: ImageColorBrightness() (2 input parameters) +Function 316: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 316: ImageColorReplace() (3 input parameters) +Function 317: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 317: LoadImageColors() (1 input parameters) +Function 318: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 318: LoadImagePalette() (3 input parameters) +Function 319: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 319: UnloadImageColors() (1 input parameters) +Function 320: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 320: UnloadImagePalette() (1 input parameters) +Function 321: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 321: GetImageAlphaBorder() (2 input parameters) +Function 322: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 322: GetImageColor() (3 input parameters) +Function 323: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 323: ImageClearBackground() (2 input parameters) +Function 324: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 324: ImageDrawPixel() (4 input parameters) +Function 325: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2959,14 +2966,14 @@ Function 324: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 325: ImageDrawPixelV() (3 input parameters) +Function 326: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 326: ImageDrawLine() (6 input parameters) +Function 327: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -2976,7 +2983,7 @@ Function 326: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 327: ImageDrawLineV() (4 input parameters) +Function 328: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -2984,7 +2991,7 @@ Function 327: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 328: ImageDrawCircle() (5 input parameters) +Function 329: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -2993,7 +3000,7 @@ Function 328: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 329: ImageDrawCircleV() (4 input parameters) +Function 330: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -3001,7 +3008,7 @@ Function 329: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 330: ImageDrawCircleLines() (5 input parameters) +Function 331: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3010,7 +3017,7 @@ Function 330: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 331: ImageDrawCircleLinesV() (4 input parameters) +Function 332: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3018,7 +3025,7 @@ Function 331: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 332: ImageDrawRectangle() (6 input parameters) +Function 333: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3028,7 +3035,7 @@ Function 332: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 333: ImageDrawRectangleV() (4 input parameters) +Function 334: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3036,14 +3043,14 @@ Function 333: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 334: ImageDrawRectangleRec() (3 input parameters) +Function 335: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 335: ImageDrawRectangleLines() (4 input parameters) +Function 336: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3051,7 +3058,7 @@ Function 335: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 336: ImageDraw() (5 input parameters) +Function 337: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3060,7 +3067,7 @@ Function 336: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 337: ImageDrawText() (6 input parameters) +Function 338: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3070,7 +3077,7 @@ Function 337: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 338: ImageDrawTextEx() (7 input parameters) +Function 339: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3081,79 +3088,79 @@ Function 338: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 339: LoadTexture() (1 input parameters) +Function 340: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 340: LoadTextureFromImage() (1 input parameters) +Function 341: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 341: LoadTextureCubemap() (2 input parameters) +Function 342: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 342: LoadRenderTexture() (2 input parameters) +Function 343: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 343: IsTextureReady() (1 input parameters) +Function 344: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 344: UnloadTexture() (1 input parameters) +Function 345: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 345: IsRenderTextureReady() (1 input parameters) +Function 346: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 346: UnloadRenderTexture() (1 input parameters) +Function 347: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 347: UpdateTexture() (2 input parameters) +Function 348: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 348: UpdateTextureRec() (3 input parameters) +Function 349: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 349: GenTextureMipmaps() (1 input parameters) +Function 350: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 350: SetTextureFilter() (2 input parameters) +Function 351: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 351: SetTextureWrap() (2 input parameters) +Function 352: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 352: DrawTexture() (4 input parameters) +Function 353: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3161,14 +3168,14 @@ Function 352: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 353: DrawTextureV() (3 input parameters) +Function 354: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 354: DrawTextureEx() (5 input parameters) +Function 355: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3177,7 +3184,7 @@ Function 354: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 355: DrawTextureRec() (4 input parameters) +Function 356: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3185,7 +3192,7 @@ Function 355: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 356: DrawTexturePro() (6 input parameters) +Function 357: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3195,7 +3202,7 @@ Function 356: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 357: DrawTextureNPatch() (6 input parameters) +Function 358: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3205,106 +3212,106 @@ Function 357: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 358: Fade() (2 input parameters) +Function 359: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 359: ColorToInt() (1 input parameters) +Function 360: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color Param[1]: color (type: Color) -Function 360: ColorNormalize() (1 input parameters) +Function 361: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 361: ColorFromNormalized() (1 input parameters) +Function 362: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 362: ColorToHSV() (1 input parameters) +Function 363: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 363: ColorFromHSV() (3 input parameters) +Function 364: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 364: ColorTint() (2 input parameters) +Function 365: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 365: ColorBrightness() (2 input parameters) +Function 366: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 366: ColorContrast() (2 input parameters) +Function 367: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 367: ColorAlpha() (2 input parameters) +Function 368: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 368: ColorAlphaBlend() (3 input parameters) +Function 369: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 369: GetColor() (1 input parameters) +Function 370: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 370: GetPixelColor() (2 input parameters) +Function 371: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 371: SetPixelColor() (3 input parameters) +Function 372: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 372: GetPixelDataSize() (3 input parameters) +Function 373: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 373: GetFontDefault() (0 input parameters) +Function 374: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 374: LoadFont() (1 input parameters) +Function 375: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 375: LoadFontEx() (4 input parameters) +Function 376: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3312,14 +3319,14 @@ Function 375: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 376: LoadFontFromImage() (3 input parameters) +Function 377: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 377: LoadFontFromMemory() (6 input parameters) +Function 378: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3329,12 +3336,12 @@ Function 377: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 378: IsFontReady() (1 input parameters) +Function 379: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 379: LoadFontData() (6 input parameters) +Function 380: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3344,7 +3351,7 @@ Function 379: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 380: GenImageFontAtlas() (6 input parameters) +Function 381: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3354,30 +3361,30 @@ Function 380: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 381: UnloadFontData() (2 input parameters) +Function 382: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 382: UnloadFont() (1 input parameters) +Function 383: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 383: ExportFontAsCode() (2 input parameters) +Function 384: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 384: DrawFPS() (2 input parameters) +Function 385: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 385: DrawText() (5 input parameters) +Function 386: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3386,7 +3393,7 @@ Function 385: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 386: DrawTextEx() (6 input parameters) +Function 387: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3396,7 +3403,7 @@ Function 386: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 387: DrawTextPro() (8 input parameters) +Function 388: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3408,7 +3415,7 @@ Function 387: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 388: DrawTextCodepoint() (5 input parameters) +Function 389: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3417,7 +3424,7 @@ Function 388: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 389: DrawTextCodepoints() (7 input parameters) +Function 390: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3428,18 +3435,18 @@ Function 389: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 390: SetTextLineSpacing() (1 input parameters) +Function 391: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 391: MeasureText() (2 input parameters) +Function 392: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 392: MeasureTextEx() (4 input parameters) +Function 393: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3447,185 +3454,185 @@ Function 392: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 393: GetGlyphIndex() (2 input parameters) +Function 394: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 394: GetGlyphInfo() (2 input parameters) +Function 395: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 395: GetGlyphAtlasRec() (2 input parameters) +Function 396: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 396: LoadUTF8() (2 input parameters) +Function 397: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 397: UnloadUTF8() (1 input parameters) +Function 398: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 398: LoadCodepoints() (2 input parameters) +Function 399: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 399: UnloadCodepoints() (1 input parameters) +Function 400: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 400: GetCodepointCount() (1 input parameters) +Function 401: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 401: GetCodepoint() (2 input parameters) +Function 402: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 402: GetCodepointNext() (2 input parameters) +Function 403: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 403: GetCodepointPrevious() (2 input parameters) +Function 404: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 404: CodepointToUTF8() (2 input parameters) +Function 405: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 405: TextCopy() (2 input parameters) +Function 406: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 406: TextIsEqual() (2 input parameters) +Function 407: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 407: TextLength() (1 input parameters) +Function 408: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 408: TextFormat() (2 input parameters) +Function 409: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 409: TextSubtext() (3 input parameters) +Function 410: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 410: TextReplace() (3 input parameters) +Function 411: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 411: TextInsert() (3 input parameters) +Function 412: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 412: TextJoin() (3 input parameters) +Function 413: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 413: TextSplit() (3 input parameters) +Function 414: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 414: TextAppend() (3 input parameters) +Function 415: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 415: TextFindIndex() (2 input parameters) +Function 416: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 416: TextToUpper() (1 input parameters) +Function 417: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 417: TextToLower() (1 input parameters) +Function 418: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 418: TextToPascal() (1 input parameters) +Function 419: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 419: TextToInteger() (1 input parameters) +Function 420: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 420: TextToFloat() (1 input parameters) +Function 421: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 421: DrawLine3D() (3 input parameters) +Function 422: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 422: DrawPoint3D() (2 input parameters) +Function 423: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 423: DrawCircle3D() (5 input parameters) +Function 424: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3634,7 +3641,7 @@ Function 423: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 424: DrawTriangle3D() (4 input parameters) +Function 425: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3642,14 +3649,14 @@ Function 424: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 425: DrawTriangleStrip3D() (3 input parameters) +Function 426: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 426: DrawCube() (5 input parameters) +Function 427: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3658,14 +3665,14 @@ Function 426: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 427: DrawCubeV() (3 input parameters) +Function 428: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 428: DrawCubeWires() (5 input parameters) +Function 429: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3674,21 +3681,21 @@ Function 428: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 429: DrawCubeWiresV() (3 input parameters) +Function 430: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 430: DrawSphere() (3 input parameters) +Function 431: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 431: DrawSphereEx() (5 input parameters) +Function 432: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3697,7 +3704,7 @@ Function 431: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 432: DrawSphereWires() (5 input parameters) +Function 433: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3706,7 +3713,7 @@ Function 432: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 433: DrawCylinder() (6 input parameters) +Function 434: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3716,7 +3723,7 @@ Function 433: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 434: DrawCylinderEx() (6 input parameters) +Function 435: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3726,7 +3733,7 @@ Function 434: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 435: DrawCylinderWires() (6 input parameters) +Function 436: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3736,7 +3743,7 @@ Function 435: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 436: DrawCylinderWiresEx() (6 input parameters) +Function 437: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3746,7 +3753,7 @@ Function 436: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 437: DrawCapsule() (6 input parameters) +Function 438: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3756,7 +3763,7 @@ Function 437: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 438: DrawCapsuleWires() (6 input parameters) +Function 439: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3766,51 +3773,51 @@ Function 438: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 439: DrawPlane() (3 input parameters) +Function 440: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 440: DrawRay() (2 input parameters) +Function 441: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 441: DrawGrid() (2 input parameters) +Function 442: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 442: LoadModel() (1 input parameters) +Function 443: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 443: LoadModelFromMesh() (1 input parameters) +Function 444: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 444: IsModelReady() (1 input parameters) +Function 445: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 445: UnloadModel() (1 input parameters) +Function 446: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 446: GetModelBoundingBox() (1 input parameters) +Function 447: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 447: DrawModel() (4 input parameters) +Function 448: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3818,7 +3825,7 @@ Function 447: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 448: DrawModelEx() (6 input parameters) +Function 449: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3828,7 +3835,7 @@ Function 448: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 449: DrawModelWires() (4 input parameters) +Function 450: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3836,7 +3843,7 @@ Function 449: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 450: DrawModelWiresEx() (6 input parameters) +Function 451: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3846,13 +3853,13 @@ Function 450: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 451: DrawBoundingBox() (2 input parameters) +Function 452: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 452: DrawBillboard() (5 input parameters) +Function 453: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3861,7 +3868,7 @@ Function 452: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 453: DrawBillboardRec() (6 input parameters) +Function 454: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3871,7 +3878,7 @@ Function 453: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 454: DrawBillboardPro() (9 input parameters) +Function 455: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3884,13 +3891,13 @@ Function 454: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 455: UploadMesh() (2 input parameters) +Function 456: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 456: UpdateMeshBuffer() (5 input parameters) +Function 457: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3899,19 +3906,19 @@ Function 456: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 457: UnloadMesh() (1 input parameters) +Function 458: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 458: DrawMesh() (3 input parameters) +Function 459: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 459: DrawMeshInstanced() (4 input parameters) +Function 460: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3919,35 +3926,35 @@ Function 459: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 460: GetMeshBoundingBox() (1 input parameters) +Function 461: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 461: GenMeshTangents() (1 input parameters) +Function 462: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 462: ExportMesh() (2 input parameters) +Function 463: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 463: ExportMeshAsCode() (2 input parameters) +Function 464: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 464: GenMeshPoly() (2 input parameters) +Function 465: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 465: GenMeshPlane() (4 input parameters) +Function 466: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3955,42 +3962,42 @@ Function 465: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 466: GenMeshCube() (3 input parameters) +Function 467: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 467: GenMeshSphere() (3 input parameters) +Function 468: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 468: GenMeshHemiSphere() (3 input parameters) +Function 469: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 469: GenMeshCylinder() (3 input parameters) +Function 470: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 470: GenMeshCone() (3 input parameters) +Function 471: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 471: GenMeshTorus() (4 input parameters) +Function 472: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -3998,7 +4005,7 @@ Function 471: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 472: GenMeshKnot() (4 input parameters) +Function 473: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4006,84 +4013,84 @@ Function 472: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 473: GenMeshHeightmap() (2 input parameters) +Function 474: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 474: GenMeshCubicmap() (2 input parameters) +Function 475: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 475: LoadMaterials() (2 input parameters) +Function 476: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 476: LoadMaterialDefault() (0 input parameters) +Function 477: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 477: IsMaterialReady() (1 input parameters) +Function 478: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 478: UnloadMaterial() (1 input parameters) +Function 479: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 479: SetMaterialTexture() (3 input parameters) +Function 480: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 480: SetModelMeshMaterial() (3 input parameters) +Function 481: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 481: LoadModelAnimations() (2 input parameters) +Function 482: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 482: UpdateModelAnimation() (3 input parameters) +Function 483: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 483: UnloadModelAnimation() (1 input parameters) +Function 484: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 484: UnloadModelAnimations() (2 input parameters) +Function 485: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 485: IsModelAnimationValid() (2 input parameters) +Function 486: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 486: CheckCollisionSpheres() (4 input parameters) +Function 487: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4091,40 +4098,40 @@ Function 486: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 487: CheckCollisionBoxes() (2 input parameters) +Function 488: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 488: CheckCollisionBoxSphere() (3 input parameters) +Function 489: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 489: GetRayCollisionSphere() (3 input parameters) +Function 490: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 490: GetRayCollisionBox() (2 input parameters) +Function 491: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 491: GetRayCollisionMesh() (3 input parameters) +Function 492: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 492: GetRayCollisionTriangle() (4 input parameters) +Function 493: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4132,7 +4139,7 @@ Function 492: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 493: GetRayCollisionQuad() (5 input parameters) +Function 494: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4141,158 +4148,158 @@ Function 493: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 494: InitAudioDevice() (0 input parameters) +Function 495: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 495: CloseAudioDevice() (0 input parameters) +Function 496: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 496: IsAudioDeviceReady() (0 input parameters) +Function 497: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 497: SetMasterVolume() (1 input parameters) +Function 498: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 498: GetMasterVolume() (0 input parameters) +Function 499: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 499: LoadWave() (1 input parameters) +Function 500: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 500: LoadWaveFromMemory() (3 input parameters) +Function 501: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 501: IsWaveReady() (1 input parameters) +Function 502: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 502: LoadSound() (1 input parameters) +Function 503: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 503: LoadSoundFromWave() (1 input parameters) +Function 504: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 504: LoadSoundAlias() (1 input parameters) +Function 505: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 505: IsSoundReady() (1 input parameters) +Function 506: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 506: UpdateSound() (3 input parameters) +Function 507: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 507: UnloadWave() (1 input parameters) +Function 508: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 508: UnloadSound() (1 input parameters) +Function 509: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 509: UnloadSoundAlias() (1 input parameters) +Function 510: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 510: ExportWave() (2 input parameters) +Function 511: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 511: ExportWaveAsCode() (2 input parameters) +Function 512: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 512: PlaySound() (1 input parameters) +Function 513: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 513: StopSound() (1 input parameters) +Function 514: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 514: PauseSound() (1 input parameters) +Function 515: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 515: ResumeSound() (1 input parameters) +Function 516: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 516: IsSoundPlaying() (1 input parameters) +Function 517: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 517: SetSoundVolume() (2 input parameters) +Function 518: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 518: SetSoundPitch() (2 input parameters) +Function 519: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 519: SetSoundPan() (2 input parameters) +Function 520: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 520: WaveCopy() (1 input parameters) +Function 521: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 521: WaveCrop() (3 input parameters) +Function 522: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined samples range Param[1]: wave (type: Wave *) Param[2]: initSample (type: int) Param[3]: finalSample (type: int) -Function 522: WaveFormat() (4 input parameters) +Function 523: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4300,203 +4307,203 @@ Function 522: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 523: LoadWaveSamples() (1 input parameters) +Function 524: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 524: UnloadWaveSamples() (1 input parameters) +Function 525: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 525: LoadMusicStream() (1 input parameters) +Function 526: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 526: LoadMusicStreamFromMemory() (3 input parameters) +Function 527: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 527: IsMusicReady() (1 input parameters) +Function 528: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 528: UnloadMusicStream() (1 input parameters) +Function 529: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 529: PlayMusicStream() (1 input parameters) +Function 530: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 530: IsMusicStreamPlaying() (1 input parameters) +Function 531: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 531: UpdateMusicStream() (1 input parameters) +Function 532: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 532: StopMusicStream() (1 input parameters) +Function 533: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 533: PauseMusicStream() (1 input parameters) +Function 534: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 534: ResumeMusicStream() (1 input parameters) +Function 535: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 535: SeekMusicStream() (2 input parameters) +Function 536: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 536: SetMusicVolume() (2 input parameters) +Function 537: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 537: SetMusicPitch() (2 input parameters) +Function 538: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 538: SetMusicPan() (2 input parameters) +Function 539: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 539: GetMusicTimeLength() (1 input parameters) +Function 540: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 540: GetMusicTimePlayed() (1 input parameters) +Function 541: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 541: LoadAudioStream() (3 input parameters) +Function 542: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 542: IsAudioStreamReady() (1 input parameters) +Function 543: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 543: UnloadAudioStream() (1 input parameters) +Function 544: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 544: UpdateAudioStream() (3 input parameters) +Function 545: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 545: IsAudioStreamProcessed() (1 input parameters) +Function 546: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 546: PlayAudioStream() (1 input parameters) +Function 547: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 547: PauseAudioStream() (1 input parameters) +Function 548: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 548: ResumeAudioStream() (1 input parameters) +Function 549: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 549: IsAudioStreamPlaying() (1 input parameters) +Function 550: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 550: StopAudioStream() (1 input parameters) +Function 551: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 551: SetAudioStreamVolume() (2 input parameters) +Function 552: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 552: SetAudioStreamPitch() (2 input parameters) +Function 553: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 553: SetAudioStreamPan() (2 input parameters) +Function 554: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 554: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 555: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 555: SetAudioStreamCallback() (2 input parameters) +Function 556: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 556: AttachAudioStreamProcessor() (2 input parameters) +Function 557: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as s Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 557: DetachAudioStreamProcessor() (2 input parameters) +Function 558: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 558: AttachAudioMixedProcessor() (1 input parameters) +Function 559: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as s Param[1]: processor (type: AudioCallback) -Function 559: DetachAudioMixedProcessor() (1 input parameters) +Function 560: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index e439dff74..16f3717d2 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -669,7 +669,7 @@ - + @@ -1193,6 +1193,11 @@ + + + + + From c588a291e61586c5b74e230919b490aab18d8290 Mon Sep 17 00:00:00 2001 From: 4rk <88458312+Dev-Tade@users.noreply.github.com> Date: Mon, 26 Feb 2024 06:22:06 -0300 Subject: [PATCH 142/745] Add very little sanitization to indentifier names in ExportDataAsCode() (#3832) --- src/utils.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index 987021c73..78b3b7bdc 100644 --- a/src/utils.c +++ b/src/utils.c @@ -313,10 +313,16 @@ bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileN byteCount += sprintf(txtData + byteCount, "// //\n"); byteCount += sprintf(txtData + byteCount, "////////////////////////////////////////////////////////////////////////////////////////\n\n"); - // Get file name from path and convert variable name to uppercase + // Get file name from path char varFileName[256] = { 0 }; strcpy(varFileName, GetFileNameWithoutExt(fileName)); - for (int i = 0; varFileName[i] != '\0'; i++) if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; } + for (int i = 0; varFileName[i] != '\0'; i++) + { + // Convert variable name to uppercase + if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; } + // Replace '-' (non valid character for C identifier with '_') + if (varFileName[i] == '-') { varFileName[i] = '_'; } + } byteCount += sprintf(txtData + byteCount, "#define %s_DATA_SIZE %i\n\n", varFileName, dataSize); From b86f78f6b179dc374458680f8b192558a1e4a3c6 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Mon, 26 Feb 2024 09:25:47 +0000 Subject: [PATCH 143/745] Fix examples linking with CMake and -DPLATFORM=SDL (#3825) Currently, every example fails linking likeso: [ 3%] Linking C executable audio_mixed_processor /usr/bin/ld: ../raylib/libraylib.a(raudio.c.o): undefined reference to symbol 'exp@@GLIBC_2.29' /usr/bin/ld: /usr/lib/libm.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Apparently, linking libm explicitly is the solution. --- examples/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 3bcdc19f0..c5fa659ee 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -131,6 +131,9 @@ foreach (example_source ${example_sources}) add_executable(${example_name} ${example_source}) target_link_libraries(${example_name} raylib) + if (NOT WIN32) + target_link_libraries(${example_name} m) + endif() string(REGEX MATCH ".*/.*/" resources_dir ${example_source}) string(APPEND resources_dir "resources") From 6db5bb5ccd9e609b786b41c668031f5dfbd332d1 Mon Sep 17 00:00:00 2001 From: Alex Macafee Date: Mon, 26 Feb 2024 20:26:17 +1100 Subject: [PATCH 144/745] Update BINDINGS.md (#3829) Raylib VAPI has been updated to support all features added by Raylib 5.0 --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 35eec2aa6..2a0d21ba1 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -74,7 +74,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-SmallBASIC | 5.0 | [SmallBASIC](https://github.com/smallbasic/SmallBASIC) | GPLv3 | https://github.com/smallbasic/smallbasic.plugins/tree/master/raylib | | raylib-umka | **4.5** | [Umka](https://github.com/vtereshkov/umka-lang) | Zlib | https://github.com/robloach/raylib-umka | | raylib.v | 4.2 | [V](https://vlang.io/) | Zlib | https://github.com/irishgreencitrus/raylib.v | -| raylib-vapi | 4.2 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | +| raylib-vapi | 5.0 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | | raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | | raylib-zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | | raylib.zig | 5.1-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | From 53cfc7c96564fad3319d642c58e74ce37e49efbc Mon Sep 17 00:00:00 2001 From: Gary M Date: Mon, 26 Feb 2024 01:26:39 -0800 Subject: [PATCH 145/745] assign format to cubemap (#3823) --- src/rtextures.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 97d9e3858..efa91df91 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3874,8 +3874,15 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) // NOTE: Cubemap data is expected to be provided as 6 images in a single data array, // one after the other (that's a vertical image), following convention: +X, -X, +Y, -Y, +Z, -Z cubemap.id = rlLoadTextureCubemap(faces.data, size, faces.format); - if (cubemap.id == 0) TRACELOG(LOG_WARNING, "IMAGE: Failed to load cubemap image"); - else cubemap.mipmaps = 1; + if (cubemap.id == 0) + { + TRACELOG(LOG_WARNING, "IMAGE: Failed to load cubemap image"); + } + else + { + cubemap.format = faces.format; + cubemap.mipmaps = 1; + } UnloadImage(faces); } From 1df91e74b97e4a7c3e0bb6a81f748debe551aaf0 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Mon, 26 Feb 2024 09:29:21 +0000 Subject: [PATCH 146/745] Fix building of raylib_opengl_interop on PLATFORM_DESKTOP_SDL (#3826) I tested this with CMake. I don't know if the examples makefile currently handles this case. --- examples/others/raylib_opengl_interop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/others/raylib_opengl_interop.c b/examples/others/raylib_opengl_interop.c index 33a58a227..c1b58d67c 100644 --- a/examples/others/raylib_opengl_interop.c +++ b/examples/others/raylib_opengl_interop.c @@ -26,7 +26,7 @@ #include "raylib.h" -#if defined(PLATFORM_DESKTOP) +#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL) #if defined(GRAPHICS_API_OPENGL_ES2) #include "glad_gles2.h" // Required for: OpenGL functionality #define glGenVertexArrays glGenVertexArraysOES @@ -163,4 +163,4 @@ int main(void) //-------------------------------------------------------------------------------------- return 0; -} \ No newline at end of file +} From 2a263a09cc431b92b449cbcc8330127a3735acdb Mon Sep 17 00:00:00 2001 From: iP Date: Mon, 26 Feb 2024 13:30:22 +0400 Subject: [PATCH 147/745] bone socket tutorial (#3833) Tutorial on how to use bones as sockets to calculate the position of something. --- examples/models/models_bone_socket.c | 183 ++++++++++++++++++ examples/models/models_bone_socket.png | Bin 0 -> 40817 bytes examples/models/resources/models/gltf/LICENSE | 3 + .../models/resources/models/gltf/greenman.glb | Bin 0 -> 163836 bytes .../resources/models/gltf/greenman_hat.glb | Bin 0 -> 17300 bytes .../resources/models/gltf/greenman_shield.glb | Bin 0 -> 41276 bytes .../resources/models/gltf/greenman_sword.glb | Bin 0 -> 23668 bytes 7 files changed, 186 insertions(+) create mode 100644 examples/models/models_bone_socket.c create mode 100644 examples/models/models_bone_socket.png create mode 100644 examples/models/resources/models/gltf/greenman.glb create mode 100644 examples/models/resources/models/gltf/greenman_hat.glb create mode 100644 examples/models/resources/models/gltf/greenman_shield.glb create mode 100644 examples/models/resources/models/gltf/greenman_sword.glb diff --git a/examples/models/models_bone_socket.c b/examples/models/models_bone_socket.c new file mode 100644 index 000000000..c454cf31e --- /dev/null +++ b/examples/models/models_bone_socket.c @@ -0,0 +1,183 @@ +/******************************************************************************************* +* +* raylib [core] example - Using bones as socket for calculating the positioning of something +* +* Example originally created with raylib 4.5, last time updated with raylib 4.5 +* +* Example contributed by iP (@ipzaur) and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2024 iP (@ipzaur) +* +********************************************************************************************/ + +#include "raylib.h" + +#include +#include + +#define BONE_SOCKETS 3 + +#define BONE_SOCKET_HAT 0 +#define BONE_SOCKET_HAND_R 1 +#define BONE_SOCKET_HAND_L 2 + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [models] example - bone socket"); + + // Define the camera to look into our 3d world + Camera camera = { 0 }; + camera.position = { 5.0f, 5.0f, 5.0f }; // Camera position + camera.target = { 0.0f, 2.0f, 0.0f }; // Camera looking at point + camera.up = { 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + + // Load gltf model + Model characterModel = LoadModel("greenman.glb"); + Model equipModel[BONE_SOCKETS] = { + LoadModel("greenman_hat.glb"), // index for the hat model is the same as BONE_SOCKET_HAT + LoadModel("greenman_sword.glb"), // index for the sword model is the same as BONE_SOCKET_HAND_R + LoadModel("greenman_shield.glb") // index for the shield model is the same as BONE_SOCKET_HAND_L + }; + bool showEquip[3] = {true, true, true}; // for toggle on/off equip + + // Load gltf model animations + unsigned int animsCount = 0; + unsigned int animIndex = 0; + unsigned int animCurrentFrame = 0; + ModelAnimation* modelAnimations = LoadModelAnimations("greenman.glb", &animsCount); + + // indices of bones for sockets + int boneSocketIndex[BONE_SOCKETS] = {-1, -1, -1}; + + // search bones for sockets + for (int i = 0; i < characterModel.boneCount; i++) { + if (strcmp(characterModel.bones[i].name, "socket_hat") == 0) { + boneSocketIndex[BONE_SOCKET_HAT] = i; + continue; + } + if (strcmp(characterModel.bones[i].name, "socket_hand_R") == 0) { + boneSocketIndex[BONE_SOCKET_HAND_R] = i; + continue; + } + if (strcmp(characterModel.bones[i].name, "socket_hand_L") == 0) { + boneSocketIndex[BONE_SOCKET_HAND_L] = i; + continue; + } + } + + Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position + unsigned short angle = 0; // angle for rotate character + + DisableCursor(); // Limit cursor to relative movement inside the window + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera, CAMERA_THIRD_PERSON); + // rotate character + if (IsKeyDown(KEY_F)) { + angle = (angle + 1) % 360; + } else if (IsKeyDown(KEY_H)) { + angle = (360 + angle - 1) % 360; + } + // Select current animation + if (IsKeyPressed(KEY_T)) { + animIndex = (animIndex + 1) % animsCount; + } else if (IsKeyPressed(KEY_G)) { + animIndex = (animIndex + animsCount - 1) % animsCount; + } + // toggle shown of equip + if (IsKeyPressed(KEY_ONE)) { + showEquip[BONE_SOCKET_HAT] = !showEquip[BONE_SOCKET_HAT]; + } + if (IsKeyPressed(KEY_TWO)) { + showEquip[BONE_SOCKET_HAND_R] = !showEquip[BONE_SOCKET_HAND_R]; + } + if (IsKeyPressed(KEY_THREE)) { + showEquip[BONE_SOCKET_HAND_L] = !showEquip[BONE_SOCKET_HAND_L]; + } + + // Update model animation + ModelAnimation anim = modelAnimations[animIndex]; + animCurrentFrame = (animCurrentFrame + 1) % anim.frameCount; + UpdateModelAnimation(characterModel, anim, animCurrentFrame); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + // draw character + Quaternion characterRotate = QuaternionFromAxisAngle({ 0.0f,1.0f,0.0f }, angle*DEG2RAD); + characterModel.transform = MatrixMultiply(QuaternionToMatrix(characterRotate), MatrixTranslate(position.x, position.y, position.z)); + UpdateModelAnimation(characterModel, anim, animCurrentFrame); + DrawMesh(characterModel.meshes[0], characterModel.materials[1], characterModel.transform); + + // draw equipments (hat, sword, shield) + for (unsigned short i=0; irotation; + // calculate socket rotation (angle between bone in initial pose and same bone in current animation frame) + Quaternion rotate = QuaternionMultiply(outRotation, QuaternionInvert(inRotation)); + Matrix matrixTransform = QuaternionToMatrix(rotate); + // translate socket to its position in the current animation + matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(transform->translation.x, transform->translation.y, transform->translation.z)); + // rotate socket by character angle + matrixTransform = MatrixMultiply(matrixTransform, QuaternionToMatrix(characterRotate)); + // translate socket to character position + matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(position.x, position.y+0.0f, position.z)); + // draw mesh at socket position with socket angle rotation + DrawMesh(equipModel[i].meshes[0], equipModel[i].materials[1], matrixTransform); + } + + DrawGrid(10, 1.0f); + + EndMode3D(); + + DrawText("Use the T/G to switch animation", 10, 10, 20, GRAY); + DrawText("Use the F/H to rotate character left/right", 10, 35, 20, GRAY); + DrawText("Use the 1,2,3 to toggle shown of hat, sword and shield", 10, 60, 20, GRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadModelAnimations(modelAnimations, animsCount); + UnloadModel(characterModel); // Unload character model and meshes/material + for (unsigned short i = 0; i < BONE_SOCKETS; i++) { + UnloadModel(equipModel[i]); // Unload equipment model and meshes/material + } + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/models/models_bone_socket.png b/examples/models/models_bone_socket.png new file mode 100644 index 0000000000000000000000000000000000000000..fdef19fc954c607a506a5135d05acbac94c61aa9 GIT binary patch literal 40817 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

YM?R>YRa+ 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

YOGz>YS!J>YQde>YU~}>YNrj z>YSE3>YP?O>YUa(>YO$@>YTPZ>YR2u>YVmE>YNTb>YR=`>YPqG>YUCx>YOe*>YT1R z>YQ#m>YVO6>YN@r>YScB>YQFW>YUy>>YP40>YTnh>YRQ$>YV;M>YM>O>YRZ(>YPD3 z>YTwk>YO1u>YSlE>YQOZ>YU*^>YNce>YR}}>YPzJ>YUL!>YOn;>YTAU>YQ;p>YVX9 z>YNEW>YRx>>YPbB>YT|s>YOP$>YS-M>YQmh>YV91>YN!m>YSN6>YQ0R>YUj+>YO<` z>YTYc>YRBx>YVvH>YN2S>YR$Y>fB1Y>YU2D>YOUN>YS>&>YQr2>YVDj>YN(7>YSRo z>YQ4->YUoT>YO^d>YTc|>YRGI>YVzz>YN6;>Rg7p>YPTp>YT>9>YOIJ>YS#!>YQe} z>YV1f>YNt3>YSFk>YP@(>YUcP>YO&Z>YTQ^>YR4E>YVnv>YNU`>RgVx>YPrx>YUEH z>YOgR>YT2+>YQ%6>YVPn>YN_B>YSds>YQG>>YU!X>YP5h>YTp1>YRSM>YV<%>YM?( z>Rf@k>fAxP>YTy4>YO3E>YSmv>YQP^>YU-a>YNd}>YS0f>YP!!>YUNK>YOpU>YTB< z>YQ=9>YVYq>YNF>>YRzX>fA}X>YT~C>YORM>YS;%>YQo1>YVAi>YN$6>YSOn>YQ1+ z>YUlS>YO>c>YTZ{>YRDH>YVwy>YN3->RgI?>YPe?>YU1Y>YOTi>YS>2>YQqN>YVC& z>YN&S>YSQ->YQ47>YUno>YO@y>YTcI>YRFd>YVy|>YN68>YRpp>fA

YT=U>YOHe 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 z z(k;|vng;|vzk;|vkf z;|vwj;|vqh;|v$l(o z;|>zm;|vzo;|vkj;|vwn;|vql;|v$p(j;|>zh;|vzj;|vke;|vwi;|vqg;|v$k(n;|>zl z;|vzn;|vki;|vwm;|vqk;|v$o<1Q4{(l;|>zj;|vzl;|vkg;|vwk;|vqi;|v$m(p;|>zn;|vzp;|vkk;|vwo;|vqm z;|v$q<5ZW_<5H5+<5ZT?<5ZE-<5ZQ><5ZK< z<5ZW@<5ZQ_<5ZK@<5ZW{<5ZE+<5ZQ=<5ZK;<5ZW?#<1$jv<1|*#<1$gu<1$sy<1$mw<1$y! zQ% z<1|vz<1|*%<1|sy<1|&$<1|y!<1|;&M;|y2Q*<1|v%<1|**<1|s$<1|&)<1|y&<1|;+Q;|y2U$<1|vy<1|*$<1|sx<1|&#<1|yz<1|;%L;|y2P)<1|v$<1|*)<1|s#<1|&( z<1|y%<1|;*P;|y2T&<1|v! z<1|*&<1|sz<1|&%<1|y#<1|;(N;|y2R+<1|v&<1|*+<1|s%<1|&*<1|y(<1|;-R z;|y2V0<8;x`<8;-~<8;%| z<8;^1|4 z<8;x~<8;;3<8;&1<8;^52<8;x|<8;;1<8;%~<8;^3~6<8;y1<8;;5<8;&3<8;^71<8;x{<8;;0<8;%}<8;^2 z}5<8;y0 z<8;;4<8;&2<8;^63<8;x}<8;;2<8;&0<8;^47<8;y2<8;;6<8;&4<8;^8>;|@2_;|e#_@N<25wW<1#YR<1{wX<1{hS<1{tW<1{nU<1{zY;|w>_} z;|w;@;|wv;;|w*? z;|w#=;|w>^;|?^{;|?;_;|w;{;|wv?;|w*` z;|w#^;|w>|`~C<4m*A<4m{E<1(_;<21I^<213<<21F@<219><21L_G<4m*E<4m{I<219<<21L@E<4m*C<4m{G<21F_<219@<21L{I<4m*G<4m{K<213+<21F=<219;<21L?D<4m*B<4m{FH<4m*F<4m{JF<4m*D<4m{HJ<4m*H<4m{L<92n_<92h@<92t{<8*V<<8*h@<8*b_<8*V@<8*h{<8*S-<8*e><8*P+<8*b=<8*V;<8*h?<8*e_<8*P=<8*b^<8*V?<8*h`Z@T>f_Q=c^W?Z>T<f@Q;c?W=<92k{<8*S@<8*e{<8*P?<8*b`<8*V^<8*h|Z_T@f{Q?c`W^+<4p3< z<4pF@<4p0;<4pC?<4p6=<4pI^S=<4p9_<4p3@ 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

8#_8i}#_8*6#_8v2#_8{A#u?yg#>wbq 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

~jw}7)fm!Pvfw~(_vr?9gr;4*Zx2m%}x0V0& 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≧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 xSof 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
Fl_|B;cA|05zI{)dN${|^fb z`yUz_`adKj-*ow$LGJdxA%W9FR%Ze zo}T|bJUsrpySx8)b94Le>gxL6#l_{nv$OMmCnu->j*gE19UL6~+uPg!x3jbRZ);Ko&)BCThtNUL^N9Vt`w)TH5Ev^5WnwtMLG&KIJtE>N4Q&an|s;c^5MMdSm zva<4jB_*Z*ii(Q=6%-Wy%gf9Emy?tGFDoniUq(jezqGXUe<>-c|B{lD|0N_O{)>x? z{}&Sz`!6ag`d>suxH}`)o zF0TKaoSgqTI5_^Zv$OwaV`KZz%F6nmg@xrmGc)slCMKr;jEs!`K}{21#}FSg5Cd9p zfEst;`n@Q>G(7{vGte^xl@;-s`9%<}F{l+3pAHf<&@(YaHUT69QbfK9Al)ELz6l_A zQDy?Dkx7{eAlFl70;sh~nF*j4CuJspnxK@K0BVy`W&)^@N|_0uRx4#DfSR$CnE-0n zQf30Ep-Y(wpq4LXCV-m4l$ii(8&hTisIg3$382<9WhQ`{)0CM2YF|@k0;s`FnF*j4 zIAtb)n&gz30BWOCW&)_uPMHayRy<`UfSUD`nE-0%Q)U9F;ZKf+oc#Xi;o}HpM3BP;7!O#U_Bpv?)tb`V_mt zfMOFsgSeFW0yL6KnF*jVaLPHo=Bs z6Kp9q!H!}R>?t}a!Hr@Q+$lD}gJKgrDK^22ViUY6 zHo=Et6MQK)!H;4S{3$jefMOE@DK;U9ViSTXHX(#!6GACAA&g=Z!YMW(f?^XQDK;UB zViTe%HX(*$6JjYgA&z1b;wd&EfnpO9DK;UAViS@nHX(H+NQA&p`a(kV6}gJKgh zDK;UCViU3{HX(;%6LKjwA&+7c@+mfqViSrfHlc)K6G|yIp^Rb^$|*LX zf?^XYDK?>sViT$M1s%fnpOHDK?>rViTGvHlc-L6Iv-Yp^ah_ z+9@`ngJKgpDK?>tViUS4Hlc@N6M88&p^st{`YASH0>vgwq}YT>6q_)aViTrNY{FEE zO_)Zp3DYSyVFtw}%%s?aSrnTvn_?5@P;A0nicOeDu?h1jHemt9CM=}bghdpau$W>K zmQZZMQi@GjMzIOYDK=pR#U`wz*o0LSo3NT<6V^~{!di+=SVyr5>nS#21H~q6q}YT_ z6q~S_ViUGdY{FKGP1r`U3EL?)VF$$~?4;O)T@;(Jn_?68P;A0picQ!@u?hPrHsJup zCLE;LghLdYaF}8fj!vg=q}YT@6q|6FViT@VY{FHFO}Iv}3D+q$;ReMf+@#oqTNImcn_?60P;A0o zicPpju?hDnHsJxqCOo9rghv#c@R(u~o=|MUQ;JP^MzIOcDK_B+#U{L@*o0RUoA8=q z6W&m4!dr?>ct^1b?h7} z1o27vrFqGzppyjRQ!>-iN{hkAlo^2z28b^%NKG!yNh|`LfMW_)QkwsSbM7hlMHF)_h~AMi>vQ z&(OeB0Tld(hG4gXHo<`03UUls9muU9hsUSor^mxW6XF1{pTUNJ41i*=U^>`=pil)Z z4~|ZRAr=R1o94O?K{XjAcY_dHW}o%_@tct{9Le(+{_A)4g)<%Ocp06=0NfW zIBO+>vL7UEfDYM+FUcrMEzZc#0SBoe$PUncERY=_L*RCR^`;l)m*%B_t%IL6XlQJq zU}S6tibJsN8L-n{z-EDVu!7721u5Jtkiqdu={U^+IRdo34x|yJ7OoM@NKHvkMQ8;H z87LSiKu$m`&rB)F06D`z&%hL93}}Tr$QY0^5C(@An2}zTiR2TI5ZD-Sd=?iZCTHe> zqXcp^BC@$gU?nM;#RWNu;35hf<)8&zAd5hfAj7~GfjIHSsU;2yrlH_WDpNh{3NBvCxUnoe}dx_WP+iBp#nrfa%xTvNP%IIv!gF)p(e;RAPfpC zkkWWi83_uTg4Cj7kYIdTesU=|3xItN7J?UiU?H%ZixN{ZOTh`!5bU3{qSE4$(p(T5 zbc&COk)a95R7A!>b^yplAcF_Y0ic98pbh{f-~n|2C~^kW0id`aPzQi42Vsyy1|%1N p^3i}g0F+q=)B&K%l 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(light), normal))), 16.0); // 16 refers to shine + specular += specCo; + } + } + + finalColor = (fragColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + finalColor += fragColor*(ambient/10.0)*colDiffuse; + + // Gamma correction + finalColor = pow(finalColor, vec4(1.0/2.2)); +} diff --git a/examples/models/resources/shaders/glsl330/voxel_lighting.vs b/examples/models/resources/shaders/glsl330/voxel_lighting.vs new file mode 100644 index 000000000..f60bfd221 --- /dev/null +++ b/examples/models/resources/shaders/glsl330/voxel_lighting.vs @@ -0,0 +1,32 @@ +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +//in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; +uniform mat4 matNormal; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +//out vec2 fragTexCoord; +out vec4 fragColor; +out vec3 fragNormal; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + //fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/models/rlights.h b/examples/models/rlights.h new file mode 100644 index 000000000..e38b0015a --- /dev/null +++ b/examples/models/rlights.h @@ -0,0 +1,170 @@ +/********************************************************************************************** +* +* raylib.lights - Some useful functions to deal with lights data +* +* CONFIGURATION: +* +* #define RLIGHTS_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2017-2024 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RLIGHTS_H +#define RLIGHTS_H + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#define MAX_LIGHTS 4 // Max dynamic lights supported by shader + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- + +// Light data +typedef struct { + int type; + bool enabled; + Vector3 position; + Vector3 target; + Color color; + float attenuation; + + // Shader locations + int enabledLoc; + int typeLoc; + int positionLoc; + int targetLoc; + int colorLoc; + int attenuationLoc; +} Light; + +// Light type +typedef enum { + LIGHT_DIRECTIONAL = 0, + LIGHT_POINT +} LightType; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +Light CreateLight(int type, Vector3 position, Vector3 target, Color color, Shader shader); // Create a light and get shader locations +void UpdateLightValues(Shader shader, Light light); // Send light properties to shader + +#ifdef __cplusplus +} +#endif + +#endif // RLIGHTS_H + + +/*********************************************************************************** +* +* RLIGHTS IMPLEMENTATION +* +************************************************************************************/ + +#if defined(RLIGHTS_IMPLEMENTATION) + +#include "raylib.h" + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +static int lightsCount = 0; // Current amount of created lights + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- + +// Create a light and get shader locations +Light CreateLight(int type, Vector3 position, Vector3 target, Color color, Shader shader) +{ + Light light = { 0 }; + + if (lightsCount < MAX_LIGHTS) + { + light.enabled = true; + light.type = type; + light.position = position; + light.target = target; + light.color = color; + + // NOTE: Lighting shader naming must be the provided ones + light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightsCount)); + light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightsCount)); + light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightsCount)); + light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightsCount)); + light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightsCount)); + + UpdateLightValues(shader, light); + + lightsCount++; + } + + return light; +} + +// Send light properties to shader +// NOTE: Light shader locations should be available +void UpdateLightValues(Shader shader, Light light) +{ + // Send to shader light enabled state and type + SetShaderValue(shader, light.enabledLoc, &light.enabled, SHADER_UNIFORM_INT); + SetShaderValue(shader, light.typeLoc, &light.type, SHADER_UNIFORM_INT); + + // Send to shader light position values + float position[3] = { light.position.x, light.position.y, light.position.z }; + SetShaderValue(shader, light.positionLoc, position, SHADER_UNIFORM_VEC3); + + // Send to shader light target position values + float target[3] = { light.target.x, light.target.y, light.target.z }; + SetShaderValue(shader, light.targetLoc, target, SHADER_UNIFORM_VEC3); + + // Send to shader light color values + float color[4] = { (float)light.color.r/(float)255, (float)light.color.g/(float)255, + (float)light.color.b/(float)255, (float)light.color.a/(float)255 }; + SetShaderValue(shader, light.colorLoc, color, SHADER_UNIFORM_VEC4); +} + +#endif // RLIGHTS_IMPLEMENTATION \ No newline at end of file diff --git a/src/external/vox_loader.h b/src/external/vox_loader.h index 6df10b518..0d328c078 100644 --- a/src/external/vox_loader.h +++ b/src/external/vox_loader.h @@ -123,6 +123,7 @@ typedef struct { // Arrays for mesh build ArrayVector3 vertices; + ArrayVector3 normals; ArrayUShort indices; ArrayColor colors; @@ -292,6 +293,16 @@ const VoxVector3 SolidVertex[] = { {1, 1, 1} //7 }; +const VoxVector3 FacesPerSideNormal[] = { + { -1, 0, 0 }, //-X + {1, 0, 0 }, //+X + {0,-1, 0}, //-Y + {0, 1, 0}, //+Y + {0, 0, -1}, //-Z + {0, 0, 1}, //+Z +}; + + // Allocated VoxArray3D size static void Vox_AllocArray(VoxArray3D* pvoxarray, int _sx, int _sy, int _sz) { @@ -508,6 +519,11 @@ static void Vox_Build_Voxel(VoxArray3D* pvoxArray, int x, int y, int z, int matI insertArrayVector3(&pvoxArray->vertices, vertComputed[v2]); insertArrayVector3(&pvoxArray->vertices, vertComputed[v3]); + insertArrayVector3(&pvoxArray->normals, FacesPerSideNormal[i]); + insertArrayVector3(&pvoxArray->normals, FacesPerSideNormal[i]); + insertArrayVector3(&pvoxArray->normals, FacesPerSideNormal[i]); + insertArrayVector3(&pvoxArray->normals, FacesPerSideNormal[i]); + VoxColor col = pvoxArray->palette[matID]; insertArrayColor(&pvoxArray->colors, col); @@ -653,6 +669,7 @@ int Vox_LoadFromMemory(unsigned char* pvoxData, unsigned int voxDataSize, VoxArr // Init Arrays initArrayVector3(&pvoxarray->vertices, 3 * 1024); + initArrayVector3(&pvoxarray->normals, 3 * 1024); initArrayUShort(&pvoxarray->indices, 3 * 1024); initArrayColor(&pvoxarray->colors, 3 * 1024); diff --git a/src/rmodels.c b/src/rmodels.c index 4f634990f..316b91d11 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5641,6 +5641,7 @@ static Model LoadVOX(const char *fileName) // 6*4 = 12 vertices per voxel Vector3 *pvertices = (Vector3 *)voxarray.vertices.array; + Vector3* pnormals = (Vector3*)voxarray.normals.array; Color *pcolors = (Color *)voxarray.colors.array; unsigned short *pindices = voxarray.indices.array; // 5461*6*6 = 196596 indices max per mesh @@ -5659,6 +5660,10 @@ static Model LoadVOX(const char *fileName) pmesh->vertices = RL_MALLOC(size); memcpy(pmesh->vertices, pvertices, size); + // Copy normals + pmesh->normals = RL_MALLOC(size); //Rk. size as vertices + memcpy(pmesh->normals, pnormals, size); + // Copy indices size = voxarray.indices.used*sizeof(unsigned short); pmesh->indices = RL_MALLOC(size); @@ -5676,6 +5681,7 @@ static Model LoadVOX(const char *fileName) verticesRemain -= verticesMax; pvertices += verticesMax; + pnormals += verticesMax; pcolors += verticesMax; } From 6589311a0b7a217ec270000eb3ab2a5172992efa Mon Sep 17 00:00:00 2001 From: Alexandre Almeida Date: Thu, 29 Feb 2024 14:29:32 -0300 Subject: [PATCH 161/745] Update GLFW to 3.4 (#3827) * Update GLFW to 3.4 (draft) * Add _glfwConnectNull() function to rglfw.c * Update rglfw.c * Update Makefile * Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND * Revert "Makefile: Replace USE_WAYLAND_DISPLAY with DISABLE_WAYLAND" This reverts commit 9e79abde786bf797d8133fd95e8a475cf6e2b066. * GlfwImport.cmake: Replace GLFW_USE_WAYLAND with GLFW_BUILD_WAYLAND * Update rglfw.c * Output platform selected by GLFW to TRACELOG * GLFW has removed Mir support --- cmake/GlfwImport.cmake | 2 +- src/Makefile | 21 +- src/external/glfw/CMake/glfw3.pc.in | 2 +- src/external/glfw/CMakeLists.txt | 32 +- src/external/glfw/CONTRIBUTORS.md | 35 + src/external/glfw/README.md | 116 +- src/external/glfw/deps/vs2008/stdint.h | 247 -- .../glfw/deps/wayland/fractional-scale-v1.xml | 102 + .../deps/wayland/idle-inhibit-unstable-v1.xml | 83 + .../pointer-constraints-unstable-v1.xml | 339 ++ .../wayland/relative-pointer-unstable-v1.xml | 136 + src/external/glfw/deps/wayland/viewporter.xml | 180 + src/external/glfw/deps/wayland/wayland.xml | 3151 +++++++++++++++++ .../glfw/deps/wayland/xdg-activation-v1.xml | 200 ++ .../wayland/xdg-decoration-unstable-v1.xml | 156 + src/external/glfw/deps/wayland/xdg-shell.xml | 1370 +++++++ src/external/glfw/include/GLFW/glfw3.h | 348 +- src/external/glfw/include/GLFW/glfw3native.h | 97 +- src/external/glfw/src/CMakeLists.txt | 92 +- src/external/glfw/src/cocoa_init.m | 151 +- src/external/glfw/src/cocoa_joystick.h | 2 - src/external/glfw/src/cocoa_joystick.m | 17 +- src/external/glfw/src/cocoa_monitor.m | 22 +- src/external/glfw/src/cocoa_platform.h | 4 +- src/external/glfw/src/cocoa_time.c | 6 +- src/external/glfw/src/cocoa_window.m | 49 +- src/external/glfw/src/context.c | 4 +- src/external/glfw/src/egl_context.c | 107 +- src/external/glfw/src/glx_context.c | 7 +- src/external/glfw/src/init.c | 49 +- src/external/glfw/src/input.c | 21 +- src/external/glfw/src/internal.h | 61 +- src/external/glfw/src/linux_joystick.c | 15 +- src/external/glfw/src/linux_joystick.h | 3 +- src/external/glfw/src/mappings.h | 1671 +++------ src/external/glfw/src/mappings.h.in | 12 +- src/external/glfw/src/monitor.c | 8 +- src/external/glfw/src/nsgl_context.m | 26 +- src/external/glfw/src/null_init.c | 279 +- src/external/glfw/src/null_joystick.c | 2 - src/external/glfw/src/null_monitor.c | 7 +- src/external/glfw/src/null_platform.h | 128 +- src/external/glfw/src/null_window.c | 137 +- src/external/glfw/src/osmesa_context.c | 7 +- src/external/glfw/src/platform.c | 37 +- src/external/glfw/src/platform.h | 55 +- src/external/glfw/src/posix_module.c | 6 +- src/external/glfw/src/posix_poll.c | 6 +- src/external/glfw/src/posix_poll.h | 2 - src/external/glfw/src/posix_thread.c | 6 +- src/external/glfw/src/posix_time.c | 6 +- src/external/glfw/src/vulkan.c | 2 - src/external/glfw/src/wgl_context.c | 24 +- src/external/glfw/src/win32_init.c | 156 +- src/external/glfw/src/win32_joystick.c | 13 +- src/external/glfw/src/win32_joystick.h | 2 - src/external/glfw/src/win32_module.c | 6 +- src/external/glfw/src/win32_monitor.c | 30 +- src/external/glfw/src/win32_platform.h | 5 +- src/external/glfw/src/win32_thread.c | 6 +- src/external/glfw/src/win32_thread.h | 5 + src/external/glfw/src/win32_time.c | 5 +- src/external/glfw/src/win32_time.h | 5 + src/external/glfw/src/win32_window.c | 227 +- src/external/glfw/src/window.c | 35 +- src/external/glfw/src/wl_init.c | 412 ++- src/external/glfw/src/wl_monitor.c | 34 +- src/external/glfw/src/wl_platform.h | 220 +- src/external/glfw/src/wl_window.c | 1335 ++++--- src/external/glfw/src/x11_init.c | 162 +- src/external/glfw/src/x11_monitor.c | 37 +- src/external/glfw/src/x11_platform.h | 2 +- src/external/glfw/src/x11_window.c | 40 +- src/external/glfw/src/xkb_unicode.c | 5 +- src/platforms/rcore_desktop.c | 12 +- src/rglfw.c | 13 +- 76 files changed, 9459 insertions(+), 2956 deletions(-) delete mode 100644 src/external/glfw/deps/vs2008/stdint.h create mode 100644 src/external/glfw/deps/wayland/fractional-scale-v1.xml create mode 100644 src/external/glfw/deps/wayland/idle-inhibit-unstable-v1.xml create mode 100644 src/external/glfw/deps/wayland/pointer-constraints-unstable-v1.xml create mode 100644 src/external/glfw/deps/wayland/relative-pointer-unstable-v1.xml create mode 100644 src/external/glfw/deps/wayland/viewporter.xml create mode 100644 src/external/glfw/deps/wayland/wayland.xml create mode 100644 src/external/glfw/deps/wayland/xdg-activation-v1.xml create mode 100644 src/external/glfw/deps/wayland/xdg-decoration-unstable-v1.xml create mode 100644 src/external/glfw/deps/wayland/xdg-shell.xml diff --git a/cmake/GlfwImport.cmake b/cmake/GlfwImport.cmake index 77c88e6c3..1c267aba7 100644 --- a/cmake/GlfwImport.cmake +++ b/cmake/GlfwImport.cmake @@ -16,7 +16,7 @@ if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MAT set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_INSTALL OFF CACHE BOOL "" FORCE) - set(GLFW_USE_WAYLAND ${USE_WAYLAND} CACHE BOOL "" FORCE) + set(GLFW_BUILD_WAYLAND ${USE_WAYLAND} CACHE BOOL "" FORCE) set(GLFW_LIBRARY_TYPE "OBJECT" CACHE STRING "" FORCE) diff --git a/src/Makefile b/src/Makefile index 2d426b163..7b8814310 100644 --- a/src/Makefile +++ b/src/Makefile @@ -411,8 +411,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) CFLAGS += -D_GLFW_WAYLAND LDFLAGS += $(shell pkg-config wayland-client wayland-cursor wayland-egl xkbcommon --libs) - WL_PROTOCOLS_DIR := $(shell pkg-config wayland-protocols --variable=pkgdatadir) - WL_CLIENT_DIR := $(shell pkg-config wayland-client --variable=pkgdatadir) + WL_PROTOCOLS_DIR := external/glfw/deps/wayland wl_generate = \ $(eval protocol=$(1)) \ @@ -420,13 +419,15 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) $(shell wayland-scanner client-header $(protocol) $(RAYLIB_SRC_PATH)/$(basename).h) \ $(shell wayland-scanner private-code $(protocol) $(RAYLIB_SRC_PATH)/$(basename)-code.h) - $(call wl_generate, $(WL_CLIENT_DIR)/wayland.xml, wayland-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/stable/xdg-shell/xdg-shell.xml, wayland-xdg-shell-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml, wayland-xdg-decoration-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/stable/viewporter/viewporter.xml, wayland-viewporter-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/unstable/relative-pointer/relative-pointer-unstable-v1.xml, wayland-relative-pointer-unstable-v1-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml, wayland-pointer-constraints-unstable-v1-client-protocol) - $(call wl_generate, $(WL_PROTOCOLS_DIR)/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml, wayland-idle-inhibit-unstable-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/wayland.xml, wayland-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/xdg-shell.xml, xdg-shell-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/xdg-decoration-unstable-v1.xml, xdg-decoration-unstable-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/viewporter.xml, viewporter-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/relative-pointer-unstable-v1.xml, relative-pointer-unstable-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/pointer-constraints-unstable-v1.xml, pointer-constraints-unstable-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/fractional-scale-v1.xml, fractional-scale-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/xdg-activation-v1.xml, xdg-activation-v1-client-protocol) + $(call wl_generate, $(WL_PROTOCOLS_DIR)/idle-inhibit-unstable-v1.xml, idle-inhibit-unstable-v1-client-protocol) endif endif endif @@ -805,7 +806,7 @@ clean: clean_shell_$(PLATFORM_SHELL) @echo "removed all generated files!" clean_shell_sh: - rm -fv *.o $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).a $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).bc $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).so* raygui.c + rm -fv *.o $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).a $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).bc $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).so* raygui.c $(RAYLIB_RELEASE_PATH)/*-protocol.h $(RAYLIB_RELEASE_PATH)/*-protocol-code.h ifeq ($(PLATFORM),PLATFORM_ANDROID) rm -fv $(NATIVE_APP_GLUE)/android_native_app_glue.o endif diff --git a/src/external/glfw/CMake/glfw3.pc.in b/src/external/glfw/CMake/glfw3.pc.in index 37f4efd91..36ee218e7 100644 --- a/src/external/glfw/CMake/glfw3.pc.in +++ b/src/external/glfw/CMake/glfw3.pc.in @@ -8,6 +8,6 @@ Description: A multi-platform library for OpenGL, window and input Version: @GLFW_VERSION@ URL: https://www.glfw.org/ Requires.private: @GLFW_PKG_CONFIG_REQUIRES_PRIVATE@ -Libs: -L${libdir} -l@GLFW_LIB_NAME@ +Libs: -L${libdir} -l@GLFW_LIB_NAME@@GLFW_LIB_NAME_SUFFIX@ Libs.private: @GLFW_PKG_CONFIG_LIBS_PRIVATE@ Cflags: -I${includedir} diff --git a/src/external/glfw/CMakeLists.txt b/src/external/glfw/CMakeLists.txt index f5e538bf7..a3cb1fe68 100644 --- a/src/external/glfw/CMakeLists.txt +++ b/src/external/glfw/CMakeLists.txt @@ -1,13 +1,7 @@ -cmake_minimum_required(VERSION 3.4...3.20 FATAL_ERROR) +cmake_minimum_required(VERSION 3.4...3.28 FATAL_ERROR) project(GLFW VERSION 3.4.0 LANGUAGES C) -set(CMAKE_LEGACY_CYGWIN_WIN32 OFF) - -if (POLICY CMP0054) - cmake_policy(SET CMP0054 NEW) -endif() - if (POLICY CMP0069) cmake_policy(SET CMP0069 NEW) endif() @@ -18,9 +12,7 @@ endif() set_property(GLOBAL PROPERTY USE_FOLDERS ON) -if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(GLFW_STANDALONE TRUE) -endif() +string(COMPARE EQUAL "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}" GLFW_STANDALONE) option(BUILD_SHARED_LIBS "Build shared libraries" OFF) option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ${GLFW_STANDALONE}) @@ -35,11 +27,15 @@ if (GLFW_USE_OSMESA) message(FATAL_ERROR "GLFW_USE_OSMESA has been removed; set the GLFW_PLATFORM init hint") endif() +if (DEFINED GLFW_USE_WAYLAND AND UNIX AND NOT APPLE) + message(FATAL_ERROR + "GLFW_USE_WAYLAND has been removed; delete the CMake cache and set GLFW_BUILD_WAYLAND and GLFW_BUILD_X11 instead") +endif() + cmake_dependent_option(GLFW_BUILD_WIN32 "Build support for Win32" ON "WIN32" OFF) cmake_dependent_option(GLFW_BUILD_COCOA "Build support for Cocoa" ON "APPLE" OFF) cmake_dependent_option(GLFW_BUILD_X11 "Build support for X11" ON "UNIX;NOT APPLE" OFF) -cmake_dependent_option(GLFW_BUILD_WAYLAND "Build support for Wayland" - "${GLFW_USE_WAYLAND}" "UNIX;NOT APPLE" OFF) +cmake_dependent_option(GLFW_BUILD_WAYLAND "Build support for Wayland" ON "UNIX;NOT APPLE" OFF) cmake_dependent_option(GLFW_USE_HYBRID_HPG "Force use of high-performance GPU on hybrid systems" OFF "WIN32" OFF) @@ -63,11 +59,6 @@ list(APPEND CMAKE_MODULE_PATH "${GLFW_SOURCE_DIR}/CMake/modules") find_package(Threads REQUIRED) -if (GLFW_BUILD_DOCS) - set(DOXYGEN_SKIP_DOT TRUE) - find_package(Doxygen) -endif() - #-------------------------------------------------------------------- # Report backend selection #-------------------------------------------------------------------- @@ -138,7 +129,7 @@ if (GLFW_BUILD_TESTS) add_subdirectory(tests) endif() -if (DOXYGEN_FOUND AND GLFW_BUILD_DOCS) +if (GLFW_BUILD_DOCS) add_subdirectory(docs) endif() @@ -160,11 +151,6 @@ if (GLFW_INSTALL) install(FILES "${GLFW_BINARY_DIR}/src/glfw3.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - if (DOXYGEN_FOUND AND GLFW_BUILD_DOCS) - install(DIRECTORY "${GLFW_BINARY_DIR}/docs/html" - DESTINATION "${CMAKE_INSTALL_DOCDIR}") - endif() - # Only generate this target if no higher-level project already has if (NOT TARGET uninstall) configure_file(CMake/cmake_uninstall.cmake.in diff --git a/src/external/glfw/CONTRIBUTORS.md b/src/external/glfw/CONTRIBUTORS.md index d938afae0..c4c74adeb 100644 --- a/src/external/glfw/CONTRIBUTORS.md +++ b/src/external/glfw/CONTRIBUTORS.md @@ -8,12 +8,14 @@ video tutorials. - Bobyshev Alexander - Laurent Aphecetche - Matt Arsenault + - Takuro Ashie - ashishgamedev - David Avedissian - Luca Bacci - Keith Bauer - John Bartholomew - Coşku Baş + - Bayemite - Niklas Behrens - Andrew Belt - Nevyn Bengtsson @@ -32,7 +34,9 @@ video tutorials. - David Carlier - Arturo Castro - Chi-kwan Chan + - Victor Chernyakin - TheChocolateOre + - Ali Chraghi - Joseph Chua - Ian Clarkson - Michał Cichoń @@ -45,6 +49,7 @@ video tutorials. - Bailey Cosier - Noel Cower - CuriouserThing + - Bill Currie - Jason Daly - danhambleton - Jarrod Davis @@ -64,11 +69,13 @@ video tutorials. - Nikita Fediuchin - Felipe Ferreira - Michael Fogleman + - forworldm - Jason Francis - Gerald Franz - Mário Freitas - GeO4d - Marcus Geelnard + - Gegy - ghuser404 - Charles Giessen - Ryan C. Gordon @@ -76,11 +83,14 @@ video tutorials. - Kovid Goyal - Kevin Grandemange - Eloi Marín Gratacós + - Grzesiek11 - Stefan Gustavson - Andrew Gutekanst - Stephen Gutekanst - Jonathan Hale + - Daniel Hauser - hdf89shfdfs + - Moritz Heinemann - Sylvain Hellegouarch - Björn Hempel - Matthew Henry @@ -91,6 +101,7 @@ video tutorials. - Warren Hu - Charles Huber - Brent Huisman + - Florian Hülsmann - illustris - InKryption - IntellectualKitty @@ -98,6 +109,7 @@ video tutorials. - JannikGM - Erik S. V. Jansson - jjYBdx4IL + - Peter Johnson - Toni Jovanoski - Arseny Kapoulkine - Cem Karan @@ -112,6 +124,7 @@ video tutorials. - Rokas Kupstys - Konstantin Käfer - Eric Larson + - Guillaume Lebrun - Francis Lecavalier - Jong Won Lee - Robin Leffmann @@ -120,12 +133,16 @@ video tutorials. - Anders Lindqvist - Leon Linhart - Marco Lizza + - lo-v-ol - Eyal Lotem - Aaron Loucks + - Ned Loynd - Luflosi - lukect - Tristam MacDonald + - Jean-Luc Mackail - Hans Mackowiak + - Ramiro Magno - Дмитри Малышев - Zbigniew Mandziejewicz - Adam Marcus @@ -137,7 +154,9 @@ video tutorials. - Jonathan Mercier - Marcel Metz - Liam Middlebrook + - mightgoyardstill - Ave Milia + - Icyllis Milica - Jonathan Miller - Kenneth Miller - Bruce Mitchener @@ -152,11 +171,15 @@ video tutorials. - Pascal Muetschard - James Murphy - Julian Møller + - Julius Häger + - Nat! + - NateIsStalling - ndogxj - F. Nedelec - n3rdopolis - Kristian Nielsen - Joel Niemelä + - Victor Nova - Kamil Nowakowski - onox - Denis Ovod @@ -179,12 +202,14 @@ video tutorials. - Stanislav Podgorskiy - Konstantin Podsvirov - Nathan Poirier + - Pokechu22 - Alexandre Pretyman - Pablo Prietz - przemekmirek - pthom - Martin Pulec - Guillaume Racicot + - Juan Ramos - Christian Rauch - Philip Rideout - Eddie Ringle @@ -197,17 +222,23 @@ video tutorials. - Aleksey Rybalkin - Mikko Rytkönen - Riku Salminen + - Yoshinori Sano - Brandon Schaefer - Sebastian Schuberth + - Scr3amer + - Jan Schuerkamp - Christian Sdunek - Matt Sealey - Steve Sexton - Arkady Shapkin + - Mingjie Shen - Ali Sherief - Yoshiki Shibukawa - Dmitri Shuralyov - Joao da Silva - Daniel Sieger + - Daljit Singh + - Michael Skec - Daniel Skorupski - Slemmie - Anthony Smith @@ -225,6 +256,7 @@ video tutorials. - Paul Sultana - Nathan Sweet - TTK-Bandit + - Nuno Teixeira - Jared Tiala - Sergey Tikhomirov - Arthur Tombs @@ -238,11 +270,14 @@ video tutorials. - Jari Vetoniemi - Ricardo Vieira - Nicholas Vitovitch + - Vladimír Vondruš - Simon Voordouw - Corentin Wallez - Torsten Walluhn - Patrick Walton + - Jim Wang - Xo Wang + - Andre Weissflog - Jay Weisskopf - Frank Wille - Andy Williams diff --git a/src/external/glfw/README.md b/src/external/glfw/README.md index 8b4a1546e..efd1383f8 100644 --- a/src/external/glfw/README.md +++ b/src/external/glfw/README.md @@ -2,7 +2,6 @@ [![Build status](https://github.com/glfw/glfw/actions/workflows/build.yml/badge.svg)](https://github.com/glfw/glfw/actions) [![Build status](https://ci.appveyor.com/api/projects/status/0kf0ct9831i5l6sp/branch/master?svg=true)](https://ci.appveyor.com/project/elmindreda/glfw) -[![Coverity Scan](https://scan.coverity.com/projects/4884/badge.svg)](https://scan.coverity.com/projects/glfw-glfw) ## Introduction @@ -11,15 +10,15 @@ application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. GLFW natively supports Windows, macOS and Linux and other Unix-like systems. On -Linux both X11 and Wayland are supported. +Linux both Wayland and X11 are supported. GLFW is licensed under the [zlib/libpng license](https://www.glfw.org/license.html). You can [download](https://www.glfw.org/download.html) the latest stable release -as source or Windows binaries, or fetch the `latest` branch from GitHub. Each -release starting with 3.0 also has a corresponding [annotated -tag](https://github.com/glfw/glfw/releases) with source and binary archives. +as source or Windows binaries. Each release starting with 3.0 also has +a corresponding [annotated tag](https://github.com/glfw/glfw/releases) with +source and binary archives. The [documentation](https://www.glfw.org/docs/latest/) is available online and is included in all source and binary archives. See the [release @@ -47,18 +46,19 @@ features or fixing bugs. ## Compiling GLFW -GLFW itself requires only the headers and libraries for your OS and window -system. It does not need the headers for any context creation API (WGL, GLX, -EGL, NSGL, OSMesa) or rendering API (OpenGL, OpenGL ES, Vulkan) to enable -support for them. +GLFW is written primarily in C99, with parts of macOS support being written in +Objective-C. GLFW itself requires only the headers and libraries for your OS +and window system. It does not need any additional headers for context creation +APIs (WGL, GLX, EGL, NSGL, OSMesa) or rendering APIs (OpenGL, OpenGL ES, Vulkan) +to enable support for them. -GLFW supports compilation on Windows with Visual C++ 2010 and later, MinGW and +GLFW supports compilation on Windows with Visual C++ 2013 and later, MinGW and MinGW-w64, on macOS with Clang and on Linux and other Unix-like systems with GCC and Clang. It will likely compile in other environments as well, but this is not regularly tested. -There are [pre-compiled Windows binaries](https://www.glfw.org/download.html) -available for all supported compilers. +There are [pre-compiled binaries](https://www.glfw.org/download.html) available +for all supported compilers on Windows and macOS. See the [compilation guide](https://www.glfw.org/docs/latest/compile.html) for more information about how to compile GLFW yourself. @@ -119,7 +119,7 @@ guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for information on what to include when reporting a bug. -## Changelog +## Changelog since 3.3.10 - Added `GLFW_PLATFORM` init hint for runtime platform selection (#1958) - Added `GLFW_ANY_PLATFORM`, `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`, @@ -131,6 +131,7 @@ information on what to include when reporting a bug. - Added `glfwInitAllocator` for setting a custom memory allocator (#544,#1628,#1947) - Added `GLFWallocator` struct and `GLFWallocatefun`, `GLFWreallocatefun` and `GLFWdeallocatefun` types (#544,#1628,#1947) + - Added `glfwGetWindowTitle` function for querying window title (#1448,#1909,#2482) - Added `glfwInitVulkanLoader` for using a non-default Vulkan loader (#1374,#1890) - Added `GLFW_RESIZE_NWSE_CURSOR`, `GLFW_RESIZE_NESW_CURSOR`, `GLFW_RESIZE_ALL_CURSOR` and `GLFW_NOT_ALLOWED_CURSOR` cursor shapes (#427) @@ -143,6 +144,7 @@ information on what to include when reporting a bug. content area (#58) - Added `GLFW_POSITION_X` and `GLFW_POSITION_Y` window hints for initial position (#1603,#1747) + - Added `GLFW_SCALE_FRAMEBUFFER` window hint for Wayland and macOS scaling (#2457) - Added `GLFW_ANY_POSITION` hint value for letting the window manager choose (#1603,#1747) - Added `GLFW_PLATFORM_UNAVAILABLE` error for platform detection failures (#1958) - Added `GLFW_FEATURE_UNAVAILABLE` error for platform limitations (#1692) @@ -153,22 +155,63 @@ information on what to include when reporting a bug. values to select ANGLE backend (#1380) - Added `GLFW_X11_XCB_VULKAN_SURFACE` init hint for selecting X11 Vulkan surface extension (#1793) + - Added `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access to the window menu + - Added `GLFW_WIN32_SHOWDEFAULT` window hint for applying the parent process + show command (#2359) - Added `GLFW_NATIVE_INCLUDE_NONE` for disabling inclusion of native headers (#1348) - Added `GLFW_BUILD_WIN32` CMake option for enabling Win32 support (#1958) - Added `GLFW_BUILD_COCOA` CMake option for enabling Cocoa support (#1958) - Added `GLFW_BUILD_X11` CMake option for enabling X11 support (#1958) - Added `GLFW_LIBRARY_TYPE` CMake variable for overriding the library type (#279,#1307,#1497,#1574,#1928) + - Added support for `XDG_SESSION_TYPE` environment variable - Added `GLFW_PKG_CONFIG_REQUIRES_PRIVATE` and `GLFW_PKG_CONFIG_LIBS_PRIVATE` CMake variables exposing pkg-config dependencies (#1307) - Made joystick subsystem initialize at first use (#1284,#1646) - Made `GLFW_DOUBLEBUFFER` a read-only window attribute - - Updated the minimum required CMake version to 3.1 + - Made Wayland the preferred platform over X11 if both are available (#2035) + - Updated the minimum required CMake version to 3.4 - Updated gamepad mappings from upstream - - Disabled tests and examples by default when built as a CMake subdirectory - Renamed `GLFW_USE_WAYLAND` CMake option to `GLFW_BUILD_WAYLAND` (#1958) + - Disabled tests and examples by default when built as a CMake subdirectory - Removed `GLFW_USE_OSMESA` CMake option enabling the Null platform (#1958) - Removed CMake generated configuration header + - Bugfix: `glfwGetVideoMode` returned an invalid mode on error (#1292) + - [Win32] Added a version info resource to the GLFW DLL + - [Win32] Made hidden helper window use its own window class + - [Win32] Bugfix: The foreground lock timeout was overridden, ignoring the user + - [Cocoa] Added `glfwGetCocoaView` native access function (#2235) + - [Cocoa] Moved main menu creation to GLFW initialization time (#1649) + - [Cocoa] Bugfix: Touching event queue from secondary thread before main thread + would abort (#1649) + - [Wayland] Added support for `glfwRequestWindowAttention` (#2287) + - [Wayland] Added support for `glfwFocusWindow` + - [Wayland] Added support for `GLFW_RESIZABLE` (#2203) + - [Wayland] Added support for fractional scaling of window contents + - [Wayland] Added dynamic loading of all Wayland libraries + - [Wayland] Bugfix: `CLOCK_MONOTONIC` was not correctly enabled + - [Wayland] Bugfix: `GLFW_HOVERED` was true when the cursor was over any + fallback window decoration + - [Wayland] Bugfix: Fallback decorations allowed resizing to invalid size + (#2204) + - [X11] Bugfix: Termination would segfault if the IM had been destroyed + - [X11] Bugfix: Any IM started after initialization would not be detected + - [Linux] Bugfix: Joystick evdev fds remained open in forks (#2446) + - [POSIX] Removed use of deprecated function `gettimeofday` + - [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled + - [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072) + - [NSGL] Removed enforcement of forward-compatible flag for core contexts + - [NSGL] Bugfix: A core profile OpenGL context was returned if 3.2+ + compatibility profile was requested + - [EGL] Added platform selection via the `EGL_EXT_platform_base` extension + (#442) + - [EGL] Added ANGLE backend selection via `EGL_ANGLE_platform_angle` extension + (#1380) + + +## Changelog since 3.3 + + - Added `GLFW_WAYLAND_LIBDECOR` init hint for disabling libdecor support (#1639,#1693) - Bugfix: The CMake config-file package used an absolute path and was not relocatable (#1470) - Bugfix: Video modes with a duplicate screen area were discarded (#1555,#1556) @@ -183,10 +226,8 @@ information on what to include when reporting a bug. - Bugfix: `glfwMakeContextCurrent` would access TLS slot before initialization - Bugfix: `glfwSetGammaRamp` could emit `GLFW_INVALID_VALUE` before initialization - Bugfix: `glfwGetJoystickUserPointer` returned `NULL` during disconnection (#2092) - - [Win32] Added the `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access - to the window menu - - [Win32] Added a version info resource to the GLFW DLL - - [Win32] Made hidden helper window use its own window class + - Bugfix: `glfwGetKeyScancode` returned `0` on error when initialized instead of `-1` + - Bugfix: Failure to make a newly created context current could cause segfault (#2327) - [Win32] Disabled framebuffer transparency on Windows 7 when DWM windows are opaque (#1512) - [Win32] Bugfix: `GLFW_INCLUDE_VULKAN` plus `VK_USE_PLATFORM_WIN32_KHR` caused @@ -213,7 +254,6 @@ information on what to include when reporting a bug. - [Win32] Bugfix: `USE_MSVC_RUNTIME_LIBRARY_DLL` had no effect on CMake 3.15 or later (#1783,#1796) - [Win32] Bugfix: Compilation with LLVM for Windows failed (#1807,#1824,#1874) - - [Win32] Bugfix: The foreground lock timeout was overridden, ignoring the user - [Win32] Bugfix: Content scale queries could fail silently (#1615) - [Win32] Bugfix: Content scales could have garbage values if monitor was recently disconnected (#1615) @@ -229,9 +269,13 @@ information on what to include when reporting a bug. - [Win32] Bugfix: Instance-local operations used executable instance (#469,#1296,#1395) - [Win32] Bugfix: The OSMesa library was not unloaded on termination - [Win32] Bugfix: Right shift emitted `GLFW_KEY_UNKNOWN` when using a CJK IME (#2050) + - [Win32] Bugfix: `glfwWaitEventsTimeout` did not return for some sent messages (#2408) + - [Win32] Bugfix: Fix pkg-config for dynamic library on Windows (#2386, #2420) + - [Win32] Bugfix: XInput could reportedly provide invalid DPad bit masks (#2291) + - [Win32] Bugfix: Rapid clipboard calls could fail due to Clipboard History + - [Win32] Bugfix: Disabled cursor mode doesn't work right when connected over RDP (#1276,#1279,#2431) - [Cocoa] Added support for `VK_EXT_metal_surface` (#1619) - [Cocoa] Added locating the Vulkan loader at runtime in an application bundle - - [Cocoa] Moved main menu creation to GLFW initialization time (#1649) - [Cocoa] Changed `EGLNativeWindowType` from `NSView` to `CALayer` (#1169) - [Cocoa] Changed F13 key to report Print Screen for cross-platform consistency (#1786) @@ -242,8 +286,6 @@ information on what to include when reporting a bug. (#1412) - [Cocoa] Bugfix: Event processing before window creation would assert (#1543) - [Cocoa] Bugfix: Undecorated windows could not be iconified on recent macOS - - [Cocoa] Bugfix: Touching event queue from secondary thread before main thread - would abort (#1649) - [Cocoa] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16 (#1635) - [Cocoa] Bugfix: Failing to retrieve the refresh rate of built-in displays @@ -269,6 +311,10 @@ information on what to include when reporting a bug. application (#2110) - [Cocoa] Bugfix: The Vulkan loader was not loaded from the `Frameworks` bundle subdirectory (#2113,#2120) + - [Cocoa] Bugfix: Compilation failed on OS X 10.8 due to unconditional use of 10.9+ + symbols (#2161) + - [Cocoa] Bugfix: Querying joystick elements could reportedly segfault on macOS + 13 Ventura (#2320) - [X11] Bugfix: The CMake files did not check for the XInput headers (#1480) - [X11] Bugfix: Key names were not updated when the keyboard layout changed (#1462,#1528) @@ -283,8 +329,6 @@ information on what to include when reporting a bug. - [X11] Bugfix: `glfwFocusWindow` could terminate on older WMs or without a WM - [X11] Bugfix: Querying a disconnected monitor could segfault (#1602) - [X11] Bugfix: IME input of CJK was broken for "C" locale (#1587,#1636) - - [X11] Bugfix: Termination would segfault if the IM had been destroyed - - [X11] Bugfix: Any IM started after initialization would not be detected - [X11] Bugfix: Xlib errors caused by other parts of the application could be reported as GLFW errors - [X11] Bugfix: A handle race condition could cause a `BadWindow` error (#1633) @@ -311,7 +355,7 @@ information on what to include when reporting a bug. - [X11] Bugfix: The OSMesa libray was not unloaded on termination - [X11] Bugfix: A malformed response during selection transfer could cause a segfault - [X11] Bugfix: Some calls would reset Xlib to the default error handler (#2108) - - [Wayland] Added dynamic loading of all Wayland libraries + - [Wayland] Added improved fallback window decorations via libdecor (#1639,#1693) - [Wayland] Added support for key names via xkbcommon - [Wayland] Added support for file path drop events (#2040) - [Wayland] Added support for more human-readable monitor names where available @@ -319,7 +363,6 @@ information on what to include when reporting a bug. `EGL_EXT_present_opaque` (#1895) - [Wayland] Removed support for `wl_shell` (#1443) - [Wayland] Bugfix: The `GLFW_HAND_CURSOR` shape used the wrong image (#1432) - - [Wayland] Bugfix: `CLOCK_MONOTONIC` was not correctly enabled - [Wayland] Bugfix: Repeated keys could be reported with `NULL` window (#1704) - [Wayland] Bugfix: Retrieving partial framebuffer size would segfault - [Wayland] Bugfix: Scrolling offsets were inverted compared to other platforms @@ -382,22 +425,18 @@ information on what to include when reporting a bug. - [Wayland] Bugfix: `GLFW_DECORATED` was ignored when showing a window with XDG decorations - [Wayland] Bugfix: Connecting a mouse after `glfwInit` would segfault (#1450) - - [POSIX] Removed use of deprecated function `gettimeofday` - - [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled + - [Wayland] Bugfix: Joysticks connected after `glfwInit` were not detected (#2198) + - [Wayland] Bugfix: Fallback decorations emitted `GLFW_CURSOR_UNAVAILABLE` errors - [Linux] Bugfix: Joysticks without buttons were ignored (#2042,#2043) - - [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072) - - [NSGL] Removed enforcement of forward-compatible flag for core contexts + - [Linux] Bugfix: A small amount of memory could leak if initialization failed (#2229) - [NSGL] Bugfix: `GLFW_COCOA_RETINA_FRAMEBUFFER` had no effect on newer macOS versions (#1442) - [NSGL] Bugfix: Workaround for swap interval on 10.14 broke on 10.12 (#1483) - [NSGL] Bugfix: Defining `GL_SILENCE_DEPRECATION` externally caused a duplicate definition warning (#1840) - - [EGL] Added platform selection via the `EGL_EXT_platform_base` extension - (#442) - - [EGL] Added ANGLE backend selection via `EGL_ANGLE_platform_angle` extension - (#1380) - [EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL + - [EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL - [EGL] Bugfix: The `GLFW_DOUBLEBUFFER` context attribute was ignored (#1843) + - [EGL] Bugfix: Setting `GLFW_CONTEXT_DEBUG` caused creation to fail (#2348) - [GLX] Added loading of glvnd `libGLX.so.0` where available - [GLX] Bugfix: Context creation failed if GLX 1.4 was not exported by GLX library @@ -408,13 +447,12 @@ On [glfw.org](https://www.glfw.org/) you can find the latest version of GLFW, as well as news, documentation and other information about the project. If you have questions related to the use of GLFW, we have a -[forum](https://discourse.glfw.org/), and the `#glfw` IRC channel on -[Libera.Chat](https://libera.chat/). +[forum](https://discourse.glfw.org/). If you have a bug to report, a patch to submit or a feature you'd like to request, please file it in the [issue tracker](https://github.com/glfw/glfw/issues) on GitHub. Finally, if you're interested in helping out with the development of GLFW or -porting it to your favorite platform, join us on the forum, GitHub or IRC. +porting it to your favorite platform, join us on the forum or GitHub. diff --git a/src/external/glfw/deps/vs2008/stdint.h b/src/external/glfw/deps/vs2008/stdint.h deleted file mode 100644 index d02608a59..000000000 --- a/src/external/glfw/deps/vs2008/stdint.h +++ /dev/null @@ -1,247 +0,0 @@ -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2008 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. The name of the author may be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_STDINT_H_ // [ -#define _MSC_STDINT_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include - -// For Visual Studio 6 in C++ mode and for many Visual Studio versions when -// compiling for ARM we should wrap include with 'extern "C++" {}' -// or compiler give many errors like this: -// error C2733: second C linkage of overloaded function 'wmemchr' not allowed -#ifdef __cplusplus -extern "C" { -#endif -# include -#ifdef __cplusplus -} -#endif - -// Define _W64 macros to mark types changing their size, like intptr_t. -#ifndef _W64 -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 -# define _W64 __w64 -# else -# define _W64 -# endif -#endif - - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types - -// Visual Studio 6 and Embedded Visual C++ 4 doesn't -// realize that, e.g. char has the same size as __int8 -// so we give up on __intX for them. -#if (_MSC_VER < 1300) - typedef signed char int8_t; - typedef signed short int16_t; - typedef signed int int32_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; -#else - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; -#endif -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; - - -// 7.18.1.2 Minimum-width integer types -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -typedef int64_t int_least64_t; -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -typedef uint64_t uint_least64_t; - -// 7.18.1.3 Fastest minimum-width integer types -typedef int8_t int_fast8_t; -typedef int16_t int_fast16_t; -typedef int32_t int_fast32_t; -typedef int64_t int_fast64_t; -typedef uint8_t uint_fast8_t; -typedef uint16_t uint_fast16_t; -typedef uint32_t uint_fast32_t; -typedef uint64_t uint_fast64_t; - -// 7.18.1.4 Integer types capable of holding object pointers -#ifdef _WIN64 // [ - typedef signed __int64 intptr_t; - typedef unsigned __int64 uintptr_t; -#else // _WIN64 ][ - typedef _W64 signed int intptr_t; - typedef _W64 unsigned int uintptr_t; -#endif // _WIN64 ] - -// 7.18.1.5 Greatest-width integer types -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; - - -// 7.18.2 Limits of specified-width integer types - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 - -// 7.18.2.1 Limits of exact-width integer types -#define INT8_MIN ((int8_t)_I8_MIN) -#define INT8_MAX _I8_MAX -#define INT16_MIN ((int16_t)_I16_MIN) -#define INT16_MAX _I16_MAX -#define INT32_MIN ((int32_t)_I32_MIN) -#define INT32_MAX _I32_MAX -#define INT64_MIN ((int64_t)_I64_MIN) -#define INT64_MAX _I64_MAX -#define UINT8_MAX _UI8_MAX -#define UINT16_MAX _UI16_MAX -#define UINT32_MAX _UI32_MAX -#define UINT64_MAX _UI64_MAX - -// 7.18.2.2 Limits of minimum-width integer types -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MIN INT64_MIN -#define INT_LEAST64_MAX INT64_MAX -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX - -// 7.18.2.3 Limits of fastest minimum-width integer types -#define INT_FAST8_MIN INT8_MIN -#define INT_FAST8_MAX INT8_MAX -#define INT_FAST16_MIN INT16_MIN -#define INT_FAST16_MAX INT16_MAX -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MIN INT64_MIN -#define INT_FAST64_MAX INT64_MAX -#define UINT_FAST8_MAX UINT8_MAX -#define UINT_FAST16_MAX UINT16_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX - -// 7.18.2.4 Limits of integer types capable of holding object pointers -#ifdef _WIN64 // [ -# define INTPTR_MIN INT64_MIN -# define INTPTR_MAX INT64_MAX -# define UINTPTR_MAX UINT64_MAX -#else // _WIN64 ][ -# define INTPTR_MIN INT32_MIN -# define INTPTR_MAX INT32_MAX -# define UINTPTR_MAX UINT32_MAX -#endif // _WIN64 ] - -// 7.18.2.5 Limits of greatest-width integer types -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX - -// 7.18.3 Limits of other integer types - -#ifdef _WIN64 // [ -# define PTRDIFF_MIN _I64_MIN -# define PTRDIFF_MAX _I64_MAX -#else // _WIN64 ][ -# define PTRDIFF_MIN _I32_MIN -# define PTRDIFF_MAX _I32_MAX -#endif // _WIN64 ] - -#define SIG_ATOMIC_MIN INT_MIN -#define SIG_ATOMIC_MAX INT_MAX - -#ifndef SIZE_MAX // [ -# ifdef _WIN64 // [ -# define SIZE_MAX _UI64_MAX -# else // _WIN64 ][ -# define SIZE_MAX _UI32_MAX -# endif // _WIN64 ] -#endif // SIZE_MAX ] - -// WCHAR_MIN and WCHAR_MAX are also defined in -#ifndef WCHAR_MIN // [ -# define WCHAR_MIN 0 -#endif // WCHAR_MIN ] -#ifndef WCHAR_MAX // [ -# define WCHAR_MAX _UI16_MAX -#endif // WCHAR_MAX ] - -#define WINT_MIN 0 -#define WINT_MAX _UI16_MAX - -#endif // __STDC_LIMIT_MACROS ] - - -// 7.18.4 Limits of other integer types - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 - -// 7.18.4.1 Macros for minimum-width integer constants - -#define INT8_C(val) val##i8 -#define INT16_C(val) val##i16 -#define INT32_C(val) val##i32 -#define INT64_C(val) val##i64 - -#define UINT8_C(val) val##ui8 -#define UINT16_C(val) val##ui16 -#define UINT32_C(val) val##ui32 -#define UINT64_C(val) val##ui64 - -// 7.18.4.2 Macros for greatest-width integer constants -#define INTMAX_C INT64_C -#define UINTMAX_C UINT64_C - -#endif // __STDC_CONSTANT_MACROS ] - - -#endif // _MSC_STDINT_H_ ] diff --git a/src/external/glfw/deps/wayland/fractional-scale-v1.xml b/src/external/glfw/deps/wayland/fractional-scale-v1.xml new file mode 100644 index 000000000..350bfc01e --- /dev/null +++ b/src/external/glfw/deps/wayland/fractional-scale-v1.xml @@ -0,0 +1,102 @@ + + + + Copyright © 2022 Kenny Levinsen + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol allows a compositor to suggest for surfaces to render at + fractional scales. + + A client can submit scaled content by utilizing wp_viewport. This is done by + creating a wp_viewport object for the surface and setting the destination + rectangle to the surface size before the scale factor is applied. + + The buffer size is calculated by multiplying the surface size by the + intended scale. + + The wl_surface buffer scale should remain set to 1. + + If a surface has a surface-local size of 100 px by 50 px and wishes to + submit buffers with a scale of 1.5, then a buffer of 150px by 75 px should + be used and the wp_viewport destination rectangle should be 100 px by 50 px. + + For toplevel surfaces, the size is rounded halfway away from zero. The + rounding algorithm for subsurface position and size is not defined. + + + + + A global interface for requesting surfaces to use fractional scales. + + + + + Informs the server that the client will not be using this protocol + object anymore. This does not affect any other objects, + wp_fractional_scale_v1 objects included. + + + + + + + + + + Create an add-on object for the the wl_surface to let the compositor + request fractional scales. If the given wl_surface already has a + wp_fractional_scale_v1 object associated, the fractional_scale_exists + protocol error is raised. + + + + + + + + + An additional interface to a wl_surface object which allows the compositor + to inform the client of the preferred scale. + + + + + Destroy the fractional scale object. When this object is destroyed, + preferred_scale events will no longer be sent. + + + + + + Notification of a new preferred scale for this surface that the + compositor suggests that the client should use. + + The sent scale is the numerator of a fraction with a denominator of 120. + + + + + diff --git a/src/external/glfw/deps/wayland/idle-inhibit-unstable-v1.xml b/src/external/glfw/deps/wayland/idle-inhibit-unstable-v1.xml new file mode 100644 index 000000000..9c06cdcba --- /dev/null +++ b/src/external/glfw/deps/wayland/idle-inhibit-unstable-v1.xml @@ -0,0 +1,83 @@ + + + + + Copyright © 2015 Samsung Electronics Co., Ltd + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + This interface permits inhibiting the idle behavior such as screen + blanking, locking, and screensaving. The client binds the idle manager + globally, then creates idle-inhibitor objects for each surface. + + Warning! The protocol described in this file is experimental and + backward incompatible changes may be made. Backward compatible changes + may be added together with the corresponding interface version bump. + Backward incompatible changes are done by bumping the version number in + the protocol and interface names and resetting the interface version. + Once the protocol is to be declared stable, the 'z' prefix and the + version number in the protocol and interface names are removed and the + interface version number is reset. + + + + + Destroy the inhibit manager. + + + + + + Create a new inhibitor object associated with the given surface. + + + + + + + + + + An idle inhibitor prevents the output that the associated surface is + visible on from being set to a state where it is not visually usable due + to lack of user interaction (e.g. blanked, dimmed, locked, set to power + save, etc.) Any screensaver processes are also blocked from displaying. + + If the surface is destroyed, unmapped, becomes occluded, loses + visibility, or otherwise becomes not visually relevant for the user, the + idle inhibitor will not be honored by the compositor; if the surface + subsequently regains visibility the inhibitor takes effect once again. + Likewise, the inhibitor isn't honored if the system was already idled at + the time the inhibitor was established, although if the system later + de-idles and re-idles the inhibitor will take effect. + + + + + Remove the inhibitor effect from the associated wl_surface. + + + + + diff --git a/src/external/glfw/deps/wayland/pointer-constraints-unstable-v1.xml b/src/external/glfw/deps/wayland/pointer-constraints-unstable-v1.xml new file mode 100644 index 000000000..efd64b660 --- /dev/null +++ b/src/external/glfw/deps/wayland/pointer-constraints-unstable-v1.xml @@ -0,0 +1,339 @@ + + + + + Copyright © 2014 Jonas Ådahl + Copyright © 2015 Red Hat Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol specifies a set of interfaces used for adding constraints to + the motion of a pointer. Possible constraints include confining pointer + motions to a given region, or locking it to its current position. + + In order to constrain the pointer, a client must first bind the global + interface "wp_pointer_constraints" which, if a compositor supports pointer + constraints, is exposed by the registry. Using the bound global object, the + client uses the request that corresponds to the type of constraint it wants + to make. See wp_pointer_constraints for more details. + + Warning! The protocol described in this file is experimental and backward + incompatible changes may be made. Backward compatible changes may be added + together with the corresponding interface version bump. Backward + incompatible changes are done by bumping the version number in the protocol + and interface names and resetting the interface version. Once the protocol + is to be declared stable, the 'z' prefix and the version number in the + protocol and interface names are removed and the interface version number is + reset. + + + + + The global interface exposing pointer constraining functionality. It + exposes two requests: lock_pointer for locking the pointer to its + position, and confine_pointer for locking the pointer to a region. + + The lock_pointer and confine_pointer requests create the objects + wp_locked_pointer and wp_confined_pointer respectively, and the client can + use these objects to interact with the lock. + + For any surface, only one lock or confinement may be active across all + wl_pointer objects of the same seat. If a lock or confinement is requested + when another lock or confinement is active or requested on the same surface + and with any of the wl_pointer objects of the same seat, an + 'already_constrained' error will be raised. + + + + + These errors can be emitted in response to wp_pointer_constraints + requests. + + + + + + + These values represent different lifetime semantics. They are passed + as arguments to the factory requests to specify how the constraint + lifetimes should be managed. + + + + A oneshot pointer constraint will never reactivate once it has been + deactivated. See the corresponding deactivation event + (wp_locked_pointer.unlocked and wp_confined_pointer.unconfined) for + details. + + + + + A persistent pointer constraint may again reactivate once it has + been deactivated. See the corresponding deactivation event + (wp_locked_pointer.unlocked and wp_confined_pointer.unconfined) for + details. + + + + + + + Used by the client to notify the server that it will no longer use this + pointer constraints object. + + + + + + The lock_pointer request lets the client request to disable movements of + the virtual pointer (i.e. the cursor), effectively locking the pointer + to a position. This request may not take effect immediately; in the + future, when the compositor deems implementation-specific constraints + are satisfied, the pointer lock will be activated and the compositor + sends a locked event. + + The protocol provides no guarantee that the constraints are ever + satisfied, and does not require the compositor to send an error if the + constraints cannot ever be satisfied. It is thus possible to request a + lock that will never activate. + + There may not be another pointer constraint of any kind requested or + active on the surface for any of the wl_pointer objects of the seat of + the passed pointer when requesting a lock. If there is, an error will be + raised. See general pointer lock documentation for more details. + + The intersection of the region passed with this request and the input + region of the surface is used to determine where the pointer must be + in order for the lock to activate. It is up to the compositor whether to + warp the pointer or require some kind of user interaction for the lock + to activate. If the region is null the surface input region is used. + + A surface may receive pointer focus without the lock being activated. + + The request creates a new object wp_locked_pointer which is used to + interact with the lock as well as receive updates about its state. See + the the description of wp_locked_pointer for further information. + + Note that while a pointer is locked, the wl_pointer objects of the + corresponding seat will not emit any wl_pointer.motion events, but + relative motion events will still be emitted via wp_relative_pointer + objects of the same seat. wl_pointer.axis and wl_pointer.button events + are unaffected. + + + + + + + + + + + The confine_pointer request lets the client request to confine the + pointer cursor to a given region. This request may not take effect + immediately; in the future, when the compositor deems implementation- + specific constraints are satisfied, the pointer confinement will be + activated and the compositor sends a confined event. + + The intersection of the region passed with this request and the input + region of the surface is used to determine where the pointer must be + in order for the confinement to activate. It is up to the compositor + whether to warp the pointer or require some kind of user interaction for + the confinement to activate. If the region is null the surface input + region is used. + + The request will create a new object wp_confined_pointer which is used + to interact with the confinement as well as receive updates about its + state. See the the description of wp_confined_pointer for further + information. + + + + + + + + + + + + The wp_locked_pointer interface represents a locked pointer state. + + While the lock of this object is active, the wl_pointer objects of the + associated seat will not emit any wl_pointer.motion events. + + This object will send the event 'locked' when the lock is activated. + Whenever the lock is activated, it is guaranteed that the locked surface + will already have received pointer focus and that the pointer will be + within the region passed to the request creating this object. + + To unlock the pointer, send the destroy request. This will also destroy + the wp_locked_pointer object. + + If the compositor decides to unlock the pointer the unlocked event is + sent. See wp_locked_pointer.unlock for details. + + When unlocking, the compositor may warp the cursor position to the set + cursor position hint. If it does, it will not result in any relative + motion events emitted via wp_relative_pointer. + + If the surface the lock was requested on is destroyed and the lock is not + yet activated, the wp_locked_pointer object is now defunct and must be + destroyed. + + + + + Destroy the locked pointer object. If applicable, the compositor will + unlock the pointer. + + + + + + Set the cursor position hint relative to the top left corner of the + surface. + + If the client is drawing its own cursor, it should update the position + hint to the position of its own cursor. A compositor may use this + information to warp the pointer upon unlock in order to avoid pointer + jumps. + + The cursor position hint is double buffered. The new hint will only take + effect when the associated surface gets it pending state applied. See + wl_surface.commit for details. + + + + + + + + Set a new region used to lock the pointer. + + The new lock region is double-buffered. The new lock region will + only take effect when the associated surface gets its pending state + applied. See wl_surface.commit for details. + + For details about the lock region, see wp_locked_pointer. + + + + + + + Notification that the pointer lock of the seat's pointer is activated. + + + + + + Notification that the pointer lock of the seat's pointer is no longer + active. If this is a oneshot pointer lock (see + wp_pointer_constraints.lifetime) this object is now defunct and should + be destroyed. If this is a persistent pointer lock (see + wp_pointer_constraints.lifetime) this pointer lock may again + reactivate in the future. + + + + + + + The wp_confined_pointer interface represents a confined pointer state. + + This object will send the event 'confined' when the confinement is + activated. Whenever the confinement is activated, it is guaranteed that + the surface the pointer is confined to will already have received pointer + focus and that the pointer will be within the region passed to the request + creating this object. It is up to the compositor to decide whether this + requires some user interaction and if the pointer will warp to within the + passed region if outside. + + To unconfine the pointer, send the destroy request. This will also destroy + the wp_confined_pointer object. + + If the compositor decides to unconfine the pointer the unconfined event is + sent. The wp_confined_pointer object is at this point defunct and should + be destroyed. + + + + + Destroy the confined pointer object. If applicable, the compositor will + unconfine the pointer. + + + + + + Set a new region used to confine the pointer. + + The new confine region is double-buffered. The new confine region will + only take effect when the associated surface gets its pending state + applied. See wl_surface.commit for details. + + If the confinement is active when the new confinement region is applied + and the pointer ends up outside of newly applied region, the pointer may + warped to a position within the new confinement region. If warped, a + wl_pointer.motion event will be emitted, but no + wp_relative_pointer.relative_motion event. + + The compositor may also, instead of using the new region, unconfine the + pointer. + + For details about the confine region, see wp_confined_pointer. + + + + + + + Notification that the pointer confinement of the seat's pointer is + activated. + + + + + + Notification that the pointer confinement of the seat's pointer is no + longer active. If this is a oneshot pointer confinement (see + wp_pointer_constraints.lifetime) this object is now defunct and should + be destroyed. If this is a persistent pointer confinement (see + wp_pointer_constraints.lifetime) this pointer confinement may again + reactivate in the future. + + + + + diff --git a/src/external/glfw/deps/wayland/relative-pointer-unstable-v1.xml b/src/external/glfw/deps/wayland/relative-pointer-unstable-v1.xml new file mode 100644 index 000000000..ca6f81d12 --- /dev/null +++ b/src/external/glfw/deps/wayland/relative-pointer-unstable-v1.xml @@ -0,0 +1,136 @@ + + + + + Copyright © 2014 Jonas Ådahl + Copyright © 2015 Red Hat Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol specifies a set of interfaces used for making clients able to + receive relative pointer events not obstructed by barriers (such as the + monitor edge or other pointer barriers). + + To start receiving relative pointer events, a client must first bind the + global interface "wp_relative_pointer_manager" which, if a compositor + supports relative pointer motion events, is exposed by the registry. After + having created the relative pointer manager proxy object, the client uses + it to create the actual relative pointer object using the + "get_relative_pointer" request given a wl_pointer. The relative pointer + motion events will then, when applicable, be transmitted via the proxy of + the newly created relative pointer object. See the documentation of the + relative pointer interface for more details. + + Warning! The protocol described in this file is experimental and backward + incompatible changes may be made. Backward compatible changes may be added + together with the corresponding interface version bump. Backward + incompatible changes are done by bumping the version number in the protocol + and interface names and resetting the interface version. Once the protocol + is to be declared stable, the 'z' prefix and the version number in the + protocol and interface names are removed and the interface version number is + reset. + + + + + A global interface used for getting the relative pointer object for a + given pointer. + + + + + Used by the client to notify the server that it will no longer use this + relative pointer manager object. + + + + + + Create a relative pointer interface given a wl_pointer object. See the + wp_relative_pointer interface for more details. + + + + + + + + + A wp_relative_pointer object is an extension to the wl_pointer interface + used for emitting relative pointer events. It shares the same focus as + wl_pointer objects of the same seat and will only emit events when it has + focus. + + + + + + + + + Relative x/y pointer motion from the pointer of the seat associated with + this object. + + A relative motion is in the same dimension as regular wl_pointer motion + events, except they do not represent an absolute position. For example, + moving a pointer from (x, y) to (x', y') would have the equivalent + relative motion (x' - x, y' - y). If a pointer motion caused the + absolute pointer position to be clipped by for example the edge of the + monitor, the relative motion is unaffected by the clipping and will + represent the unclipped motion. + + This event also contains non-accelerated motion deltas. The + non-accelerated delta is, when applicable, the regular pointer motion + delta as it was before having applied motion acceleration and other + transformations such as normalization. + + Note that the non-accelerated delta does not represent 'raw' events as + they were read from some device. Pointer motion acceleration is device- + and configuration-specific and non-accelerated deltas and accelerated + deltas may have the same value on some devices. + + Relative motions are not coupled to wl_pointer.motion events, and can be + sent in combination with such events, but also independently. There may + also be scenarios where wl_pointer.motion is sent, but there is no + relative motion. The order of an absolute and relative motion event + originating from the same physical motion is not guaranteed. + + If the client needs button events or focus state, it can receive them + from a wl_pointer object of the same seat that the wp_relative_pointer + object is associated with. + + + + + + + + + + + diff --git a/src/external/glfw/deps/wayland/viewporter.xml b/src/external/glfw/deps/wayland/viewporter.xml new file mode 100644 index 000000000..d1048d1f3 --- /dev/null +++ b/src/external/glfw/deps/wayland/viewporter.xml @@ -0,0 +1,180 @@ + + + + + Copyright © 2013-2016 Collabora, Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + The global interface exposing surface cropping and scaling + capabilities is used to instantiate an interface extension for a + wl_surface object. This extended interface will then allow + cropping and scaling the surface contents, effectively + disconnecting the direct relationship between the buffer and the + surface size. + + + + + Informs the server that the client will not be using this + protocol object anymore. This does not affect any other objects, + wp_viewport objects included. + + + + + + + + + + Instantiate an interface extension for the given wl_surface to + crop and scale its content. If the given wl_surface already has + a wp_viewport object associated, the viewport_exists + protocol error is raised. + + + + + + + + + An additional interface to a wl_surface object, which allows the + client to specify the cropping and scaling of the surface + contents. + + This interface works with two concepts: the source rectangle (src_x, + src_y, src_width, src_height), and the destination size (dst_width, + dst_height). The contents of the source rectangle are scaled to the + destination size, and content outside the source rectangle is ignored. + This state is double-buffered, and is applied on the next + wl_surface.commit. + + The two parts of crop and scale state are independent: the source + rectangle, and the destination size. Initially both are unset, that + is, no scaling is applied. The whole of the current wl_buffer is + used as the source, and the surface size is as defined in + wl_surface.attach. + + If the destination size is set, it causes the surface size to become + dst_width, dst_height. The source (rectangle) is scaled to exactly + this size. This overrides whatever the attached wl_buffer size is, + unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface + has no content and therefore no size. Otherwise, the size is always + at least 1x1 in surface local coordinates. + + If the source rectangle is set, it defines what area of the wl_buffer is + taken as the source. If the source rectangle is set and the destination + size is not set, then src_width and src_height must be integers, and the + surface size becomes the source rectangle size. This results in cropping + without scaling. If src_width or src_height are not integers and + destination size is not set, the bad_size protocol error is raised when + the surface state is applied. + + The coordinate transformations from buffer pixel coordinates up to + the surface-local coordinates happen in the following order: + 1. buffer_transform (wl_surface.set_buffer_transform) + 2. buffer_scale (wl_surface.set_buffer_scale) + 3. crop and scale (wp_viewport.set*) + This means, that the source rectangle coordinates of crop and scale + are given in the coordinates after the buffer transform and scale, + i.e. in the coordinates that would be the surface-local coordinates + if the crop and scale was not applied. + + If src_x or src_y are negative, the bad_value protocol error is raised. + Otherwise, if the source rectangle is partially or completely outside of + the non-NULL wl_buffer, then the out_of_buffer protocol error is raised + when the surface state is applied. A NULL wl_buffer does not raise the + out_of_buffer error. + + If the wl_surface associated with the wp_viewport is destroyed, + all wp_viewport requests except 'destroy' raise the protocol error + no_surface. + + If the wp_viewport object is destroyed, the crop and scale + state is removed from the wl_surface. The change will be applied + on the next wl_surface.commit. + + + + + The associated wl_surface's crop and scale state is removed. + The change is applied on the next wl_surface.commit. + + + + + + + + + + + + + Set the source rectangle of the associated wl_surface. See + wp_viewport for the description, and relation to the wl_buffer + size. + + If all of x, y, width and height are -1.0, the source rectangle is + unset instead. Any other set of values where width or height are zero + or negative, or x or y are negative, raise the bad_value protocol + error. + + The crop and scale state is double-buffered state, and will be + applied on the next wl_surface.commit. + + + + + + + + + + Set the destination size of the associated wl_surface. See + wp_viewport for the description, and relation to the wl_buffer + size. + + If width is -1 and height is -1, the destination size is unset + instead. Any other pair of values for width and height that + contains zero or negative values raises the bad_value protocol + error. + + The crop and scale state is double-buffered state, and will be + applied on the next wl_surface.commit. + + + + + + + diff --git a/src/external/glfw/deps/wayland/wayland.xml b/src/external/glfw/deps/wayland/wayland.xml new file mode 100644 index 000000000..10e039d6e --- /dev/null +++ b/src/external/glfw/deps/wayland/wayland.xml @@ -0,0 +1,3151 @@ + + + + + Copyright © 2008-2011 Kristian Høgsberg + Copyright © 2010-2011 Intel Corporation + Copyright © 2012-2013 Collabora, Ltd. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice (including the + next paragraph) shall be included in all copies or substantial + portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + + + + The core global object. This is a special singleton object. It + is used for internal Wayland protocol features. + + + + + The sync request asks the server to emit the 'done' event + on the returned wl_callback object. Since requests are + handled in-order and events are delivered in-order, this can + be used as a barrier to ensure all previous requests and the + resulting events have been handled. + + The object returned by this request will be destroyed by the + compositor after the callback is fired and as such the client must not + attempt to use it after that point. + + The callback_data passed in the callback is the event serial. + + + + + + + This request creates a registry object that allows the client + to list and bind the global objects available from the + compositor. + + It should be noted that the server side resources consumed in + response to a get_registry request can only be released when the + client disconnects, not when the client side proxy is destroyed. + Therefore, clients should invoke get_registry as infrequently as + possible to avoid wasting memory. + + + + + + + The error event is sent out when a fatal (non-recoverable) + error has occurred. The object_id argument is the object + where the error occurred, most often in response to a request + to that object. The code identifies the error and is defined + by the object interface. As such, each interface defines its + own set of error codes. The message is a brief description + of the error, for (debugging) convenience. + + + + + + + + + These errors are global and can be emitted in response to any + server request. + + + + + + + + + + This event is used internally by the object ID management + logic. When a client deletes an object that it had created, + the server will send this event to acknowledge that it has + seen the delete request. When the client receives this event, + it will know that it can safely reuse the object ID. + + + + + + + + The singleton global registry object. The server has a number of + global objects that are available to all clients. These objects + typically represent an actual object in the server (for example, + an input device) or they are singleton objects that provide + extension functionality. + + When a client creates a registry object, the registry object + will emit a global event for each global currently in the + registry. Globals come and go as a result of device or + monitor hotplugs, reconfiguration or other events, and the + registry will send out global and global_remove events to + keep the client up to date with the changes. To mark the end + of the initial burst of events, the client can use the + wl_display.sync request immediately after calling + wl_display.get_registry. + + A client can bind to a global object by using the bind + request. This creates a client-side handle that lets the object + emit events to the client and lets the client invoke requests on + the object. + + + + + Binds a new, client-created object to the server using the + specified name as the identifier. + + + + + + + + Notify the client of global objects. + + The event notifies the client that a global object with + the given name is now available, and it implements the + given version of the given interface. + + + + + + + + + Notify the client of removed global objects. + + This event notifies the client that the global identified + by name is no longer available. If the client bound to + the global using the bind request, the client should now + destroy that object. + + The object remains valid and requests to the object will be + ignored until the client destroys it, to avoid races between + the global going away and a client sending a request to it. + + + + + + + + Clients can handle the 'done' event to get notified when + the related request is done. + + Note, because wl_callback objects are created from multiple independent + factory interfaces, the wl_callback interface is frozen at version 1. + + + + + Notify the client when the related request is done. + + + + + + + + A compositor. This object is a singleton global. The + compositor is in charge of combining the contents of multiple + surfaces into one displayable output. + + + + + Ask the compositor to create a new surface. + + + + + + + Ask the compositor to create a new region. + + + + + + + + The wl_shm_pool object encapsulates a piece of memory shared + between the compositor and client. Through the wl_shm_pool + object, the client can allocate shared memory wl_buffer objects. + All objects created through the same pool share the same + underlying mapped memory. Reusing the mapped memory avoids the + setup/teardown overhead and is useful when interactively resizing + a surface or for many small buffers. + + + + + Create a wl_buffer object from the pool. + + The buffer is created offset bytes into the pool and has + width and height as specified. The stride argument specifies + the number of bytes from the beginning of one row to the beginning + of the next. The format is the pixel format of the buffer and + must be one of those advertised through the wl_shm.format event. + + A buffer will keep a reference to the pool it was created from + so it is valid to destroy the pool immediately after creating + a buffer from it. + + + + + + + + + + + + Destroy the shared memory pool. + + The mmapped memory will be released when all + buffers that have been created from this pool + are gone. + + + + + + This request will cause the server to remap the backing memory + for the pool from the file descriptor passed when the pool was + created, but using the new size. This request can only be + used to make the pool bigger. + + This request only changes the amount of bytes that are mmapped + by the server and does not touch the file corresponding to the + file descriptor passed at creation time. It is the client's + responsibility to ensure that the file is at least as big as + the new pool size. + + + + + + + + A singleton global object that provides support for shared + memory. + + Clients can create wl_shm_pool objects using the create_pool + request. + + On binding the wl_shm object one or more format events + are emitted to inform clients about the valid pixel formats + that can be used for buffers. + + + + + These errors can be emitted in response to wl_shm requests. + + + + + + + + + This describes the memory layout of an individual pixel. + + All renderers should support argb8888 and xrgb8888 but any other + formats are optional and may not be supported by the particular + renderer in use. + + The drm format codes match the macros defined in drm_fourcc.h, except + argb8888 and xrgb8888. The formats actually supported by the compositor + will be reported by the format event. + + For all wl_shm formats and unless specified in another protocol + extension, pre-multiplied alpha is used for pixel values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new wl_shm_pool object. + + The pool can be used to create shared memory based buffer + objects. The server will mmap size bytes of the passed file + descriptor, to use as backing memory for the pool. + + + + + + + + + Informs the client about a valid pixel format that + can be used for buffers. Known formats include + argb8888 and xrgb8888. + + + + + + + + A buffer provides the content for a wl_surface. Buffers are + created through factory interfaces such as wl_shm, wp_linux_buffer_params + (from the linux-dmabuf protocol extension) or similar. It has a width and + a height and can be attached to a wl_surface, but the mechanism by which a + client provides and updates the contents is defined by the buffer factory + interface. + + If the buffer uses a format that has an alpha channel, the alpha channel + is assumed to be premultiplied in the color channels unless otherwise + specified. + + Note, because wl_buffer objects are created from multiple independent + factory interfaces, the wl_buffer interface is frozen at version 1. + + + + + Destroy a buffer. If and how you need to release the backing + storage is defined by the buffer factory interface. + + For possible side-effects to a surface, see wl_surface.attach. + + + + + + Sent when this wl_buffer is no longer used by the compositor. + The client is now free to reuse or destroy this buffer and its + backing storage. + + If a client receives a release event before the frame callback + requested in the same wl_surface.commit that attaches this + wl_buffer to a surface, then the client is immediately free to + reuse the buffer and its backing storage, and does not need a + second buffer for the next surface content update. Typically + this is possible, when the compositor maintains a copy of the + wl_surface contents, e.g. as a GL texture. This is an important + optimization for GL(ES) compositors with wl_shm clients. + + + + + + + A wl_data_offer represents a piece of data offered for transfer + by another client (the source client). It is used by the + copy-and-paste and drag-and-drop mechanisms. The offer + describes the different mime types that the data can be + converted to and provides the mechanism for transferring the + data directly from the source client. + + + + + + + + + + + + Indicate that the client can accept the given mime type, or + NULL for not accepted. + + For objects of version 2 or older, this request is used by the + client to give feedback whether the client can receive the given + mime type, or NULL if none is accepted; the feedback does not + determine whether the drag-and-drop operation succeeds or not. + + For objects of version 3 or newer, this request determines the + final result of the drag-and-drop operation. If the end result + is that no mime types were accepted, the drag-and-drop operation + will be cancelled and the corresponding drag source will receive + wl_data_source.cancelled. Clients may still use this event in + conjunction with wl_data_source.action for feedback. + + + + + + + + To transfer the offered data, the client issues this request + and indicates the mime type it wants to receive. The transfer + happens through the passed file descriptor (typically created + with the pipe system call). The source client writes the data + in the mime type representation requested and then closes the + file descriptor. + + The receiving client reads from the read end of the pipe until + EOF and then closes its end, at which point the transfer is + complete. + + This request may happen multiple times for different mime types, + both before and after wl_data_device.drop. Drag-and-drop destination + clients may preemptively fetch data or examine it more closely to + determine acceptance. + + + + + + + + Destroy the data offer. + + + + + + Sent immediately after creating the wl_data_offer object. One + event per offered mime type. + + + + + + + + + Notifies the compositor that the drag destination successfully + finished the drag-and-drop operation. + + Upon receiving this request, the compositor will emit + wl_data_source.dnd_finished on the drag source client. + + It is a client error to perform other requests than + wl_data_offer.destroy after this one. It is also an error to perform + this request after a NULL mime type has been set in + wl_data_offer.accept or no action was received through + wl_data_offer.action. + + If wl_data_offer.finish request is received for a non drag and drop + operation, the invalid_finish protocol error is raised. + + + + + + Sets the actions that the destination side client supports for + this operation. This request may trigger the emission of + wl_data_source.action and wl_data_offer.action events if the compositor + needs to change the selected action. + + This request can be called multiple times throughout the + drag-and-drop operation, typically in response to wl_data_device.enter + or wl_data_device.motion events. + + This request determines the final result of the drag-and-drop + operation. If the end result is that no action is accepted, + the drag source will receive wl_data_source.cancelled. + + The dnd_actions argument must contain only values expressed in the + wl_data_device_manager.dnd_actions enum, and the preferred_action + argument must only contain one of those values set, otherwise it + will result in a protocol error. + + While managing an "ask" action, the destination drag-and-drop client + may perform further wl_data_offer.receive requests, and is expected + to perform one last wl_data_offer.set_actions request with a preferred + action other than "ask" (and optionally wl_data_offer.accept) before + requesting wl_data_offer.finish, in order to convey the action selected + by the user. If the preferred action is not in the + wl_data_offer.source_actions mask, an error will be raised. + + If the "ask" action is dismissed (e.g. user cancellation), the client + is expected to perform wl_data_offer.destroy right away. + + This request can only be made on drag-and-drop offers, a protocol error + will be raised otherwise. + + + + + + + + This event indicates the actions offered by the data source. It + will be sent immediately after creating the wl_data_offer object, + or anytime the source side changes its offered actions through + wl_data_source.set_actions. + + + + + + + This event indicates the action selected by the compositor after + matching the source/destination side actions. Only one action (or + none) will be offered here. + + This event can be emitted multiple times during the drag-and-drop + operation in response to destination side action changes through + wl_data_offer.set_actions. + + This event will no longer be emitted after wl_data_device.drop + happened on the drag-and-drop destination, the client must + honor the last action received, or the last preferred one set + through wl_data_offer.set_actions when handling an "ask" action. + + Compositors may also change the selected action on the fly, mainly + in response to keyboard modifier changes during the drag-and-drop + operation. + + The most recent action received is always the valid one. Prior to + receiving wl_data_device.drop, the chosen action may change (e.g. + due to keyboard modifiers being pressed). At the time of receiving + wl_data_device.drop the drag-and-drop destination must honor the + last action received. + + Action changes may still happen after wl_data_device.drop, + especially on "ask" actions, where the drag-and-drop destination + may choose another action afterwards. Action changes happening + at this stage are always the result of inter-client negotiation, the + compositor shall no longer be able to induce a different action. + + Upon "ask" actions, it is expected that the drag-and-drop destination + may potentially choose a different action and/or mime type, + based on wl_data_offer.source_actions and finally chosen by the + user (e.g. popping up a menu with the available options). The + final wl_data_offer.set_actions and wl_data_offer.accept requests + must happen before the call to wl_data_offer.finish. + + + + + + + + The wl_data_source object is the source side of a wl_data_offer. + It is created by the source client in a data transfer and + provides a way to describe the offered data and a way to respond + to requests to transfer the data. + + + + + + + + + + This request adds a mime type to the set of mime types + advertised to targets. Can be called several times to offer + multiple types. + + + + + + + Destroy the data source. + + + + + + Sent when a target accepts pointer_focus or motion events. If + a target does not accept any of the offered types, type is NULL. + + Used for feedback during drag-and-drop. + + + + + + + Request for data from the client. Send the data as the + specified mime type over the passed file descriptor, then + close it. + + + + + + + + This data source is no longer valid. There are several reasons why + this could happen: + + - The data source has been replaced by another data source. + - The drag-and-drop operation was performed, but the drop destination + did not accept any of the mime types offered through + wl_data_source.target. + - The drag-and-drop operation was performed, but the drop destination + did not select any of the actions present in the mask offered through + wl_data_source.action. + - The drag-and-drop operation was performed but didn't happen over a + surface. + - The compositor cancelled the drag-and-drop operation (e.g. compositor + dependent timeouts to avoid stale drag-and-drop transfers). + + The client should clean up and destroy this data source. + + For objects of version 2 or older, wl_data_source.cancelled will + only be emitted if the data source was replaced by another data + source. + + + + + + + + Sets the actions that the source side client supports for this + operation. This request may trigger wl_data_source.action and + wl_data_offer.action events if the compositor needs to change the + selected action. + + The dnd_actions argument must contain only values expressed in the + wl_data_device_manager.dnd_actions enum, otherwise it will result + in a protocol error. + + This request must be made once only, and can only be made on sources + used in drag-and-drop, so it must be performed before + wl_data_device.start_drag. Attempting to use the source other than + for drag-and-drop will raise a protocol error. + + + + + + + The user performed the drop action. This event does not indicate + acceptance, wl_data_source.cancelled may still be emitted afterwards + if the drop destination does not accept any mime type. + + However, this event might however not be received if the compositor + cancelled the drag-and-drop operation before this event could happen. + + Note that the data_source may still be used in the future and should + not be destroyed here. + + + + + + The drop destination finished interoperating with this data + source, so the client is now free to destroy this data source and + free all associated data. + + If the action used to perform the operation was "move", the + source can now delete the transferred data. + + + + + + This event indicates the action selected by the compositor after + matching the source/destination side actions. Only one action (or + none) will be offered here. + + This event can be emitted multiple times during the drag-and-drop + operation, mainly in response to destination side changes through + wl_data_offer.set_actions, and as the data device enters/leaves + surfaces. + + It is only possible to receive this event after + wl_data_source.dnd_drop_performed if the drag-and-drop operation + ended in an "ask" action, in which case the final wl_data_source.action + event will happen immediately before wl_data_source.dnd_finished. + + Compositors may also change the selected action on the fly, mainly + in response to keyboard modifier changes during the drag-and-drop + operation. + + The most recent action received is always the valid one. The chosen + action may change alongside negotiation (e.g. an "ask" action can turn + into a "move" operation), so the effects of the final action must + always be applied in wl_data_offer.dnd_finished. + + Clients can trigger cursor surface changes from this point, so + they reflect the current action. + + + + + + + + There is one wl_data_device per seat which can be obtained + from the global wl_data_device_manager singleton. + + A wl_data_device provides access to inter-client data transfer + mechanisms such as copy-and-paste and drag-and-drop. + + + + + + + + + This request asks the compositor to start a drag-and-drop + operation on behalf of the client. + + The source argument is the data source that provides the data + for the eventual data transfer. If source is NULL, enter, leave + and motion events are sent only to the client that initiated the + drag and the client is expected to handle the data passing + internally. If source is destroyed, the drag-and-drop session will be + cancelled. + + The origin surface is the surface where the drag originates and + the client must have an active implicit grab that matches the + serial. + + The icon surface is an optional (can be NULL) surface that + provides an icon to be moved around with the cursor. Initially, + the top-left corner of the icon surface is placed at the cursor + hotspot, but subsequent wl_surface.attach request can move the + relative position. Attach requests must be confirmed with + wl_surface.commit as usual. The icon surface is given the role of + a drag-and-drop icon. If the icon surface already has another role, + it raises a protocol error. + + The input region is ignored for wl_surfaces with the role of a + drag-and-drop icon. + + + + + + + + + + This request asks the compositor to set the selection + to the data from the source on behalf of the client. + + To unset the selection, set the source to NULL. + + + + + + + + The data_offer event introduces a new wl_data_offer object, + which will subsequently be used in either the + data_device.enter event (for drag-and-drop) or the + data_device.selection event (for selections). Immediately + following the data_device.data_offer event, the new data_offer + object will send out data_offer.offer events to describe the + mime types it offers. + + + + + + + This event is sent when an active drag-and-drop pointer enters + a surface owned by the client. The position of the pointer at + enter time is provided by the x and y arguments, in surface-local + coordinates. + + + + + + + + + + + This event is sent when the drag-and-drop pointer leaves the + surface and the session ends. The client must destroy the + wl_data_offer introduced at enter time at this point. + + + + + + This event is sent when the drag-and-drop pointer moves within + the currently focused surface. The new position of the pointer + is provided by the x and y arguments, in surface-local + coordinates. + + + + + + + + + The event is sent when a drag-and-drop operation is ended + because the implicit grab is removed. + + The drag-and-drop destination is expected to honor the last action + received through wl_data_offer.action, if the resulting action is + "copy" or "move", the destination can still perform + wl_data_offer.receive requests, and is expected to end all + transfers with a wl_data_offer.finish request. + + If the resulting action is "ask", the action will not be considered + final. The drag-and-drop destination is expected to perform one last + wl_data_offer.set_actions request, or wl_data_offer.destroy in order + to cancel the operation. + + + + + + The selection event is sent out to notify the client of a new + wl_data_offer for the selection for this device. The + data_device.data_offer and the data_offer.offer events are + sent out immediately before this event to introduce the data + offer object. The selection event is sent to a client + immediately before receiving keyboard focus and when a new + selection is set while the client has keyboard focus. The + data_offer is valid until a new data_offer or NULL is received + or until the client loses keyboard focus. Switching surface with + keyboard focus within the same client doesn't mean a new selection + will be sent. The client must destroy the previous selection + data_offer, if any, upon receiving this event. + + + + + + + + + This request destroys the data device. + + + + + + + The wl_data_device_manager is a singleton global object that + provides access to inter-client data transfer mechanisms such as + copy-and-paste and drag-and-drop. These mechanisms are tied to + a wl_seat and this interface lets a client get a wl_data_device + corresponding to a wl_seat. + + Depending on the version bound, the objects created from the bound + wl_data_device_manager object will have different requirements for + functioning properly. See wl_data_source.set_actions, + wl_data_offer.accept and wl_data_offer.finish for details. + + + + + Create a new data source. + + + + + + + Create a new data device for a given seat. + + + + + + + + + + This is a bitmask of the available/preferred actions in a + drag-and-drop operation. + + In the compositor, the selected action is a result of matching the + actions offered by the source and destination sides. "action" events + with a "none" action will be sent to both source and destination if + there is no match. All further checks will effectively happen on + (source actions ∩ destination actions). + + In addition, compositors may also pick different actions in + reaction to key modifiers being pressed. One common design that + is used in major toolkits (and the behavior recommended for + compositors) is: + + - If no modifiers are pressed, the first match (in bit order) + will be used. + - Pressing Shift selects "move", if enabled in the mask. + - Pressing Control selects "copy", if enabled in the mask. + + Behavior beyond that is considered implementation-dependent. + Compositors may for example bind other modifiers (like Alt/Meta) + or drags initiated with other buttons than BTN_LEFT to specific + actions (e.g. "ask"). + + + + + + + + + + + This interface is implemented by servers that provide + desktop-style user interfaces. + + It allows clients to associate a wl_shell_surface with + a basic surface. + + Note! This protocol is deprecated and not intended for production use. + For desktop-style user interfaces, use xdg_shell. Compositors and clients + should not implement this interface. + + + + + + + + + Create a shell surface for an existing surface. This gives + the wl_surface the role of a shell surface. If the wl_surface + already has another role, it raises a protocol error. + + Only one shell surface can be associated with a given surface. + + + + + + + + + An interface that may be implemented by a wl_surface, for + implementations that provide a desktop-style user interface. + + It provides requests to treat surfaces like toplevel, fullscreen + or popup windows, move, resize or maximize them, associate + metadata like title and class, etc. + + On the server side the object is automatically destroyed when + the related wl_surface is destroyed. On the client side, + wl_shell_surface_destroy() must be called before destroying + the wl_surface object. + + + + + A client must respond to a ping event with a pong request or + the client may be deemed unresponsive. + + + + + + + Start a pointer-driven move of the surface. + + This request must be used in response to a button press event. + The server may ignore move requests depending on the state of + the surface (e.g. fullscreen or maximized). + + + + + + + + These values are used to indicate which edge of a surface + is being dragged in a resize operation. The server may + use this information to adapt its behavior, e.g. choose + an appropriate cursor image. + + + + + + + + + + + + + + + Start a pointer-driven resizing of the surface. + + This request must be used in response to a button press event. + The server may ignore resize requests depending on the state of + the surface (e.g. fullscreen or maximized). + + + + + + + + + Map the surface as a toplevel surface. + + A toplevel surface is not fullscreen, maximized or transient. + + + + + + These flags specify details of the expected behaviour + of transient surfaces. Used in the set_transient request. + + + + + + + Map the surface relative to an existing surface. + + The x and y arguments specify the location of the upper left + corner of the surface relative to the upper left corner of the + parent surface, in surface-local coordinates. + + The flags argument controls details of the transient behaviour. + + + + + + + + + + Hints to indicate to the compositor how to deal with a conflict + between the dimensions of the surface and the dimensions of the + output. The compositor is free to ignore this parameter. + + + + + + + + + + Map the surface as a fullscreen surface. + + If an output parameter is given then the surface will be made + fullscreen on that output. If the client does not specify the + output then the compositor will apply its policy - usually + choosing the output on which the surface has the biggest surface + area. + + The client may specify a method to resolve a size conflict + between the output size and the surface size - this is provided + through the method parameter. + + The framerate parameter is used only when the method is set + to "driver", to indicate the preferred framerate. A value of 0 + indicates that the client does not care about framerate. The + framerate is specified in mHz, that is framerate of 60000 is 60Hz. + + A method of "scale" or "driver" implies a scaling operation of + the surface, either via a direct scaling operation or a change of + the output mode. This will override any kind of output scaling, so + that mapping a surface with a buffer size equal to the mode can + fill the screen independent of buffer_scale. + + A method of "fill" means we don't scale up the buffer, however + any output scale is applied. This means that you may run into + an edge case where the application maps a buffer with the same + size of the output mode but buffer_scale 1 (thus making a + surface larger than the output). In this case it is allowed to + downscale the results to fit the screen. + + The compositor must reply to this request with a configure event + with the dimensions for the output on which the surface will + be made fullscreen. + + + + + + + + + Map the surface as a popup. + + A popup surface is a transient surface with an added pointer + grab. + + An existing implicit grab will be changed to owner-events mode, + and the popup grab will continue after the implicit grab ends + (i.e. releasing the mouse button does not cause the popup to + be unmapped). + + The popup grab continues until the window is destroyed or a + mouse button is pressed in any other client's window. A click + in any of the client's surfaces is reported as normal, however, + clicks in other clients' surfaces will be discarded and trigger + the callback. + + The x and y arguments specify the location of the upper left + corner of the surface relative to the upper left corner of the + parent surface, in surface-local coordinates. + + + + + + + + + + + + Map the surface as a maximized surface. + + If an output parameter is given then the surface will be + maximized on that output. If the client does not specify the + output then the compositor will apply its policy - usually + choosing the output on which the surface has the biggest surface + area. + + The compositor will reply with a configure event telling + the expected new surface size. The operation is completed + on the next buffer attach to this surface. + + A maximized surface typically fills the entire output it is + bound to, except for desktop elements such as panels. This is + the main difference between a maximized shell surface and a + fullscreen shell surface. + + The details depend on the compositor implementation. + + + + + + + Set a short title for the surface. + + This string may be used to identify the surface in a task bar, + window list, or other user interface elements provided by the + compositor. + + The string must be encoded in UTF-8. + + + + + + + Set a class for the surface. + + The surface class identifies the general class of applications + to which the surface belongs. A common convention is to use the + file name (or the full path if it is a non-standard location) of + the application's .desktop file as the class. + + + + + + + Ping a client to check if it is receiving events and sending + requests. A client is expected to reply with a pong request. + + + + + + + The configure event asks the client to resize its surface. + + The size is a hint, in the sense that the client is free to + ignore it if it doesn't resize, pick a smaller size (to + satisfy aspect ratio or resize in steps of NxM pixels). + + The edges parameter provides a hint about how the surface + was resized. The client may use this information to decide + how to adjust its content to the new size (e.g. a scrolling + area might adjust its content position to leave the viewable + content unmoved). + + The client is free to dismiss all but the last configure + event it received. + + The width and height arguments specify the size of the window + in surface-local coordinates. + + + + + + + + + The popup_done event is sent out when a popup grab is broken, + that is, when the user clicks a surface that doesn't belong + to the client owning the popup surface. + + + + + + + A surface is a rectangular area that may be displayed on zero + or more outputs, and shown any number of times at the compositor's + discretion. They can present wl_buffers, receive user input, and + define a local coordinate system. + + The size of a surface (and relative positions on it) is described + in surface-local coordinates, which may differ from the buffer + coordinates of the pixel content, in case a buffer_transform + or a buffer_scale is used. + + A surface without a "role" is fairly useless: a compositor does + not know where, when or how to present it. The role is the + purpose of a wl_surface. Examples of roles are a cursor for a + pointer (as set by wl_pointer.set_cursor), a drag icon + (wl_data_device.start_drag), a sub-surface + (wl_subcompositor.get_subsurface), and a window as defined by a + shell protocol (e.g. wl_shell.get_shell_surface). + + A surface can have only one role at a time. Initially a + wl_surface does not have a role. Once a wl_surface is given a + role, it is set permanently for the whole lifetime of the + wl_surface object. Giving the current role again is allowed, + unless explicitly forbidden by the relevant interface + specification. + + Surface roles are given by requests in other interfaces such as + wl_pointer.set_cursor. The request should explicitly mention + that this request gives a role to a wl_surface. Often, this + request also creates a new protocol object that represents the + role and adds additional functionality to wl_surface. When a + client wants to destroy a wl_surface, they must destroy this role + object before the wl_surface, otherwise a defunct_role_object error is + sent. + + Destroying the role object does not remove the role from the + wl_surface, but it may stop the wl_surface from "playing the role". + For instance, if a wl_subsurface object is destroyed, the wl_surface + it was created for will be unmapped and forget its position and + z-order. It is allowed to create a wl_subsurface for the same + wl_surface again, but it is not allowed to use the wl_surface as + a cursor (cursor is a different role than sub-surface, and role + switching is not allowed). + + + + + These errors can be emitted in response to wl_surface requests. + + + + + + + + + + + Deletes the surface and invalidates its object ID. + + + + + + Set a buffer as the content of this surface. + + The new size of the surface is calculated based on the buffer + size transformed by the inverse buffer_transform and the + inverse buffer_scale. This means that at commit time the supplied + buffer size must be an integer multiple of the buffer_scale. If + that's not the case, an invalid_size error is sent. + + The x and y arguments specify the location of the new pending + buffer's upper left corner, relative to the current buffer's upper + left corner, in surface-local coordinates. In other words, the + x and y, combined with the new surface size define in which + directions the surface's size changes. Setting anything other than 0 + as x and y arguments is discouraged, and should instead be replaced + with using the separate wl_surface.offset request. + + When the bound wl_surface version is 5 or higher, passing any + non-zero x or y is a protocol violation, and will result in an + 'invalid_offset' error being raised. The x and y arguments are ignored + and do not change the pending state. To achieve equivalent semantics, + use wl_surface.offset. + + Surface contents are double-buffered state, see wl_surface.commit. + + The initial surface contents are void; there is no content. + wl_surface.attach assigns the given wl_buffer as the pending + wl_buffer. wl_surface.commit makes the pending wl_buffer the new + surface contents, and the size of the surface becomes the size + calculated from the wl_buffer, as described above. After commit, + there is no pending buffer until the next attach. + + Committing a pending wl_buffer allows the compositor to read the + pixels in the wl_buffer. The compositor may access the pixels at + any time after the wl_surface.commit request. When the compositor + will not access the pixels anymore, it will send the + wl_buffer.release event. Only after receiving wl_buffer.release, + the client may reuse the wl_buffer. A wl_buffer that has been + attached and then replaced by another attach instead of committed + will not receive a release event, and is not used by the + compositor. + + If a pending wl_buffer has been committed to more than one wl_surface, + the delivery of wl_buffer.release events becomes undefined. A well + behaved client should not rely on wl_buffer.release events in this + case. Alternatively, a client could create multiple wl_buffer objects + from the same backing storage or use wp_linux_buffer_release. + + Destroying the wl_buffer after wl_buffer.release does not change + the surface contents. Destroying the wl_buffer before wl_buffer.release + is allowed as long as the underlying buffer storage isn't re-used (this + can happen e.g. on client process termination). However, if the client + destroys the wl_buffer before receiving the wl_buffer.release event and + mutates the underlying buffer storage, the surface contents become + undefined immediately. + + If wl_surface.attach is sent with a NULL wl_buffer, the + following wl_surface.commit will remove the surface content. + + + + + + + + + This request is used to describe the regions where the pending + buffer is different from the current surface contents, and where + the surface therefore needs to be repainted. The compositor + ignores the parts of the damage that fall outside of the surface. + + Damage is double-buffered state, see wl_surface.commit. + + The damage rectangle is specified in surface-local coordinates, + where x and y specify the upper left corner of the damage rectangle. + + The initial value for pending damage is empty: no damage. + wl_surface.damage adds pending damage: the new pending damage + is the union of old pending damage and the given rectangle. + + wl_surface.commit assigns pending damage as the current damage, + and clears pending damage. The server will clear the current + damage as it repaints the surface. + + Note! New clients should not use this request. Instead damage can be + posted with wl_surface.damage_buffer which uses buffer coordinates + instead of surface coordinates. + + + + + + + + + + Request a notification when it is a good time to start drawing a new + frame, by creating a frame callback. This is useful for throttling + redrawing operations, and driving animations. + + When a client is animating on a wl_surface, it can use the 'frame' + request to get notified when it is a good time to draw and commit the + next frame of animation. If the client commits an update earlier than + that, it is likely that some updates will not make it to the display, + and the client is wasting resources by drawing too often. + + The frame request will take effect on the next wl_surface.commit. + The notification will only be posted for one frame unless + requested again. For a wl_surface, the notifications are posted in + the order the frame requests were committed. + + The server must send the notifications so that a client + will not send excessive updates, while still allowing + the highest possible update rate for clients that wait for the reply + before drawing again. The server should give some time for the client + to draw and commit after sending the frame callback events to let it + hit the next output refresh. + + A server should avoid signaling the frame callbacks if the + surface is not visible in any way, e.g. the surface is off-screen, + or completely obscured by other opaque surfaces. + + The object returned by this request will be destroyed by the + compositor after the callback is fired and as such the client must not + attempt to use it after that point. + + The callback_data passed in the callback is the current time, in + milliseconds, with an undefined base. + + + + + + + This request sets the region of the surface that contains + opaque content. + + The opaque region is an optimization hint for the compositor + that lets it optimize the redrawing of content behind opaque + regions. Setting an opaque region is not required for correct + behaviour, but marking transparent content as opaque will result + in repaint artifacts. + + The opaque region is specified in surface-local coordinates. + + The compositor ignores the parts of the opaque region that fall + outside of the surface. + + Opaque region is double-buffered state, see wl_surface.commit. + + wl_surface.set_opaque_region changes the pending opaque region. + wl_surface.commit copies the pending region to the current region. + Otherwise, the pending and current regions are never changed. + + The initial value for an opaque region is empty. Setting the pending + opaque region has copy semantics, and the wl_region object can be + destroyed immediately. A NULL wl_region causes the pending opaque + region to be set to empty. + + + + + + + This request sets the region of the surface that can receive + pointer and touch events. + + Input events happening outside of this region will try the next + surface in the server surface stack. The compositor ignores the + parts of the input region that fall outside of the surface. + + The input region is specified in surface-local coordinates. + + Input region is double-buffered state, see wl_surface.commit. + + wl_surface.set_input_region changes the pending input region. + wl_surface.commit copies the pending region to the current region. + Otherwise the pending and current regions are never changed, + except cursor and icon surfaces are special cases, see + wl_pointer.set_cursor and wl_data_device.start_drag. + + The initial value for an input region is infinite. That means the + whole surface will accept input. Setting the pending input region + has copy semantics, and the wl_region object can be destroyed + immediately. A NULL wl_region causes the input region to be set + to infinite. + + + + + + + Surface state (input, opaque, and damage regions, attached buffers, + etc.) is double-buffered. Protocol requests modify the pending state, + as opposed to the current state in use by the compositor. A commit + request atomically applies all pending state, replacing the current + state. After commit, the new pending state is as documented for each + related request. + + On commit, a pending wl_buffer is applied first, and all other state + second. This means that all coordinates in double-buffered state are + relative to the new wl_buffer coming into use, except for + wl_surface.attach itself. If there is no pending wl_buffer, the + coordinates are relative to the current surface contents. + + All requests that need a commit to become effective are documented + to affect double-buffered state. + + Other interfaces may add further double-buffered surface state. + + + + + + This is emitted whenever a surface's creation, movement, or resizing + results in some part of it being within the scanout region of an + output. + + Note that a surface may be overlapping with zero or more outputs. + + + + + + + This is emitted whenever a surface's creation, movement, or resizing + results in it no longer having any part of it within the scanout region + of an output. + + Clients should not use the number of outputs the surface is on for frame + throttling purposes. The surface might be hidden even if no leave event + has been sent, and the compositor might expect new surface content + updates even if no enter event has been sent. The frame event should be + used instead. + + + + + + + + + This request sets an optional transformation on how the compositor + interprets the contents of the buffer attached to the surface. The + accepted values for the transform parameter are the values for + wl_output.transform. + + Buffer transform is double-buffered state, see wl_surface.commit. + + A newly created surface has its buffer transformation set to normal. + + wl_surface.set_buffer_transform changes the pending buffer + transformation. wl_surface.commit copies the pending buffer + transformation to the current one. Otherwise, the pending and current + values are never changed. + + The purpose of this request is to allow clients to render content + according to the output transform, thus permitting the compositor to + use certain optimizations even if the display is rotated. Using + hardware overlays and scanning out a client buffer for fullscreen + surfaces are examples of such optimizations. Those optimizations are + highly dependent on the compositor implementation, so the use of this + request should be considered on a case-by-case basis. + + Note that if the transform value includes 90 or 270 degree rotation, + the width of the buffer will become the surface height and the height + of the buffer will become the surface width. + + If transform is not one of the values from the + wl_output.transform enum the invalid_transform protocol error + is raised. + + + + + + + + + This request sets an optional scaling factor on how the compositor + interprets the contents of the buffer attached to the window. + + Buffer scale is double-buffered state, see wl_surface.commit. + + A newly created surface has its buffer scale set to 1. + + wl_surface.set_buffer_scale changes the pending buffer scale. + wl_surface.commit copies the pending buffer scale to the current one. + Otherwise, the pending and current values are never changed. + + The purpose of this request is to allow clients to supply higher + resolution buffer data for use on high resolution outputs. It is + intended that you pick the same buffer scale as the scale of the + output that the surface is displayed on. This means the compositor + can avoid scaling when rendering the surface on that output. + + Note that if the scale is larger than 1, then you have to attach + a buffer that is larger (by a factor of scale in each dimension) + than the desired surface size. + + If scale is not positive the invalid_scale protocol error is + raised. + + + + + + + + This request is used to describe the regions where the pending + buffer is different from the current surface contents, and where + the surface therefore needs to be repainted. The compositor + ignores the parts of the damage that fall outside of the surface. + + Damage is double-buffered state, see wl_surface.commit. + + The damage rectangle is specified in buffer coordinates, + where x and y specify the upper left corner of the damage rectangle. + + The initial value for pending damage is empty: no damage. + wl_surface.damage_buffer adds pending damage: the new pending + damage is the union of old pending damage and the given rectangle. + + wl_surface.commit assigns pending damage as the current damage, + and clears pending damage. The server will clear the current + damage as it repaints the surface. + + This request differs from wl_surface.damage in only one way - it + takes damage in buffer coordinates instead of surface-local + coordinates. While this generally is more intuitive than surface + coordinates, it is especially desirable when using wp_viewport + or when a drawing library (like EGL) is unaware of buffer scale + and buffer transform. + + Note: Because buffer transformation changes and damage requests may + be interleaved in the protocol stream, it is impossible to determine + the actual mapping between surface and buffer damage until + wl_surface.commit time. Therefore, compositors wishing to take both + kinds of damage into account will have to accumulate damage from the + two requests separately and only transform from one to the other + after receiving the wl_surface.commit. + + + + + + + + + + + + The x and y arguments specify the location of the new pending + buffer's upper left corner, relative to the current buffer's upper + left corner, in surface-local coordinates. In other words, the + x and y, combined with the new surface size define in which + directions the surface's size changes. + + Surface location offset is double-buffered state, see + wl_surface.commit. + + This request is semantically equivalent to and the replaces the x and y + arguments in the wl_surface.attach request in wl_surface versions prior + to 5. See wl_surface.attach for details. + + + + + + + + + + This event indicates the preferred buffer scale for this surface. It is + sent whenever the compositor's preference changes. + + It is intended that scaling aware clients use this event to scale their + content and use wl_surface.set_buffer_scale to indicate the scale they + have rendered with. This allows clients to supply a higher detail + buffer. + + + + + + + This event indicates the preferred buffer transform for this surface. + It is sent whenever the compositor's preference changes. + + It is intended that transform aware clients use this event to apply the + transform to their content and use wl_surface.set_buffer_transform to + indicate the transform they have rendered with. + + + + + + + + A seat is a group of keyboards, pointer and touch devices. This + object is published as a global during start up, or when such a + device is hot plugged. A seat typically has a pointer and + maintains a keyboard focus and a pointer focus. + + + + + This is a bitmask of capabilities this seat has; if a member is + set, then it is present on the seat. + + + + + + + + + These errors can be emitted in response to wl_seat requests. + + + + + + + This is emitted whenever a seat gains or loses the pointer, + keyboard or touch capabilities. The argument is a capability + enum containing the complete set of capabilities this seat has. + + When the pointer capability is added, a client may create a + wl_pointer object using the wl_seat.get_pointer request. This object + will receive pointer events until the capability is removed in the + future. + + When the pointer capability is removed, a client should destroy the + wl_pointer objects associated with the seat where the capability was + removed, using the wl_pointer.release request. No further pointer + events will be received on these objects. + + In some compositors, if a seat regains the pointer capability and a + client has a previously obtained wl_pointer object of version 4 or + less, that object may start sending pointer events again. This + behavior is considered a misinterpretation of the intended behavior + and must not be relied upon by the client. wl_pointer objects of + version 5 or later must not send events if created before the most + recent event notifying the client of an added pointer capability. + + The above behavior also applies to wl_keyboard and wl_touch with the + keyboard and touch capabilities, respectively. + + + + + + + The ID provided will be initialized to the wl_pointer interface + for this seat. + + This request only takes effect if the seat has the pointer + capability, or has had the pointer capability in the past. + It is a protocol violation to issue this request on a seat that has + never had the pointer capability. The missing_capability error will + be sent in this case. + + + + + + + The ID provided will be initialized to the wl_keyboard interface + for this seat. + + This request only takes effect if the seat has the keyboard + capability, or has had the keyboard capability in the past. + It is a protocol violation to issue this request on a seat that has + never had the keyboard capability. The missing_capability error will + be sent in this case. + + + + + + + The ID provided will be initialized to the wl_touch interface + for this seat. + + This request only takes effect if the seat has the touch + capability, or has had the touch capability in the past. + It is a protocol violation to issue this request on a seat that has + never had the touch capability. The missing_capability error will + be sent in this case. + + + + + + + + + In a multi-seat configuration the seat name can be used by clients to + help identify which physical devices the seat represents. + + The seat name is a UTF-8 string with no convention defined for its + contents. Each name is unique among all wl_seat globals. The name is + only guaranteed to be unique for the current compositor instance. + + The same seat names are used for all clients. Thus, the name can be + shared across processes to refer to a specific wl_seat global. + + The name event is sent after binding to the seat global. This event is + only sent once per seat object, and the name does not change over the + lifetime of the wl_seat global. + + Compositors may re-use the same seat name if the wl_seat global is + destroyed and re-created later. + + + + + + + + + Using this request a client can tell the server that it is not going to + use the seat object anymore. + + + + + + + + The wl_pointer interface represents one or more input devices, + such as mice, which control the pointer location and pointer_focus + of a seat. + + The wl_pointer interface generates motion, enter and leave + events for the surfaces that the pointer is located over, + and button and axis events for button presses, button releases + and scrolling. + + + + + + + + + Set the pointer surface, i.e., the surface that contains the + pointer image (cursor). This request gives the surface the role + of a cursor. If the surface already has another role, it raises + a protocol error. + + The cursor actually changes only if the pointer + focus for this device is one of the requesting client's surfaces + or the surface parameter is the current pointer surface. If + there was a previous surface set with this request it is + replaced. If surface is NULL, the pointer image is hidden. + + The parameters hotspot_x and hotspot_y define the position of + the pointer surface relative to the pointer location. Its + top-left corner is always at (x, y) - (hotspot_x, hotspot_y), + where (x, y) are the coordinates of the pointer location, in + surface-local coordinates. + + On surface.attach requests to the pointer surface, hotspot_x + and hotspot_y are decremented by the x and y parameters + passed to the request. Attach must be confirmed by + wl_surface.commit as usual. + + The hotspot can also be updated by passing the currently set + pointer surface to this request with new values for hotspot_x + and hotspot_y. + + The input region is ignored for wl_surfaces with the role of + a cursor. When the use as a cursor ends, the wl_surface is + unmapped. + + The serial parameter must match the latest wl_pointer.enter + serial number sent to the client. Otherwise the request will be + ignored. + + + + + + + + + + Notification that this seat's pointer is focused on a certain + surface. + + When a seat's focus enters a surface, the pointer image + is undefined and a client should respond to this event by setting + an appropriate pointer image with the set_cursor request. + + + + + + + + + + Notification that this seat's pointer is no longer focused on + a certain surface. + + The leave notification is sent before the enter notification + for the new focus. + + + + + + + + Notification of pointer location change. The arguments + surface_x and surface_y are the location relative to the + focused surface. + + + + + + + + + Describes the physical state of a button that produced the button + event. + + + + + + + + Mouse button click and release notifications. + + The location of the click is given by the last motion or + enter event. + The time argument is a timestamp with millisecond + granularity, with an undefined base. + + The button is a button code as defined in the Linux kernel's + linux/input-event-codes.h header file, e.g. BTN_LEFT. + + Any 16-bit button code value is reserved for future additions to the + kernel's event code list. All other button codes above 0xFFFF are + currently undefined but may be used in future versions of this + protocol. + + + + + + + + + + Describes the axis types of scroll events. + + + + + + + + Scroll and other axis notifications. + + For scroll events (vertical and horizontal scroll axes), the + value parameter is the length of a vector along the specified + axis in a coordinate space identical to those of motion events, + representing a relative movement along the specified axis. + + For devices that support movements non-parallel to axes multiple + axis events will be emitted. + + When applicable, for example for touch pads, the server can + choose to emit scroll events where the motion vector is + equivalent to a motion event vector. + + When applicable, a client can transform its content relative to the + scroll distance. + + + + + + + + + + + Using this request a client can tell the server that it is not going to + use the pointer object anymore. + + This request destroys the pointer proxy object, so clients must not call + wl_pointer_destroy() after using this request. + + + + + + + + Indicates the end of a set of events that logically belong together. + A client is expected to accumulate the data in all events within the + frame before proceeding. + + All wl_pointer events before a wl_pointer.frame event belong + logically together. For example, in a diagonal scroll motion the + compositor will send an optional wl_pointer.axis_source event, two + wl_pointer.axis events (horizontal and vertical) and finally a + wl_pointer.frame event. The client may use this information to + calculate a diagonal vector for scrolling. + + When multiple wl_pointer.axis events occur within the same frame, + the motion vector is the combined motion of all events. + When a wl_pointer.axis and a wl_pointer.axis_stop event occur within + the same frame, this indicates that axis movement in one axis has + stopped but continues in the other axis. + When multiple wl_pointer.axis_stop events occur within the same + frame, this indicates that these axes stopped in the same instance. + + A wl_pointer.frame event is sent for every logical event group, + even if the group only contains a single wl_pointer event. + Specifically, a client may get a sequence: motion, frame, button, + frame, axis, frame, axis_stop, frame. + + The wl_pointer.enter and wl_pointer.leave events are logical events + generated by the compositor and not the hardware. These events are + also grouped by a wl_pointer.frame. When a pointer moves from one + surface to another, a compositor should group the + wl_pointer.leave event within the same wl_pointer.frame. + However, a client must not rely on wl_pointer.leave and + wl_pointer.enter being in the same wl_pointer.frame. + Compositor-specific policies may require the wl_pointer.leave and + wl_pointer.enter event being split across multiple wl_pointer.frame + groups. + + + + + + Describes the source types for axis events. This indicates to the + client how an axis event was physically generated; a client may + adjust the user interface accordingly. For example, scroll events + from a "finger" source may be in a smooth coordinate space with + kinetic scrolling whereas a "wheel" source may be in discrete steps + of a number of lines. + + The "continuous" axis source is a device generating events in a + continuous coordinate space, but using something other than a + finger. One example for this source is button-based scrolling where + the vertical motion of a device is converted to scroll events while + a button is held down. + + The "wheel tilt" axis source indicates that the actual device is a + wheel but the scroll event is not caused by a rotation but a + (usually sideways) tilt of the wheel. + + + + + + + + + + Source information for scroll and other axes. + + This event does not occur on its own. It is sent before a + wl_pointer.frame event and carries the source information for + all events within that frame. + + The source specifies how this event was generated. If the source is + wl_pointer.axis_source.finger, a wl_pointer.axis_stop event will be + sent when the user lifts the finger off the device. + + If the source is wl_pointer.axis_source.wheel, + wl_pointer.axis_source.wheel_tilt or + wl_pointer.axis_source.continuous, a wl_pointer.axis_stop event may + or may not be sent. Whether a compositor sends an axis_stop event + for these sources is hardware-specific and implementation-dependent; + clients must not rely on receiving an axis_stop event for these + scroll sources and should treat scroll sequences from these scroll + sources as unterminated by default. + + This event is optional. If the source is unknown for a particular + axis event sequence, no event is sent. + Only one wl_pointer.axis_source event is permitted per frame. + + The order of wl_pointer.axis_discrete and wl_pointer.axis_source is + not guaranteed. + + + + + + + Stop notification for scroll and other axes. + + For some wl_pointer.axis_source types, a wl_pointer.axis_stop event + is sent to notify a client that the axis sequence has terminated. + This enables the client to implement kinetic scrolling. + See the wl_pointer.axis_source documentation for information on when + this event may be generated. + + Any wl_pointer.axis events with the same axis_source after this + event should be considered as the start of a new axis motion. + + The timestamp is to be interpreted identical to the timestamp in the + wl_pointer.axis event. The timestamp value may be the same as a + preceding wl_pointer.axis event. + + + + + + + + Discrete step information for scroll and other axes. + + This event carries the axis value of the wl_pointer.axis event in + discrete steps (e.g. mouse wheel clicks). + + This event is deprecated with wl_pointer version 8 - this event is not + sent to clients supporting version 8 or later. + + This event does not occur on its own, it is coupled with a + wl_pointer.axis event that represents this axis value on a + continuous scale. The protocol guarantees that each axis_discrete + event is always followed by exactly one axis event with the same + axis number within the same wl_pointer.frame. Note that the protocol + allows for other events to occur between the axis_discrete and + its coupled axis event, including other axis_discrete or axis + events. A wl_pointer.frame must not contain more than one axis_discrete + event per axis type. + + This event is optional; continuous scrolling devices + like two-finger scrolling on touchpads do not have discrete + steps and do not generate this event. + + The discrete value carries the directional information. e.g. a value + of -2 is two steps towards the negative direction of this axis. + + The axis number is identical to the axis number in the associated + axis event. + + The order of wl_pointer.axis_discrete and wl_pointer.axis_source is + not guaranteed. + + + + + + + + Discrete high-resolution scroll information. + + This event carries high-resolution wheel scroll information, + with each multiple of 120 representing one logical scroll step + (a wheel detent). For example, an axis_value120 of 30 is one quarter of + a logical scroll step in the positive direction, a value120 of + -240 are two logical scroll steps in the negative direction within the + same hardware event. + Clients that rely on discrete scrolling should accumulate the + value120 to multiples of 120 before processing the event. + + The value120 must not be zero. + + This event replaces the wl_pointer.axis_discrete event in clients + supporting wl_pointer version 8 or later. + + Where a wl_pointer.axis_source event occurs in the same + wl_pointer.frame, the axis source applies to this event. + + The order of wl_pointer.axis_value120 and wl_pointer.axis_source is + not guaranteed. + + + + + + + + + + This specifies the direction of the physical motion that caused a + wl_pointer.axis event, relative to the wl_pointer.axis direction. + + + + + + + + Relative directional information of the entity causing the axis + motion. + + For a wl_pointer.axis event, the wl_pointer.axis_relative_direction + event specifies the movement direction of the entity causing the + wl_pointer.axis event. For example: + - if a user's fingers on a touchpad move down and this + causes a wl_pointer.axis vertical_scroll down event, the physical + direction is 'identical' + - if a user's fingers on a touchpad move down and this causes a + wl_pointer.axis vertical_scroll up scroll up event ('natural + scrolling'), the physical direction is 'inverted'. + + A client may use this information to adjust scroll motion of + components. Specifically, enabling natural scrolling causes the + content to change direction compared to traditional scrolling. + Some widgets like volume control sliders should usually match the + physical direction regardless of whether natural scrolling is + active. This event enables clients to match the scroll direction of + a widget to the physical direction. + + This event does not occur on its own, it is coupled with a + wl_pointer.axis event that represents this axis value. + The protocol guarantees that each axis_relative_direction event is + always followed by exactly one axis event with the same + axis number within the same wl_pointer.frame. Note that the protocol + allows for other events to occur between the axis_relative_direction + and its coupled axis event. + + The axis number is identical to the axis number in the associated + axis event. + + The order of wl_pointer.axis_relative_direction, + wl_pointer.axis_discrete and wl_pointer.axis_source is not + guaranteed. + + + + + + + + + The wl_keyboard interface represents one or more keyboards + associated with a seat. + + + + + This specifies the format of the keymap provided to the + client with the wl_keyboard.keymap event. + + + + + + + + This event provides a file descriptor to the client which can be + memory-mapped in read-only mode to provide a keyboard mapping + description. + + From version 7 onwards, the fd must be mapped with MAP_PRIVATE by + the recipient, as MAP_SHARED may fail. + + + + + + + + + Notification that this seat's keyboard focus is on a certain + surface. + + The compositor must send the wl_keyboard.modifiers event after this + event. + + + + + + + + + Notification that this seat's keyboard focus is no longer on + a certain surface. + + The leave notification is sent before the enter notification + for the new focus. + + After this event client must assume that all keys, including modifiers, + are lifted and also it must stop key repeating if there's some going on. + + + + + + + + Describes the physical state of a key that produced the key event. + + + + + + + + A key was pressed or released. + The time argument is a timestamp with millisecond + granularity, with an undefined base. + + The key is a platform-specific key code that can be interpreted + by feeding it to the keyboard mapping (see the keymap event). + + If this event produces a change in modifiers, then the resulting + wl_keyboard.modifiers event must be sent after this event. + + + + + + + + + + Notifies clients that the modifier and/or group state has + changed, and it should update its local state. + + + + + + + + + + + + + + + + + + + Informs the client about the keyboard's repeat rate and delay. + + This event is sent as soon as the wl_keyboard object has been created, + and is guaranteed to be received by the client before any key press + event. + + Negative values for either rate or delay are illegal. A rate of zero + will disable any repeating (regardless of the value of delay). + + This event can be sent later on as well with a new value if necessary, + so clients should continue listening for the event past the creation + of wl_keyboard. + + + + + + + + + The wl_touch interface represents a touchscreen + associated with a seat. + + Touch interactions can consist of one or more contacts. + For each contact, a series of events is generated, starting + with a down event, followed by zero or more motion events, + and ending with an up event. Events relating to the same + contact point can be identified by the ID of the sequence. + + + + + A new touch point has appeared on the surface. This touch point is + assigned a unique ID. Future events from this touch point reference + this ID. The ID ceases to be valid after a touch up event and may be + reused in the future. + + + + + + + + + + + + The touch point has disappeared. No further events will be sent for + this touch point and the touch point's ID is released and may be + reused in a future touch down event. + + + + + + + + + A touch point has changed coordinates. + + + + + + + + + + Indicates the end of a set of events that logically belong together. + A client is expected to accumulate the data in all events within the + frame before proceeding. + + A wl_touch.frame terminates at least one event but otherwise no + guarantee is provided about the set of events within a frame. A client + must assume that any state not updated in a frame is unchanged from the + previously known state. + + + + + + Sent if the compositor decides the touch stream is a global + gesture. No further events are sent to the clients from that + particular gesture. Touch cancellation applies to all touch points + currently active on this client's surface. The client is + responsible for finalizing the touch points, future touch points on + this surface may reuse the touch point ID. + + + + + + + + + + + + + + Sent when a touchpoint has changed its shape. + + This event does not occur on its own. It is sent before a + wl_touch.frame event and carries the new shape information for + any previously reported, or new touch points of that frame. + + Other events describing the touch point such as wl_touch.down, + wl_touch.motion or wl_touch.orientation may be sent within the + same wl_touch.frame. A client should treat these events as a single + logical touch point update. The order of wl_touch.shape, + wl_touch.orientation and wl_touch.motion is not guaranteed. + A wl_touch.down event is guaranteed to occur before the first + wl_touch.shape event for this touch ID but both events may occur within + the same wl_touch.frame. + + A touchpoint shape is approximated by an ellipse through the major and + minor axis length. The major axis length describes the longer diameter + of the ellipse, while the minor axis length describes the shorter + diameter. Major and minor are orthogonal and both are specified in + surface-local coordinates. The center of the ellipse is always at the + touchpoint location as reported by wl_touch.down or wl_touch.move. + + This event is only sent by the compositor if the touch device supports + shape reports. The client has to make reasonable assumptions about the + shape if it did not receive this event. + + + + + + + + + Sent when a touchpoint has changed its orientation. + + This event does not occur on its own. It is sent before a + wl_touch.frame event and carries the new shape information for + any previously reported, or new touch points of that frame. + + Other events describing the touch point such as wl_touch.down, + wl_touch.motion or wl_touch.shape may be sent within the + same wl_touch.frame. A client should treat these events as a single + logical touch point update. The order of wl_touch.shape, + wl_touch.orientation and wl_touch.motion is not guaranteed. + A wl_touch.down event is guaranteed to occur before the first + wl_touch.orientation event for this touch ID but both events may occur + within the same wl_touch.frame. + + The orientation describes the clockwise angle of a touchpoint's major + axis to the positive surface y-axis and is normalized to the -180 to + +180 degree range. The granularity of orientation depends on the touch + device, some devices only support binary rotation values between 0 and + 90 degrees. + + This event is only sent by the compositor if the touch device supports + orientation reports. + + + + + + + + + An output describes part of the compositor geometry. The + compositor works in the 'compositor coordinate system' and an + output corresponds to a rectangular area in that space that is + actually visible. This typically corresponds to a monitor that + displays part of the compositor space. This object is published + as global during start up, or when a monitor is hotplugged. + + + + + This enumeration describes how the physical + pixels on an output are laid out. + + + + + + + + + + + + This describes the transform that a compositor will apply to a + surface to compensate for the rotation or mirroring of an + output device. + + The flipped values correspond to an initial flip around a + vertical axis followed by rotation. + + The purpose is mainly to allow clients to render accordingly and + tell the compositor, so that for fullscreen surfaces, the + compositor will still be able to scan out directly from client + surfaces. + + + + + + + + + + + + + + The geometry event describes geometric properties of the output. + The event is sent when binding to the output object and whenever + any of the properties change. + + The physical size can be set to zero if it doesn't make sense for this + output (e.g. for projectors or virtual outputs). + + The geometry event will be followed by a done event (starting from + version 2). + + Note: wl_output only advertises partial information about the output + position and identification. Some compositors, for instance those not + implementing a desktop-style output layout or those exposing virtual + outputs, might fake this information. Instead of using x and y, clients + should use xdg_output.logical_position. Instead of using make and model, + clients should use name and description. + + + + + + + + + + + + + + These flags describe properties of an output mode. + They are used in the flags bitfield of the mode event. + + + + + + + + The mode event describes an available mode for the output. + + The event is sent when binding to the output object and there + will always be one mode, the current mode. The event is sent + again if an output changes mode, for the mode that is now + current. In other words, the current mode is always the last + mode that was received with the current flag set. + + Non-current modes are deprecated. A compositor can decide to only + advertise the current mode and never send other modes. Clients + should not rely on non-current modes. + + The size of a mode is given in physical hardware units of + the output device. This is not necessarily the same as + the output size in the global compositor space. For instance, + the output may be scaled, as described in wl_output.scale, + or transformed, as described in wl_output.transform. Clients + willing to retrieve the output size in the global compositor + space should use xdg_output.logical_size instead. + + The vertical refresh rate can be set to zero if it doesn't make + sense for this output (e.g. for virtual outputs). + + The mode event will be followed by a done event (starting from + version 2). + + Clients should not use the refresh rate to schedule frames. Instead, + they should use the wl_surface.frame event or the presentation-time + protocol. + + Note: this information is not always meaningful for all outputs. Some + compositors, such as those exposing virtual outputs, might fake the + refresh rate or the size. + + + + + + + + + + + + This event is sent after all other properties have been + sent after binding to the output object and after any + other property changes done after that. This allows + changes to the output properties to be seen as + atomic, even if they happen via multiple events. + + + + + + This event contains scaling geometry information + that is not in the geometry event. It may be sent after + binding the output object or if the output scale changes + later. If it is not sent, the client should assume a + scale of 1. + + A scale larger than 1 means that the compositor will + automatically scale surface buffers by this amount + when rendering. This is used for very high resolution + displays where applications rendering at the native + resolution would be too small to be legible. + + It is intended that scaling aware clients track the + current output of a surface, and if it is on a scaled + output it should use wl_surface.set_buffer_scale with + the scale of the output. That way the compositor can + avoid scaling the surface, and the client can supply + a higher detail image. + + The scale event will be followed by a done event. + + + + + + + + + Using this request a client can tell the server that it is not going to + use the output object anymore. + + + + + + + + Many compositors will assign user-friendly names to their outputs, show + them to the user, allow the user to refer to an output, etc. The client + may wish to know this name as well to offer the user similar behaviors. + + The name is a UTF-8 string with no convention defined for its contents. + Each name is unique among all wl_output globals. The name is only + guaranteed to be unique for the compositor instance. + + The same output name is used for all clients for a given wl_output + global. Thus, the name can be shared across processes to refer to a + specific wl_output global. + + The name is not guaranteed to be persistent across sessions, thus cannot + be used to reliably identify an output in e.g. configuration files. + + Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. However, do + not assume that the name is a reflection of an underlying DRM connector, + X11 connection, etc. + + The name event is sent after binding the output object. This event is + only sent once per output object, and the name does not change over the + lifetime of the wl_output global. + + Compositors may re-use the same output name if the wl_output global is + destroyed and re-created later. Compositors should avoid re-using the + same name if possible. + + The name event will be followed by a done event. + + + + + + + Many compositors can produce human-readable descriptions of their + outputs. The client may wish to know this description as well, e.g. for + output selection purposes. + + The description is a UTF-8 string with no convention defined for its + contents. The description is not guaranteed to be unique among all + wl_output globals. Examples might include 'Foocorp 11" Display' or + 'Virtual X11 output via :1'. + + The description event is sent after binding the output object and + whenever the description changes. The description is optional, and may + not be sent at all. + + The description event will be followed by a done event. + + + + + + + + A region object describes an area. + + Region objects are used to describe the opaque and input + regions of a surface. + + + + + Destroy the region. This will invalidate the object ID. + + + + + + Add the specified rectangle to the region. + + + + + + + + + + Subtract the specified rectangle from the region. + + + + + + + + + + + The global interface exposing sub-surface compositing capabilities. + A wl_surface, that has sub-surfaces associated, is called the + parent surface. Sub-surfaces can be arbitrarily nested and create + a tree of sub-surfaces. + + The root surface in a tree of sub-surfaces is the main + surface. The main surface cannot be a sub-surface, because + sub-surfaces must always have a parent. + + A main surface with its sub-surfaces forms a (compound) window. + For window management purposes, this set of wl_surface objects is + to be considered as a single window, and it should also behave as + such. + + The aim of sub-surfaces is to offload some of the compositing work + within a window from clients to the compositor. A prime example is + a video player with decorations and video in separate wl_surface + objects. This should allow the compositor to pass YUV video buffer + processing to dedicated overlay hardware when possible. + + + + + Informs the server that the client will not be using this + protocol object anymore. This does not affect any other + objects, wl_subsurface objects included. + + + + + + + + + + + Create a sub-surface interface for the given surface, and + associate it with the given parent surface. This turns a + plain wl_surface into a sub-surface. + + The to-be sub-surface must not already have another role, and it + must not have an existing wl_subsurface object. Otherwise the + bad_surface protocol error is raised. + + Adding sub-surfaces to a parent is a double-buffered operation on the + parent (see wl_surface.commit). The effect of adding a sub-surface + becomes visible on the next time the state of the parent surface is + applied. + + The parent surface must not be one of the child surface's descendants, + and the parent must be different from the child surface, otherwise the + bad_parent protocol error is raised. + + This request modifies the behaviour of wl_surface.commit request on + the sub-surface, see the documentation on wl_subsurface interface. + + + + + + + + + + An additional interface to a wl_surface object, which has been + made a sub-surface. A sub-surface has one parent surface. A + sub-surface's size and position are not limited to that of the parent. + Particularly, a sub-surface is not automatically clipped to its + parent's area. + + A sub-surface becomes mapped, when a non-NULL wl_buffer is applied + and the parent surface is mapped. The order of which one happens + first is irrelevant. A sub-surface is hidden if the parent becomes + hidden, or if a NULL wl_buffer is applied. These rules apply + recursively through the tree of surfaces. + + The behaviour of a wl_surface.commit request on a sub-surface + depends on the sub-surface's mode. The possible modes are + synchronized and desynchronized, see methods + wl_subsurface.set_sync and wl_subsurface.set_desync. Synchronized + mode caches the wl_surface state to be applied when the parent's + state gets applied, and desynchronized mode applies the pending + wl_surface state directly. A sub-surface is initially in the + synchronized mode. + + Sub-surfaces also have another kind of state, which is managed by + wl_subsurface requests, as opposed to wl_surface requests. This + state includes the sub-surface position relative to the parent + surface (wl_subsurface.set_position), and the stacking order of + the parent and its sub-surfaces (wl_subsurface.place_above and + .place_below). This state is applied when the parent surface's + wl_surface state is applied, regardless of the sub-surface's mode. + As the exception, set_sync and set_desync are effective immediately. + + The main surface can be thought to be always in desynchronized mode, + since it does not have a parent in the sub-surfaces sense. + + Even if a sub-surface is in desynchronized mode, it will behave as + in synchronized mode, if its parent surface behaves as in + synchronized mode. This rule is applied recursively throughout the + tree of surfaces. This means, that one can set a sub-surface into + synchronized mode, and then assume that all its child and grand-child + sub-surfaces are synchronized, too, without explicitly setting them. + + Destroying a sub-surface takes effect immediately. If you need to + synchronize the removal of a sub-surface to the parent surface update, + unmap the sub-surface first by attaching a NULL wl_buffer, update parent, + and then destroy the sub-surface. + + If the parent wl_surface object is destroyed, the sub-surface is + unmapped. + + + + + The sub-surface interface is removed from the wl_surface object + that was turned into a sub-surface with a + wl_subcompositor.get_subsurface request. The wl_surface's association + to the parent is deleted. The wl_surface is unmapped immediately. + + + + + + + + + + This schedules a sub-surface position change. + The sub-surface will be moved so that its origin (top left + corner pixel) will be at the location x, y of the parent surface + coordinate system. The coordinates are not restricted to the parent + surface area. Negative values are allowed. + + The scheduled coordinates will take effect whenever the state of the + parent surface is applied. When this happens depends on whether the + parent surface is in synchronized mode or not. See + wl_subsurface.set_sync and wl_subsurface.set_desync for details. + + If more than one set_position request is invoked by the client before + the commit of the parent surface, the position of a new request always + replaces the scheduled position from any previous request. + + The initial position is 0, 0. + + + + + + + + This sub-surface is taken from the stack, and put back just + above the reference surface, changing the z-order of the sub-surfaces. + The reference surface must be one of the sibling surfaces, or the + parent surface. Using any other surface, including this sub-surface, + will cause a protocol error. + + The z-order is double-buffered. Requests are handled in order and + applied immediately to a pending state. The final pending state is + copied to the active state the next time the state of the parent + surface is applied. When this happens depends on whether the parent + surface is in synchronized mode or not. See wl_subsurface.set_sync and + wl_subsurface.set_desync for details. + + A new sub-surface is initially added as the top-most in the stack + of its siblings and parent. + + + + + + + The sub-surface is placed just below the reference surface. + See wl_subsurface.place_above. + + + + + + + Change the commit behaviour of the sub-surface to synchronized + mode, also described as the parent dependent mode. + + In synchronized mode, wl_surface.commit on a sub-surface will + accumulate the committed state in a cache, but the state will + not be applied and hence will not change the compositor output. + The cached state is applied to the sub-surface immediately after + the parent surface's state is applied. This ensures atomic + updates of the parent and all its synchronized sub-surfaces. + Applying the cached state will invalidate the cache, so further + parent surface commits do not (re-)apply old state. + + See wl_subsurface for the recursive effect of this mode. + + + + + + Change the commit behaviour of the sub-surface to desynchronized + mode, also described as independent or freely running mode. + + In desynchronized mode, wl_surface.commit on a sub-surface will + apply the pending state directly, without caching, as happens + normally with a wl_surface. Calling wl_surface.commit on the + parent surface has no effect on the sub-surface's wl_surface + state. This mode allows a sub-surface to be updated on its own. + + If cached state exists when wl_surface.commit is called in + desynchronized mode, the pending state is added to the cached + state, and applied as a whole. This invalidates the cache. + + Note: even if a sub-surface is set to desynchronized, a parent + sub-surface may override it to behave as synchronized. For details, + see wl_subsurface. + + If a surface's parent surface behaves as desynchronized, then + the cached state is applied on set_desync. + + + + + diff --git a/src/external/glfw/deps/wayland/xdg-activation-v1.xml b/src/external/glfw/deps/wayland/xdg-activation-v1.xml new file mode 100644 index 000000000..9adcc274e --- /dev/null +++ b/src/external/glfw/deps/wayland/xdg-activation-v1.xml @@ -0,0 +1,200 @@ + + + + + Copyright © 2020 Aleix Pol Gonzalez <aleixpol@kde.org> + Copyright © 2020 Carlos Garnacho <carlosg@gnome.org> + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + The way for a client to pass focus to another toplevel is as follows. + + The client that intends to activate another toplevel uses the + xdg_activation_v1.get_activation_token request to get an activation token. + This token is then forwarded to the client, which is supposed to activate + one of its surfaces, through a separate band of communication. + + One established way of doing this is through the XDG_ACTIVATION_TOKEN + environment variable of a newly launched child process. The child process + should unset the environment variable again right after reading it out in + order to avoid propagating it to other child processes. + + Another established way exists for Applications implementing the D-Bus + interface org.freedesktop.Application, which should get their token under + activation-token on their platform_data. + + In general activation tokens may be transferred across clients through + means not described in this protocol. + + The client to be activated will then pass the token + it received to the xdg_activation_v1.activate request. The compositor can + then use this token to decide how to react to the activation request. + + The token the activating client gets may be ineffective either already at + the time it receives it, for example if it was not focused, for focus + stealing prevention. The activating client will have no way to discover + the validity of the token, and may still forward it to the to be activated + client. + + The created activation token may optionally get information attached to it + that can be used by the compositor to identify the application that we + intend to activate. This can for example be used to display a visual hint + about what application is being started. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + A global interface used for informing the compositor about applications + being activated or started, or for applications to request to be + activated. + + + + + Notify the compositor that the xdg_activation object will no longer be + used. + + The child objects created via this interface are unaffected and should + be destroyed separately. + + + + + + Creates an xdg_activation_token_v1 object that will provide + the initiating client with a unique token for this activation. This + token should be offered to the clients to be activated. + + + + + + + + Requests surface activation. It's up to the compositor to display + this information as desired, for example by placing the surface above + the rest. + + The compositor may know who requested this by checking the activation + token and might decide not to follow through with the activation if it's + considered unwanted. + + Compositors can ignore unknown activation tokens when an invalid + token is passed. + + + + + + + + + An object for setting up a token and receiving a token handle that can + be passed as an activation token to another client. + + The object is created using the xdg_activation_v1.get_activation_token + request. This object should then be populated with the app_id, surface + and serial information and committed. The compositor shall then issue a + done event with the token. In case the request's parameters are invalid, + the compositor will provide an invalid token. + + + + + + + + + Provides information about the seat and serial event that requested the + token. + + The serial can come from an input or focus event. For instance, if a + click triggers the launch of a third-party client, the launcher client + should send a set_serial request with the serial and seat from the + wl_pointer.button event. + + Some compositors might refuse to activate toplevels when the token + doesn't have a valid and recent enough event serial. + + Must be sent before commit. This information is optional. + + + + + + + + The requesting client can specify an app_id to associate the token + being created with it. + + Must be sent before commit. This information is optional. + + + + + + + This request sets the surface requesting the activation. Note, this is + different from the surface that will be activated. + + Some compositors might refuse to activate toplevels when the token + doesn't have a requesting surface. + + Must be sent before commit. This information is optional. + + + + + + + Requests an activation token based on the different parameters that + have been offered through set_serial, set_surface and set_app_id. + + + + + + The 'done' event contains the unique token of this activation request + and notifies that the provider is done. + + + + + + + Notify the compositor that the xdg_activation_token_v1 object will no + longer be used. The received token stays valid. + + + + diff --git a/src/external/glfw/deps/wayland/xdg-decoration-unstable-v1.xml b/src/external/glfw/deps/wayland/xdg-decoration-unstable-v1.xml new file mode 100644 index 000000000..e5967751d --- /dev/null +++ b/src/external/glfw/deps/wayland/xdg-decoration-unstable-v1.xml @@ -0,0 +1,156 @@ + + + + Copyright © 2018 Simon Ser + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + This interface allows a compositor to announce support for server-side + decorations. + + A window decoration is a set of window controls as deemed appropriate by + the party managing them, such as user interface components used to move, + resize and change a window's state. + + A client can use this protocol to request being decorated by a supporting + compositor. + + If compositor and client do not negotiate the use of a server-side + decoration using this protocol, clients continue to self-decorate as they + see fit. + + Warning! The protocol described in this file is experimental and + backward incompatible changes may be made. Backward compatible changes + may be added together with the corresponding interface version bump. + Backward incompatible changes are done by bumping the version number in + the protocol and interface names and resetting the interface version. + Once the protocol is to be declared stable, the 'z' prefix and the + version number in the protocol and interface names are removed and the + interface version number is reset. + + + + + Destroy the decoration manager. This doesn't destroy objects created + with the manager. + + + + + + Create a new decoration object associated with the given toplevel. + + Creating an xdg_toplevel_decoration from an xdg_toplevel which has a + buffer attached or committed is a client error, and any attempts by a + client to attach or manipulate a buffer prior to the first + xdg_toplevel_decoration.configure event must also be treated as + errors. + + + + + + + + + The decoration object allows the compositor to toggle server-side window + decorations for a toplevel surface. The client can request to switch to + another mode. + + The xdg_toplevel_decoration object must be destroyed before its + xdg_toplevel. + + + + + + + + + + + Switch back to a mode without any server-side decorations at the next + commit. + + + + + + These values describe window decoration modes. + + + + + + + + Set the toplevel surface decoration mode. This informs the compositor + that the client prefers the provided decoration mode. + + After requesting a decoration mode, the compositor will respond by + emitting an xdg_surface.configure event. The client should then update + its content, drawing it without decorations if the received mode is + server-side decorations. The client must also acknowledge the configure + when committing the new content (see xdg_surface.ack_configure). + + The compositor can decide not to use the client's mode and enforce a + different mode instead. + + Clients whose decoration mode depend on the xdg_toplevel state may send + a set_mode request in response to an xdg_surface.configure event and wait + for the next xdg_surface.configure event to prevent unwanted state. + Such clients are responsible for preventing configure loops and must + make sure not to send multiple successive set_mode requests with the + same decoration mode. + + + + + + + Unset the toplevel surface decoration mode. This informs the compositor + that the client doesn't prefer a particular decoration mode. + + This request has the same semantics as set_mode. + + + + + + The configure event asks the client to change its decoration mode. The + configured state should not be applied immediately. Clients must send an + ack_configure in response to this event. See xdg_surface.configure and + xdg_surface.ack_configure for details. + + A configure event can be sent at any time. The specified mode must be + obeyed by the client. + + + + + diff --git a/src/external/glfw/deps/wayland/xdg-shell.xml b/src/external/glfw/deps/wayland/xdg-shell.xml new file mode 100644 index 000000000..777eaa749 --- /dev/null +++ b/src/external/glfw/deps/wayland/xdg-shell.xml @@ -0,0 +1,1370 @@ + + + + + Copyright © 2008-2013 Kristian Høgsberg + Copyright © 2013 Rafael Antognolli + Copyright © 2013 Jasper St. Pierre + Copyright © 2010-2013 Intel Corporation + Copyright © 2015-2017 Samsung Electronics Co., Ltd + Copyright © 2015-2017 Red Hat Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + The xdg_wm_base interface is exposed as a global object enabling clients + to turn their wl_surfaces into windows in a desktop environment. It + defines the basic functionality needed for clients and the compositor to + create windows that can be dragged, resized, maximized, etc, as well as + creating transient windows such as popup menus. + + + + + + + + + + + + + + + Destroy this xdg_wm_base object. + + Destroying a bound xdg_wm_base object while there are surfaces + still alive created by this xdg_wm_base object instance is illegal + and will result in a defunct_surfaces error. + + + + + + Create a positioner object. A positioner object is used to position + surfaces relative to some parent surface. See the interface description + and xdg_surface.get_popup for details. + + + + + + + This creates an xdg_surface for the given surface. While xdg_surface + itself is not a role, the corresponding surface may only be assigned + a role extending xdg_surface, such as xdg_toplevel or xdg_popup. It is + illegal to create an xdg_surface for a wl_surface which already has an + assigned role and this will result in a role error. + + This creates an xdg_surface for the given surface. An xdg_surface is + used as basis to define a role to a given surface, such as xdg_toplevel + or xdg_popup. It also manages functionality shared between xdg_surface + based surface roles. + + See the documentation of xdg_surface for more details about what an + xdg_surface is and how it is used. + + + + + + + + A client must respond to a ping event with a pong request or + the client may be deemed unresponsive. See xdg_wm_base.ping + and xdg_wm_base.error.unresponsive. + + + + + + + The ping event asks the client if it's still alive. Pass the + serial specified in the event back to the compositor by sending + a "pong" request back with the specified serial. See xdg_wm_base.pong. + + Compositors can use this to determine if the client is still + alive. It's unspecified what will happen if the client doesn't + respond to the ping request, or in what timeframe. Clients should + try to respond in a reasonable amount of time. The “unresponsive” + error is provided for compositors that wish to disconnect unresponsive + clients. + + A compositor is free to ping in any way it wants, but a client must + always respond to any xdg_wm_base object it created. + + + + + + + + The xdg_positioner provides a collection of rules for the placement of a + child surface relative to a parent surface. Rules can be defined to ensure + the child surface remains within the visible area's borders, and to + specify how the child surface changes its position, such as sliding along + an axis, or flipping around a rectangle. These positioner-created rules are + constrained by the requirement that a child surface must intersect with or + be at least partially adjacent to its parent surface. + + See the various requests for details about possible rules. + + At the time of the request, the compositor makes a copy of the rules + specified by the xdg_positioner. Thus, after the request is complete the + xdg_positioner object can be destroyed or reused; further changes to the + object will have no effect on previous usages. + + For an xdg_positioner object to be considered complete, it must have a + non-zero size set by set_size, and a non-zero anchor rectangle set by + set_anchor_rect. Passing an incomplete xdg_positioner object when + positioning a surface raises an invalid_positioner error. + + + + + + + + + Notify the compositor that the xdg_positioner will no longer be used. + + + + + + Set the size of the surface that is to be positioned with the positioner + object. The size is in surface-local coordinates and corresponds to the + window geometry. See xdg_surface.set_window_geometry. + + If a zero or negative size is set the invalid_input error is raised. + + + + + + + + Specify the anchor rectangle within the parent surface that the child + surface will be placed relative to. The rectangle is relative to the + window geometry as defined by xdg_surface.set_window_geometry of the + parent surface. + + When the xdg_positioner object is used to position a child surface, the + anchor rectangle may not extend outside the window geometry of the + positioned child's parent surface. + + If a negative size is set the invalid_input error is raised. + + + + + + + + + + + + + + + + + + + + + + Defines the anchor point for the anchor rectangle. The specified anchor + is used derive an anchor point that the child surface will be + positioned relative to. If a corner anchor is set (e.g. 'top_left' or + 'bottom_right'), the anchor point will be at the specified corner; + otherwise, the derived anchor point will be centered on the specified + edge, or in the center of the anchor rectangle if no edge is specified. + + + + + + + + + + + + + + + + + + + Defines in what direction a surface should be positioned, relative to + the anchor point of the parent surface. If a corner gravity is + specified (e.g. 'bottom_right' or 'top_left'), then the child surface + will be placed towards the specified gravity; otherwise, the child + surface will be centered over the anchor point on any axis that had no + gravity specified. If the gravity is not in the ‘gravity’ enum, an + invalid_input error is raised. + + + + + + + The constraint adjustment value define ways the compositor will adjust + the position of the surface, if the unadjusted position would result + in the surface being partly constrained. + + Whether a surface is considered 'constrained' is left to the compositor + to determine. For example, the surface may be partly outside the + compositor's defined 'work area', thus necessitating the child surface's + position be adjusted until it is entirely inside the work area. + + The adjustments can be combined, according to a defined precedence: 1) + Flip, 2) Slide, 3) Resize. + + + + Don't alter the surface position even if it is constrained on some + axis, for example partially outside the edge of an output. + + + + + Slide the surface along the x axis until it is no longer constrained. + + First try to slide towards the direction of the gravity on the x axis + until either the edge in the opposite direction of the gravity is + unconstrained or the edge in the direction of the gravity is + constrained. + + Then try to slide towards the opposite direction of the gravity on the + x axis until either the edge in the direction of the gravity is + unconstrained or the edge in the opposite direction of the gravity is + constrained. + + + + + Slide the surface along the y axis until it is no longer constrained. + + First try to slide towards the direction of the gravity on the y axis + until either the edge in the opposite direction of the gravity is + unconstrained or the edge in the direction of the gravity is + constrained. + + Then try to slide towards the opposite direction of the gravity on the + y axis until either the edge in the direction of the gravity is + unconstrained or the edge in the opposite direction of the gravity is + constrained. + + + + + Invert the anchor and gravity on the x axis if the surface is + constrained on the x axis. For example, if the left edge of the + surface is constrained, the gravity is 'left' and the anchor is + 'left', change the gravity to 'right' and the anchor to 'right'. + + If the adjusted position also ends up being constrained, the resulting + position of the flip_x adjustment will be the one before the + adjustment. + + + + + Invert the anchor and gravity on the y axis if the surface is + constrained on the y axis. For example, if the bottom edge of the + surface is constrained, the gravity is 'bottom' and the anchor is + 'bottom', change the gravity to 'top' and the anchor to 'top'. + + The adjusted position is calculated given the original anchor + rectangle and offset, but with the new flipped anchor and gravity + values. + + If the adjusted position also ends up being constrained, the resulting + position of the flip_y adjustment will be the one before the + adjustment. + + + + + Resize the surface horizontally so that it is completely + unconstrained. + + + + + Resize the surface vertically so that it is completely unconstrained. + + + + + + + Specify how the window should be positioned if the originally intended + position caused the surface to be constrained, meaning at least + partially outside positioning boundaries set by the compositor. The + adjustment is set by constructing a bitmask describing the adjustment to + be made when the surface is constrained on that axis. + + If no bit for one axis is set, the compositor will assume that the child + surface should not change its position on that axis when constrained. + + If more than one bit for one axis is set, the order of how adjustments + are applied is specified in the corresponding adjustment descriptions. + + The default adjustment is none. + + + + + + + Specify the surface position offset relative to the position of the + anchor on the anchor rectangle and the anchor on the surface. For + example if the anchor of the anchor rectangle is at (x, y), the surface + has the gravity bottom|right, and the offset is (ox, oy), the calculated + surface position will be (x + ox, y + oy). The offset position of the + surface is the one used for constraint testing. See + set_constraint_adjustment. + + An example use case is placing a popup menu on top of a user interface + element, while aligning the user interface element of the parent surface + with some user interface element placed somewhere in the popup surface. + + + + + + + + + + When set reactive, the surface is reconstrained if the conditions used + for constraining changed, e.g. the parent window moved. + + If the conditions changed and the popup was reconstrained, an + xdg_popup.configure event is sent with updated geometry, followed by an + xdg_surface.configure event. + + + + + + Set the parent window geometry the compositor should use when + positioning the popup. The compositor may use this information to + determine the future state the popup should be constrained using. If + this doesn't match the dimension of the parent the popup is eventually + positioned against, the behavior is undefined. + + The arguments are given in the surface-local coordinate space. + + + + + + + + Set the serial of an xdg_surface.configure event this positioner will be + used in response to. The compositor may use this information together + with set_parent_size to determine what future state the popup should be + constrained using. + + + + + + + + An interface that may be implemented by a wl_surface, for + implementations that provide a desktop-style user interface. + + It provides a base set of functionality required to construct user + interface elements requiring management by the compositor, such as + toplevel windows, menus, etc. The types of functionality are split into + xdg_surface roles. + + Creating an xdg_surface does not set the role for a wl_surface. In order + to map an xdg_surface, the client must create a role-specific object + using, e.g., get_toplevel, get_popup. The wl_surface for any given + xdg_surface can have at most one role, and may not be assigned any role + not based on xdg_surface. + + A role must be assigned before any other requests are made to the + xdg_surface object. + + The client must call wl_surface.commit on the corresponding wl_surface + for the xdg_surface state to take effect. + + Creating an xdg_surface from a wl_surface which has a buffer attached or + committed is a client error, and any attempts by a client to attach or + manipulate a buffer prior to the first xdg_surface.configure call must + also be treated as errors. + + After creating a role-specific object and setting it up, the client must + perform an initial commit without any buffer attached. The compositor + will reply with initial wl_surface state such as + wl_surface.preferred_buffer_scale followed by an xdg_surface.configure + event. The client must acknowledge it and is then allowed to attach a + buffer to map the surface. + + Mapping an xdg_surface-based role surface is defined as making it + possible for the surface to be shown by the compositor. Note that + a mapped surface is not guaranteed to be visible once it is mapped. + + For an xdg_surface to be mapped by the compositor, the following + conditions must be met: + (1) the client has assigned an xdg_surface-based role to the surface + (2) the client has set and committed the xdg_surface state and the + role-dependent state to the surface + (3) the client has committed a buffer to the surface + + A newly-unmapped surface is considered to have met condition (1) out + of the 3 required conditions for mapping a surface if its role surface + has not been destroyed, i.e. the client must perform the initial commit + again before attaching a buffer. + + + + + + + + + + + + + + Destroy the xdg_surface object. An xdg_surface must only be destroyed + after its role object has been destroyed, otherwise + a defunct_role_object error is raised. + + + + + + This creates an xdg_toplevel object for the given xdg_surface and gives + the associated wl_surface the xdg_toplevel role. + + See the documentation of xdg_toplevel for more details about what an + xdg_toplevel is and how it is used. + + + + + + + This creates an xdg_popup object for the given xdg_surface and gives + the associated wl_surface the xdg_popup role. + + If null is passed as a parent, a parent surface must be specified using + some other protocol, before committing the initial state. + + See the documentation of xdg_popup for more details about what an + xdg_popup is and how it is used. + + + + + + + + + The window geometry of a surface is its "visible bounds" from the + user's perspective. Client-side decorations often have invisible + portions like drop-shadows which should be ignored for the + purposes of aligning, placing and constraining windows. + + The window geometry is double buffered, and will be applied at the + time wl_surface.commit of the corresponding wl_surface is called. + + When maintaining a position, the compositor should treat the (x, y) + coordinate of the window geometry as the top left corner of the window. + A client changing the (x, y) window geometry coordinate should in + general not alter the position of the window. + + Once the window geometry of the surface is set, it is not possible to + unset it, and it will remain the same until set_window_geometry is + called again, even if a new subsurface or buffer is attached. + + If never set, the value is the full bounds of the surface, + including any subsurfaces. This updates dynamically on every + commit. This unset is meant for extremely simple clients. + + The arguments are given in the surface-local coordinate space of + the wl_surface associated with this xdg_surface, and may extend outside + of the wl_surface itself to mark parts of the subsurface tree as part of + the window geometry. + + When applied, the effective window geometry will be the set window + geometry clamped to the bounding rectangle of the combined + geometry of the surface of the xdg_surface and the associated + subsurfaces. + + The effective geometry will not be recalculated unless a new call to + set_window_geometry is done and the new pending surface state is + subsequently applied. + + The width and height of the effective window geometry must be + greater than zero. Setting an invalid size will raise an + invalid_size error. + + + + + + + + + + When a configure event is received, if a client commits the + surface in response to the configure event, then the client + must make an ack_configure request sometime before the commit + request, passing along the serial of the configure event. + + For instance, for toplevel surfaces the compositor might use this + information to move a surface to the top left only when the client has + drawn itself for the maximized or fullscreen state. + + If the client receives multiple configure events before it + can respond to one, it only has to ack the last configure event. + Acking a configure event that was never sent raises an invalid_serial + error. + + A client is not required to commit immediately after sending + an ack_configure request - it may even ack_configure several times + before its next surface commit. + + A client may send multiple ack_configure requests before committing, but + only the last request sent before a commit indicates which configure + event the client really is responding to. + + Sending an ack_configure request consumes the serial number sent with + the request, as well as serial numbers sent by all configure events + sent on this xdg_surface prior to the configure event referenced by + the committed serial. + + It is an error to issue multiple ack_configure requests referencing a + serial from the same configure event, or to issue an ack_configure + request referencing a serial from a configure event issued before the + event identified by the last ack_configure request for the same + xdg_surface. Doing so will raise an invalid_serial error. + + + + + + + The configure event marks the end of a configure sequence. A configure + sequence is a set of one or more events configuring the state of the + xdg_surface, including the final xdg_surface.configure event. + + Where applicable, xdg_surface surface roles will during a configure + sequence extend this event as a latched state sent as events before the + xdg_surface.configure event. Such events should be considered to make up + a set of atomically applied configuration states, where the + xdg_surface.configure commits the accumulated state. + + Clients should arrange their surface for the new states, and then send + an ack_configure request with the serial sent in this configure event at + some point before committing the new surface. + + If the client receives multiple configure events before it can respond + to one, it is free to discard all but the last event it received. + + + + + + + + + This interface defines an xdg_surface role which allows a surface to, + among other things, set window-like properties such as maximize, + fullscreen, and minimize, set application-specific metadata like title and + id, and well as trigger user interactive operations such as interactive + resize and move. + + Unmapping an xdg_toplevel means that the surface cannot be shown + by the compositor until it is explicitly mapped again. + All active operations (e.g., move, resize) are canceled and all + attributes (e.g. title, state, stacking, ...) are discarded for + an xdg_toplevel surface when it is unmapped. The xdg_toplevel returns to + the state it had right after xdg_surface.get_toplevel. The client + can re-map the toplevel by perfoming a commit without any buffer + attached, waiting for a configure event and handling it as usual (see + xdg_surface description). + + Attaching a null buffer to a toplevel unmaps the surface. + + + + + This request destroys the role surface and unmaps the surface; + see "Unmapping" behavior in interface section for details. + + + + + + + + + + + + Set the "parent" of this surface. This surface should be stacked + above the parent surface and all other ancestor surfaces. + + Parent surfaces should be set on dialogs, toolboxes, or other + "auxiliary" surfaces, so that the parent is raised when the dialog + is raised. + + Setting a null parent for a child surface unsets its parent. Setting + a null parent for a surface which currently has no parent is a no-op. + + Only mapped surfaces can have child surfaces. Setting a parent which + is not mapped is equivalent to setting a null parent. If a surface + becomes unmapped, its children's parent is set to the parent of + the now-unmapped surface. If the now-unmapped surface has no parent, + its children's parent is unset. If the now-unmapped surface becomes + mapped again, its parent-child relationship is not restored. + + The parent toplevel must not be one of the child toplevel's + descendants, and the parent must be different from the child toplevel, + otherwise the invalid_parent protocol error is raised. + + + + + + + Set a short title for the surface. + + This string may be used to identify the surface in a task bar, + window list, or other user interface elements provided by the + compositor. + + The string must be encoded in UTF-8. + + + + + + + Set an application identifier for the surface. + + The app ID identifies the general class of applications to which + the surface belongs. The compositor can use this to group multiple + surfaces together, or to determine how to launch a new application. + + For D-Bus activatable applications, the app ID is used as the D-Bus + service name. + + The compositor shell will try to group application surfaces together + by their app ID. As a best practice, it is suggested to select app + ID's that match the basename of the application's .desktop file. + For example, "org.freedesktop.FooViewer" where the .desktop file is + "org.freedesktop.FooViewer.desktop". + + Like other properties, a set_app_id request can be sent after the + xdg_toplevel has been mapped to update the property. + + See the desktop-entry specification [0] for more details on + application identifiers and how they relate to well-known D-Bus + names and .desktop files. + + [0] https://standards.freedesktop.org/desktop-entry-spec/ + + + + + + + Clients implementing client-side decorations might want to show + a context menu when right-clicking on the decorations, giving the + user a menu that they can use to maximize or minimize the window. + + This request asks the compositor to pop up such a window menu at + the given position, relative to the local surface coordinates of + the parent surface. There are no guarantees as to what menu items + the window menu contains, or even if a window menu will be drawn + at all. + + This request must be used in response to some sort of user action + like a button press, key press, or touch down event. + + + + + + + + + + Start an interactive, user-driven move of the surface. + + This request must be used in response to some sort of user action + like a button press, key press, or touch down event. The passed + serial is used to determine the type of interactive move (touch, + pointer, etc). + + The server may ignore move requests depending on the state of + the surface (e.g. fullscreen or maximized), or if the passed serial + is no longer valid. + + If triggered, the surface will lose the focus of the device + (wl_pointer, wl_touch, etc) used for the move. It is up to the + compositor to visually indicate that the move is taking place, such as + updating a pointer cursor, during the move. There is no guarantee + that the device focus will return when the move is completed. + + + + + + + + These values are used to indicate which edge of a surface + is being dragged in a resize operation. + + + + + + + + + + + + + + + Start a user-driven, interactive resize of the surface. + + This request must be used in response to some sort of user action + like a button press, key press, or touch down event. The passed + serial is used to determine the type of interactive resize (touch, + pointer, etc). + + The server may ignore resize requests depending on the state of + the surface (e.g. fullscreen or maximized). + + If triggered, the client will receive configure events with the + "resize" state enum value and the expected sizes. See the "resize" + enum value for more details about what is required. The client + must also acknowledge configure events using "ack_configure". After + the resize is completed, the client will receive another "configure" + event without the resize state. + + If triggered, the surface also will lose the focus of the device + (wl_pointer, wl_touch, etc) used for the resize. It is up to the + compositor to visually indicate that the resize is taking place, + such as updating a pointer cursor, during the resize. There is no + guarantee that the device focus will return when the resize is + completed. + + The edges parameter specifies how the surface should be resized, and + is one of the values of the resize_edge enum. Values not matching + a variant of the enum will cause the invalid_resize_edge protocol error. + The compositor may use this information to update the surface position + for example when dragging the top left corner. The compositor may also + use this information to adapt its behavior, e.g. choose an appropriate + cursor image. + + + + + + + + + The different state values used on the surface. This is designed for + state values like maximized, fullscreen. It is paired with the + configure event to ensure that both the client and the compositor + setting the state can be synchronized. + + States set in this way are double-buffered. They will get applied on + the next commit. + + + + The surface is maximized. The window geometry specified in the configure + event must be obeyed by the client, or the xdg_wm_base.invalid_surface_state + error is raised. + + The client should draw without shadow or other + decoration outside of the window geometry. + + + + + The surface is fullscreen. The window geometry specified in the + configure event is a maximum; the client cannot resize beyond it. For + a surface to cover the whole fullscreened area, the geometry + dimensions must be obeyed by the client. For more details, see + xdg_toplevel.set_fullscreen. + + + + + The surface is being resized. The window geometry specified in the + configure event is a maximum; the client cannot resize beyond it. + Clients that have aspect ratio or cell sizing configuration can use + a smaller size, however. + + + + + Client window decorations should be painted as if the window is + active. Do not assume this means that the window actually has + keyboard or pointer focus. + + + + + The window is currently in a tiled layout and the left edge is + considered to be adjacent to another part of the tiling grid. + + + + + The window is currently in a tiled layout and the right edge is + considered to be adjacent to another part of the tiling grid. + + + + + The window is currently in a tiled layout and the top edge is + considered to be adjacent to another part of the tiling grid. + + + + + The window is currently in a tiled layout and the bottom edge is + considered to be adjacent to another part of the tiling grid. + + + + + The surface is currently not ordinarily being repainted; for + example because its content is occluded by another window, or its + outputs are switched off due to screen locking. + + + + + + + Set a maximum size for the window. + + The client can specify a maximum size so that the compositor does + not try to configure the window beyond this size. + + The width and height arguments are in window geometry coordinates. + See xdg_surface.set_window_geometry. + + Values set in this way are double-buffered. They will get applied + on the next commit. + + The compositor can use this information to allow or disallow + different states like maximize or fullscreen and draw accurate + animations. + + Similarly, a tiling window manager may use this information to + place and resize client windows in a more effective way. + + The client should not rely on the compositor to obey the maximum + size. The compositor may decide to ignore the values set by the + client and request a larger size. + + If never set, or a value of zero in the request, means that the + client has no expected maximum size in the given dimension. + As a result, a client wishing to reset the maximum size + to an unspecified state can use zero for width and height in the + request. + + Requesting a maximum size to be smaller than the minimum size of + a surface is illegal and will result in an invalid_size error. + + The width and height must be greater than or equal to zero. Using + strictly negative values for width or height will result in a + invalid_size error. + + + + + + + + Set a minimum size for the window. + + The client can specify a minimum size so that the compositor does + not try to configure the window below this size. + + The width and height arguments are in window geometry coordinates. + See xdg_surface.set_window_geometry. + + Values set in this way are double-buffered. They will get applied + on the next commit. + + The compositor can use this information to allow or disallow + different states like maximize or fullscreen and draw accurate + animations. + + Similarly, a tiling window manager may use this information to + place and resize client windows in a more effective way. + + The client should not rely on the compositor to obey the minimum + size. The compositor may decide to ignore the values set by the + client and request a smaller size. + + If never set, or a value of zero in the request, means that the + client has no expected minimum size in the given dimension. + As a result, a client wishing to reset the minimum size + to an unspecified state can use zero for width and height in the + request. + + Requesting a minimum size to be larger than the maximum size of + a surface is illegal and will result in an invalid_size error. + + The width and height must be greater than or equal to zero. Using + strictly negative values for width and height will result in a + invalid_size error. + + + + + + + + Maximize the surface. + + After requesting that the surface should be maximized, the compositor + will respond by emitting a configure event. Whether this configure + actually sets the window maximized is subject to compositor policies. + The client must then update its content, drawing in the configured + state. The client must also acknowledge the configure when committing + the new content (see ack_configure). + + It is up to the compositor to decide how and where to maximize the + surface, for example which output and what region of the screen should + be used. + + If the surface was already maximized, the compositor will still emit + a configure event with the "maximized" state. + + If the surface is in a fullscreen state, this request has no direct + effect. It may alter the state the surface is returned to when + unmaximized unless overridden by the compositor. + + + + + + Unmaximize the surface. + + After requesting that the surface should be unmaximized, the compositor + will respond by emitting a configure event. Whether this actually + un-maximizes the window is subject to compositor policies. + If available and applicable, the compositor will include the window + geometry dimensions the window had prior to being maximized in the + configure event. The client must then update its content, drawing it in + the configured state. The client must also acknowledge the configure + when committing the new content (see ack_configure). + + It is up to the compositor to position the surface after it was + unmaximized; usually the position the surface had before maximizing, if + applicable. + + If the surface was already not maximized, the compositor will still + emit a configure event without the "maximized" state. + + If the surface is in a fullscreen state, this request has no direct + effect. It may alter the state the surface is returned to when + unmaximized unless overridden by the compositor. + + + + + + Make the surface fullscreen. + + After requesting that the surface should be fullscreened, the + compositor will respond by emitting a configure event. Whether the + client is actually put into a fullscreen state is subject to compositor + policies. The client must also acknowledge the configure when + committing the new content (see ack_configure). + + The output passed by the request indicates the client's preference as + to which display it should be set fullscreen on. If this value is NULL, + it's up to the compositor to choose which display will be used to map + this surface. + + If the surface doesn't cover the whole output, the compositor will + position the surface in the center of the output and compensate with + with border fill covering the rest of the output. The content of the + border fill is undefined, but should be assumed to be in some way that + attempts to blend into the surrounding area (e.g. solid black). + + If the fullscreened surface is not opaque, the compositor must make + sure that other screen content not part of the same surface tree (made + up of subsurfaces, popups or similarly coupled surfaces) are not + visible below the fullscreened surface. + + + + + + + Make the surface no longer fullscreen. + + After requesting that the surface should be unfullscreened, the + compositor will respond by emitting a configure event. + Whether this actually removes the fullscreen state of the client is + subject to compositor policies. + + Making a surface unfullscreen sets states for the surface based on the following: + * the state(s) it may have had before becoming fullscreen + * any state(s) decided by the compositor + * any state(s) requested by the client while the surface was fullscreen + + The compositor may include the previous window geometry dimensions in + the configure event, if applicable. + + The client must also acknowledge the configure when committing the new + content (see ack_configure). + + + + + + Request that the compositor minimize your surface. There is no + way to know if the surface is currently minimized, nor is there + any way to unset minimization on this surface. + + If you are looking to throttle redrawing when minimized, please + instead use the wl_surface.frame event for this, as this will + also work with live previews on windows in Alt-Tab, Expose or + similar compositor features. + + + + + + This configure event asks the client to resize its toplevel surface or + to change its state. The configured state should not be applied + immediately. See xdg_surface.configure for details. + + The width and height arguments specify a hint to the window + about how its surface should be resized in window geometry + coordinates. See set_window_geometry. + + If the width or height arguments are zero, it means the client + should decide its own window dimension. This may happen when the + compositor needs to configure the state of the surface but doesn't + have any information about any previous or expected dimension. + + The states listed in the event specify how the width/height + arguments should be interpreted, and possibly how it should be + drawn. + + Clients must send an ack_configure in response to this event. See + xdg_surface.configure and xdg_surface.ack_configure for details. + + + + + + + + + The close event is sent by the compositor when the user + wants the surface to be closed. This should be equivalent to + the user clicking the close button in client-side decorations, + if your application has any. + + This is only a request that the user intends to close the + window. The client may choose to ignore this request, or show + a dialog to ask the user to save their data, etc. + + + + + + + + The configure_bounds event may be sent prior to a xdg_toplevel.configure + event to communicate the bounds a window geometry size is recommended + to constrain to. + + The passed width and height are in surface coordinate space. If width + and height are 0, it means bounds is unknown and equivalent to as if no + configure_bounds event was ever sent for this surface. + + The bounds can for example correspond to the size of a monitor excluding + any panels or other shell components, so that a surface isn't created in + a way that it cannot fit. + + The bounds may change at any point, and in such a case, a new + xdg_toplevel.configure_bounds will be sent, followed by + xdg_toplevel.configure and xdg_surface.configure. + + + + + + + + + + + + + + + + + This event advertises the capabilities supported by the compositor. If + a capability isn't supported, clients should hide or disable the UI + elements that expose this functionality. For instance, if the + compositor doesn't advertise support for minimized toplevels, a button + triggering the set_minimized request should not be displayed. + + The compositor will ignore requests it doesn't support. For instance, + a compositor which doesn't advertise support for minimized will ignore + set_minimized requests. + + Compositors must send this event once before the first + xdg_surface.configure event. When the capabilities change, compositors + must send this event again and then send an xdg_surface.configure + event. + + The configured state should not be applied immediately. See + xdg_surface.configure for details. + + The capabilities are sent as an array of 32-bit unsigned integers in + native endianness. + + + + + + + + A popup surface is a short-lived, temporary surface. It can be used to + implement for example menus, popovers, tooltips and other similar user + interface concepts. + + A popup can be made to take an explicit grab. See xdg_popup.grab for + details. + + When the popup is dismissed, a popup_done event will be sent out, and at + the same time the surface will be unmapped. See the xdg_popup.popup_done + event for details. + + Explicitly destroying the xdg_popup object will also dismiss the popup and + unmap the surface. Clients that want to dismiss the popup when another + surface of their own is clicked should dismiss the popup using the destroy + request. + + A newly created xdg_popup will be stacked on top of all previously created + xdg_popup surfaces associated with the same xdg_toplevel. + + The parent of an xdg_popup must be mapped (see the xdg_surface + description) before the xdg_popup itself. + + The client must call wl_surface.commit on the corresponding wl_surface + for the xdg_popup state to take effect. + + + + + + + + + This destroys the popup. Explicitly destroying the xdg_popup + object will also dismiss the popup, and unmap the surface. + + If this xdg_popup is not the "topmost" popup, the + xdg_wm_base.not_the_topmost_popup protocol error will be sent. + + + + + + This request makes the created popup take an explicit grab. An explicit + grab will be dismissed when the user dismisses the popup, or when the + client destroys the xdg_popup. This can be done by the user clicking + outside the surface, using the keyboard, or even locking the screen + through closing the lid or a timeout. + + If the compositor denies the grab, the popup will be immediately + dismissed. + + This request must be used in response to some sort of user action like a + button press, key press, or touch down event. The serial number of the + event should be passed as 'serial'. + + The parent of a grabbing popup must either be an xdg_toplevel surface or + another xdg_popup with an explicit grab. If the parent is another + xdg_popup it means that the popups are nested, with this popup now being + the topmost popup. + + Nested popups must be destroyed in the reverse order they were created + in, e.g. the only popup you are allowed to destroy at all times is the + topmost one. + + When compositors choose to dismiss a popup, they may dismiss every + nested grabbing popup as well. When a compositor dismisses popups, it + will follow the same dismissing order as required from the client. + + If the topmost grabbing popup is destroyed, the grab will be returned to + the parent of the popup, if that parent previously had an explicit grab. + + If the parent is a grabbing popup which has already been dismissed, this + popup will be immediately dismissed. If the parent is a popup that did + not take an explicit grab, an error will be raised. + + During a popup grab, the client owning the grab will receive pointer + and touch events for all their surfaces as normal (similar to an + "owner-events" grab in X11 parlance), while the top most grabbing popup + will always have keyboard focus. + + + + + + + + This event asks the popup surface to configure itself given the + configuration. The configured state should not be applied immediately. + See xdg_surface.configure for details. + + The x and y arguments represent the position the popup was placed at + given the xdg_positioner rule, relative to the upper left corner of the + window geometry of the parent surface. + + For version 2 or older, the configure event for an xdg_popup is only + ever sent once for the initial configuration. Starting with version 3, + it may be sent again if the popup is setup with an xdg_positioner with + set_reactive requested, or in response to xdg_popup.reposition requests. + + + + + + + + + + The popup_done event is sent out when a popup is dismissed by the + compositor. The client should destroy the xdg_popup object at this + point. + + + + + + + + Reposition an already-mapped popup. The popup will be placed given the + details in the passed xdg_positioner object, and a + xdg_popup.repositioned followed by xdg_popup.configure and + xdg_surface.configure will be emitted in response. Any parameters set + by the previous positioner will be discarded. + + The passed token will be sent in the corresponding + xdg_popup.repositioned event. The new popup position will not take + effect until the corresponding configure event is acknowledged by the + client. See xdg_popup.repositioned for details. The token itself is + opaque, and has no other special meaning. + + If multiple reposition requests are sent, the compositor may skip all + but the last one. + + If the popup is repositioned in response to a configure event for its + parent, the client should send an xdg_positioner.set_parent_configure + and possibly an xdg_positioner.set_parent_size request to allow the + compositor to properly constrain the popup. + + If the popup is repositioned together with a parent that is being + resized, but not in response to a configure event, the client should + send an xdg_positioner.set_parent_size request. + + + + + + + + The repositioned event is sent as part of a popup configuration + sequence, together with xdg_popup.configure and lastly + xdg_surface.configure to notify the completion of a reposition request. + + The repositioned event is to notify about the completion of a + xdg_popup.reposition request. The token argument is the token passed + in the xdg_popup.reposition request. + + Immediately after this event is emitted, xdg_popup.configure and + xdg_surface.configure will be sent with the updated size and position, + as well as a new configure serial. + + The client should optionally update the content of the popup, but must + acknowledge the new popup configuration for the new position to take + effect. See xdg_surface.ack_configure for details. + + + + + + diff --git a/src/external/glfw/include/GLFW/glfw3.h b/src/external/glfw/include/GLFW/glfw3.h index 268754657..9c55ac9d9 100644 --- a/src/external/glfw/include/GLFW/glfw3.h +++ b/src/external/glfw/include/GLFW/glfw3.h @@ -361,10 +361,15 @@ extern "C" { #define GLFW_HAT_RIGHT_DOWN (GLFW_HAT_RIGHT | GLFW_HAT_DOWN) #define GLFW_HAT_LEFT_UP (GLFW_HAT_LEFT | GLFW_HAT_UP) #define GLFW_HAT_LEFT_DOWN (GLFW_HAT_LEFT | GLFW_HAT_DOWN) + +/*! @ingroup input + */ +#define GLFW_KEY_UNKNOWN -1 + /*! @} */ -/*! @defgroup keys Keyboard keys - * @brief Keyboard key IDs. +/*! @defgroup keys Keyboard key tokens + * @brief Keyboard key tokens. * * See [key input](@ref input_key) for how these are used. * @@ -387,9 +392,6 @@ extern "C" { * @{ */ -/* The unknown key */ -#define GLFW_KEY_UNKNOWN -1 - /* Printable keys */ #define GLFW_KEY_SPACE 32 #define GLFW_KEY_APOSTROPHE 39 /* ' */ @@ -825,11 +827,11 @@ extern "C" { #define GLFW_FEATURE_UNIMPLEMENTED 0x0001000D /*! @brief Platform unavailable or no matching platform was found. * - * If emitted during initialization, no matching platform was found. If @ref - * GLFW_PLATFORM is set to `GLFW_ANY_PLATFORM`, GLFW could not detect any of the - * platforms supported by this library binary, except for the Null platform. If set to - * a specific platform, it is either not supported by this library binary or GLFW was not - * able to detect it. + * If emitted during initialization, no matching platform was found. If the @ref + * GLFW_PLATFORM init hint was set to `GLFW_ANY_PLATFORM`, GLFW could not detect any of + * the platforms supported by this library binary, except for the Null platform. If the + * init hint was set to a specific platform, it is either not supported by this library + * binary or GLFW was not able to detect it. * * If emitted by a native access function, GLFW was initialized for a different platform * than the function is for. @@ -1096,8 +1098,15 @@ extern "C" { * [window hint](@ref GLFW_SCALE_TO_MONITOR). */ #define GLFW_SCALE_TO_MONITOR 0x0002200C -/*! @brief macOS specific - * [window hint](@ref GLFW_COCOA_RETINA_FRAMEBUFFER_hint). +/*! @brief Window framebuffer scaling + * [window hint](@ref GLFW_SCALE_FRAMEBUFFER_hint). + */ +#define GLFW_SCALE_FRAMEBUFFER 0x0002200D +/*! @brief Legacy name for compatibility. + * + * This is an alias for the + * [GLFW_SCALE_FRAMEBUFFER](@ref GLFW_SCALE_FRAMEBUFFER_hint) window hint for + * compatibility with earlier versions. */ #define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001 /*! @brief macOS specific @@ -1117,6 +1126,9 @@ extern "C" { */ #define GLFW_X11_INSTANCE_NAME 0x00024002 #define GLFW_WIN32_KEYBOARD_MENU 0x00025001 +/*! @brief Win32 specific [window hint](@ref GLFW_WIN32_SHOWDEFAULT_hint). + */ +#define GLFW_WIN32_SHOWDEFAULT 0x00025002 /*! @brief Wayland specific * [window hint](@ref GLFW_WAYLAND_APP_ID_hint). * @@ -1164,6 +1176,9 @@ extern "C" { #define GLFW_ANGLE_PLATFORM_TYPE_VULKAN 0x00037007 #define GLFW_ANGLE_PLATFORM_TYPE_METAL 0x00037008 +#define GLFW_WAYLAND_PREFER_LIBDECOR 0x00038001 +#define GLFW_WAYLAND_DISABLE_LIBDECOR 0x00038002 + #define GLFW_ANY_POSITION 0x80000000 /*! @defgroup shapes Standard cursor shapes @@ -1215,11 +1230,11 @@ extern "C" { * @note @macos This shape is provided by a private system API and may fail * with @ref GLFW_CURSOR_UNAVAILABLE in the future. * - * @note @x11 This shape is provided by a newer standard not supported by all - * cursor themes. - * * @note @wayland This shape is provided by a newer standard not supported by * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. */ #define GLFW_RESIZE_NWSE_CURSOR 0x00036007 /*! @brief The top-right to bottom-left diagonal resize/move arrow shape. @@ -1230,11 +1245,11 @@ extern "C" { * @note @macos This shape is provided by a private system API and may fail * with @ref GLFW_CURSOR_UNAVAILABLE in the future. * - * @note @x11 This shape is provided by a newer standard not supported by all - * cursor themes. - * * @note @wayland This shape is provided by a newer standard not supported by * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. */ #define GLFW_RESIZE_NESW_CURSOR 0x00036008 /*! @brief The omni-directional resize/move cursor shape. @@ -1248,11 +1263,11 @@ extern "C" { * The operation-not-allowed shape. This is usually a circle with a diagonal * line through it. * - * @note @x11 This shape is provided by a newer standard not supported by all - * cursor themes. - * * @note @wayland This shape is provided by a newer standard not supported by * all cursor themes. + * + * @note @x11 This shape is provided by a newer standard not supported by all + * cursor themes. */ #define GLFW_NOT_ALLOWED_CURSOR 0x0003600A /*! @brief Legacy name for compatibility. @@ -1307,6 +1322,11 @@ extern "C" { * X11 specific [init hint](@ref GLFW_X11_XCB_VULKAN_SURFACE_hint). */ #define GLFW_X11_XCB_VULKAN_SURFACE 0x00052001 +/*! @brief Wayland specific init hint. + * + * Wayland specific [init hint](@ref GLFW_WAYLAND_LIBDECOR_hint). + */ +#define GLFW_WAYLAND_LIBDECOR 0x00053001 /*! @} */ /*! @addtogroup init @@ -1406,16 +1426,25 @@ typedef struct GLFWcursor GLFWcursor; * or `NULL` if allocation failed. Note that not all parts of GLFW handle allocation * failures gracefully yet. * - * This function may be called during @ref glfwInit but before the library is - * flagged as initialized, as well as during @ref glfwTerminate after the - * library is no longer flagged as initialized. + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. * - * Any memory allocated by this function will be deallocated during library - * termination or earlier. + * Any memory allocated via this function will be deallocated via the same allocator + * during library termination or earlier. + * + * Any memory allocated via this function must be suitably aligned for any object type. + * If you are using C99 or earlier, this alignment is platform-dependent but will be the + * same as what `malloc` provides. If you are using C11 or later, this is the value of + * `alignof(max_align_t)`. * * The size will always be greater than zero. Allocations of size zero are filtered out * before reaching the custom allocator. * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. + * * @param[in] size The minimum size, in bytes, of the memory block. * @param[in] user The user-defined pointer from the allocator. * @return The address of the newly allocated memory block, or `NULL` if an @@ -1426,7 +1455,8 @@ typedef struct GLFWcursor GLFWcursor; * * @reentrancy This function should not call any GLFW function. * - * @thread_safety This function may be called from any thread that calls GLFW functions. + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. * * @sa @ref init_allocator * @sa @ref GLFWallocator @@ -1449,16 +1479,26 @@ typedef void* (* GLFWallocatefun)(size_t size, void* user); * `NULL` if allocation failed. Note that not all parts of GLFW handle allocation * failures gracefully yet. * - * This function may be called during @ref glfwInit but before the library is - * flagged as initialized, as well as during @ref glfwTerminate after the - * library is no longer flagged as initialized. + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. * - * Any memory allocated by this function will be deallocated during library - * termination or earlier. + * Any memory allocated via this function will be deallocated via the same allocator + * during library termination or earlier. + * + * Any memory allocated via this function must be suitably aligned for any object type. + * If you are using C99 or earlier, this alignment is platform-dependent but will be the + * same as what `realloc` provides. If you are using C11 or later, this is the value of + * `alignof(max_align_t)`. * * The block address will never be `NULL` and the size will always be greater than zero. - * Reallocations of a block to size zero are converted into deallocations. Reallocations - * of `NULL` to a non-zero size are converted into regular allocations. + * Reallocations of a block to size zero are converted into deallocations before reaching + * the custom allocator. Reallocations of `NULL` to a non-zero size are converted into + * regular allocations before reaching the custom allocator. + * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. * * @param[in] block The address of the memory block to reallocate. * @param[in] size The new minimum size, in bytes, of the memory block. @@ -1471,7 +1511,8 @@ typedef void* (* GLFWallocatefun)(size_t size, void* user); * * @reentrancy This function should not call any GLFW function. * - * @thread_safety This function may be called from any thread that calls GLFW functions. + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. * * @sa @ref init_allocator * @sa @ref GLFWallocator @@ -1493,13 +1534,17 @@ typedef void* (* GLFWreallocatefun)(void* block, size_t size, void* user); * This function may deallocate the specified memory block. This memory block * will have been allocated with the same allocator. * - * This function may be called during @ref glfwInit but before the library is - * flagged as initialized, as well as during @ref glfwTerminate after the - * library is no longer flagged as initialized. + * This function must support being called during @ref glfwInit but before the library is + * flagged as initialized, as well as during @ref glfwTerminate after the library is no + * longer flagged as initialized. * * The block address will never be `NULL`. Deallocations of `NULL` are filtered out * before reaching the custom allocator. * + * If this function returns `NULL`, GLFW will emit @ref GLFW_OUT_OF_MEMORY. + * + * This function must not call any GLFW function. + * * @param[in] block The address of the memory block to deallocate. * @param[in] user The user-defined pointer from the allocator. * @@ -1508,7 +1553,8 @@ typedef void* (* GLFWreallocatefun)(void* block, size_t size, void* user); * * @reentrancy This function should not call any GLFW function. * - * @thread_safety This function may be called from any thread that calls GLFW functions. + * @thread_safety This function must support being called from any thread that calls GLFW + * functions. * * @sa @ref init_allocator * @sa @ref GLFWallocator @@ -2076,7 +2122,10 @@ typedef struct GLFWgamepadstate float axes[6]; } GLFWgamepadstate; -/*! @brief +/*! @brief Custom heap memory allocator. + * + * This describes a custom heap memory allocator for GLFW. To set an allocator, pass it + * to @ref glfwInitAllocator before initializing the library. * * @sa @ref init_allocator * @sa @ref glfwInitAllocator @@ -2087,9 +2136,21 @@ typedef struct GLFWgamepadstate */ typedef struct GLFWallocator { + /*! The memory allocation function. See @ref GLFWallocatefun for details about + * allocation function. + */ GLFWallocatefun allocate; + /*! The memory reallocation function. See @ref GLFWreallocatefun for details about + * reallocation function. + */ GLFWreallocatefun reallocate; + /*! The memory deallocation function. See @ref GLFWdeallocatefun for details about + * deallocation function. + */ GLFWdeallocatefun deallocate; + /*! The user pointer for this custom allocator. This value will be passed to the + * allocator functions. + */ void* user; } GLFWallocator; @@ -2134,6 +2195,13 @@ typedef struct GLFWallocator * and dock icon can be disabled entirely with the @ref GLFW_COCOA_MENUBAR init * hint. * + * @remark __Wayland, X11:__ If the library was compiled with support for both + * Wayland and X11, and the @ref GLFW_PLATFORM init hint is set to + * `GLFW_ANY_PLATFORM`, the `XDG_SESSION_TYPE` environment variable affects + * which platform is picked. If the environment variable is not set, or is set + * to something other than `wayland` or `x11`, the regular detection mechanism + * will be used instead. + * * @remark @x11 This function will set the `LC_CTYPE` category of the * application locale according to the current environment if that category is * still "C". This is because the "C" locale breaks Unicode text input. @@ -2222,8 +2290,12 @@ GLFWAPI void glfwInitHint(int hint, int value); * To use the default allocator, call this function with a `NULL` argument. * * If you specify an allocator struct, every member must be a valid function - * pointer. If any member is `NULL`, this function emits @ref - * GLFW_INVALID_VALUE and the init allocator is unchanged. + * pointer. If any member is `NULL`, this function will emit @ref + * GLFW_INVALID_VALUE and the init allocator will be unchanged. + * + * The functions in the allocator must fulfil a number of requirements. See the + * documentation for @ref GLFWallocatefun, @ref GLFWreallocatefun and @ref + * GLFWdeallocatefun for details. * * @param[in] allocator The allocator to use at the next initialization, or * `NULL` to use the default one. @@ -2590,9 +2662,10 @@ GLFWAPI void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, * specified monitor. * * Some platforms do not provide accurate monitor size information, either - * because the monitor - * [EDID](https://en.wikipedia.org/wiki/Extended_display_identification_data) - * data is incorrect or because the driver does not report it accurately. + * because the monitor [EDID][] data is incorrect or because the driver does + * not report it accurately. + * + * [EDID]: https://en.wikipedia.org/wiki/Extended_display_identification_data * * Any or all of the size arguments may be `NULL`. If an error occurs, all * non-`NULL` size arguments will be set to zero. @@ -2639,6 +2712,9 @@ GLFWAPI void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref * GLFW_PLATFORM_ERROR. * + * @remark @wayland Fractional scaling information is not yet available for + * monitors, so this function only returns integer content scales. + * * @thread_safety This function must only be called from the main thread. * * @sa @ref monitor_scale @@ -2835,11 +2911,11 @@ GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor); * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] gamma The desired exponent. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref - * GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_INVALID_VALUE, + * @ref GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). * * @remark @wayland Gamma handling is a privileged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR. + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE. * * @thread_safety This function must only be called from the main thread. * @@ -2859,11 +2935,11 @@ GLFWAPI void glfwSetGamma(GLFWmonitor* monitor, float gamma); * @return The current gamma ramp, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_PLATFORM_ERROR + * and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). * * @remark @wayland Gamma handling is a privileged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR while + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE while * returning `NULL`. * * @pointer_lifetime The returned structure and its arrays are allocated and @@ -2898,8 +2974,8 @@ GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor); * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] ramp The gamma ramp to use. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref GLFW_PLATFORM_ERROR + * and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). * * @remark The size of the specified gamma ramp should match the size of the * current ramp for that monitor. @@ -2907,7 +2983,7 @@ GLFWAPI const GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor); * @remark @win32 The gamma ramp size must be 256. * * @remark @wayland Gamma handling is a privileged protocol, this function - * will thus never be implemented and emits @ref GLFW_PLATFORM_ERROR. + * will thus never be implemented and emits @ref GLFW_FEATURE_UNAVAILABLE. * * @pointer_lifetime The specified gamma ramp is copied before this function * returns. @@ -3079,8 +3155,8 @@ GLFWAPI void glfwWindowHintString(int hint, const char* value); * * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE, @ref GLFW_API_UNAVAILABLE, @ref - * GLFW_VERSION_UNAVAILABLE, @ref GLFW_FORMAT_UNAVAILABLE and @ref - * GLFW_PLATFORM_ERROR. + * GLFW_VERSION_UNAVAILABLE, @ref GLFW_FORMAT_UNAVAILABLE, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. * * @remark @win32 Window creation will fail if the Microsoft GDI software * OpenGL implementation is the only one available. @@ -3102,23 +3178,35 @@ GLFWAPI void glfwWindowHintString(int hint, const char* value); * @remark @macos The GLFW window has no icon, as it is not a document * window, but the dock icon will be the same as the application bundle's icon. * For more information on bundles, see the - * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) - * in the Mac Developer Library. + * [Bundle Programming Guide][bundle-guide] in the Mac Developer Library. + * + * [bundle-guide]: https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/ * * @remark @macos On OS X 10.10 and later the window frame will not be rendered * at full resolution on Retina displays unless the - * [GLFW_COCOA_RETINA_FRAMEBUFFER](@ref GLFW_COCOA_RETINA_FRAMEBUFFER_hint) + * [GLFW_SCALE_FRAMEBUFFER](@ref GLFW_SCALE_FRAMEBUFFER_hint) * hint is `GLFW_TRUE` and the `NSHighResolutionCapable` key is enabled in the * application bundle's `Info.plist`. For more information, see - * [High Resolution Guidelines for OS X](https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html) - * in the Mac Developer Library. The GLFW test and example programs use - * a custom `Info.plist` template for this, which can be found as - * `CMake/Info.plist.in` in the source tree. + * [High Resolution Guidelines for OS X][hidpi-guide] in the Mac Developer + * Library. The GLFW test and example programs use a custom `Info.plist` + * template for this, which can be found as `CMake/Info.plist.in` in the source + * tree. + * + * [hidpi-guide]: https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html * * @remark @macos When activating frame autosaving with * [GLFW_COCOA_FRAME_NAME](@ref GLFW_COCOA_FRAME_NAME_hint), the specified * window size and position may be overridden by previously saved values. * + * @remark @wayland GLFW uses [libdecor][] where available to create its window + * decorations. This in turn uses server-side XDG decorations where available + * and provides high quality client-side decorations on compositors like GNOME. + * If both XDG decorations and libdecor are unavailable, GLFW falls back to + * a very simple set of window decorations that only support moving, resizing + * and the window manager's right-click menu. + * + * [libdecor]: https://gitlab.freedesktop.org/libdecor/libdecor + * * @remark @x11 Some window managers will not respect the placement of * initially hidden windows. * @@ -3135,20 +3223,6 @@ GLFWAPI void glfwWindowHintString(int hint, const char* value); * [GLFW_X11_INSTANCE_NAME](@ref GLFW_X11_INSTANCE_NAME_hint) window hints to * override this. * - * @remark @wayland Compositors should implement the xdg-decoration protocol - * for GLFW to decorate the window properly. If this protocol isn't - * supported, or if the compositor prefers client-side decorations, a very - * simple fallback frame will be drawn using the wp_viewporter protocol. A - * compositor can still emit close, maximize or fullscreen events, using for - * instance a keybind mechanism. If neither of these protocols is supported, - * the window won't be decorated. - * - * @remark @wayland A full screen window will not attempt to change the mode, - * no matter what the requested size or refresh rate. - * - * @remark @wayland Screensaver inhibition requires the idle-inhibit protocol - * to be implemented in the user's compositor. - * * @thread_safety This function must only be called from the main thread. * * @sa @ref window_creation @@ -3231,6 +3305,38 @@ GLFWAPI int glfwWindowShouldClose(GLFWwindow* window); */ GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value); +/*! @brief Returns the title of the specified window. + * + * This function returns the window title, encoded as UTF-8, of the specified + * window. This is the title set previously by @ref glfwCreateWindow + * or @ref glfwSetWindowTitle. + * + * @param[in] window The window to query. + * @return The UTF-8 encoded window title, or `NULL` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * + * @remark The returned title is currently a copy of the title last set by @ref + * glfwCreateWindow or @ref glfwSetWindowTitle. It does not include any + * additional text which may be appended by the platform or another program. + * + * @pointer_lifetime The returned string is allocated and freed by GLFW. You + * should not free it yourself. It is valid until the next call to @ref + * glfwGetWindowTitle or @ref glfwSetWindowTitle, or until the library is + * terminated. + * + * @thread_safety This function must only be called from the main thread. + * + * @sa @ref window_title + * @sa @ref glfwSetWindowTitle + * + * @since Added in version 3.4. + * + * @ingroup window + */ +GLFWAPI const char* glfwGetWindowTitle(GLFWwindow* window); + /*! @brief Sets the title of the specified window. * * This function sets the window title, encoded as UTF-8, of the specified @@ -3248,6 +3354,7 @@ GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value); * @thread_safety This function must only be called from the main thread. * * @sa @ref window_title + * @sa @ref glfwGetWindowTitle * * @since Added in version 1.0. * @glfw3 Added window handle parameter. @@ -3287,8 +3394,9 @@ GLFWAPI void glfwSetWindowTitle(GLFWwindow* window, const char* title); * @remark @macos Regular windows do not have icons on macOS. This function * will emit @ref GLFW_FEATURE_UNAVAILABLE. The dock icon will be the same as * the application bundle's icon. For more information on bundles, see the - * [Bundle Programming Guide](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/) - * in the Mac Developer Library. + * [Bundle Programming Guide][bundle-guide] in the Mac Developer Library. + * + * [bundle-guide]: https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/ * * @remark @wayland There is no existing protocol to change an icon, the * window will thus inherit the one defined in the application's desktop file. @@ -3512,9 +3620,6 @@ GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom); * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref * GLFW_PLATFORM_ERROR. * - * @remark @wayland A full screen window will not attempt to change the mode, - * no matter what the requested size. - * * @thread_safety This function must only be called from the main thread. * * @sa @ref window_size @@ -3846,11 +3951,11 @@ GLFWAPI void glfwHideWindow(GLFWwindow* window); * * @param[in] window The window to give input focus. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref - * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_ERROR. * - * @remark @wayland It is not possible for an application to set the input - * focus. This function will emit @ref GLFW_FEATURE_UNAVAILABLE. + * @remark @wayland The compositor will likely ignore focus requests unless + * another window created by the same application already has input focus. * * @thread_safety This function must only be called from the main thread. * @@ -3955,9 +4060,6 @@ GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window); * @remark @wayland The desired window position is ignored, as there is no way * for an application to set this property. * - * @remark @wayland Setting the window to full screen will not attempt to - * change the mode, no matter what the requested size or refresh rate. - * * @thread_safety This function must only be called from the main thread. * * @sa @ref window_monitor @@ -4030,11 +4132,15 @@ GLFWAPI int glfwGetWindowAttrib(GLFWwindow* window, int attrib); * @param[in] value `GLFW_TRUE` or `GLFW_FALSE`. * * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref - * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE and @ref GLFW_PLATFORM_ERROR. + * GLFW_INVALID_ENUM, @ref GLFW_INVALID_VALUE, @ref GLFW_PLATFORM_ERROR and @ref + * GLFW_FEATURE_UNAVAILABLE (see remarks). * * @remark Calling @ref glfwGetWindowAttrib will always return the latest * value, even if that value is ignored by the current mode of the window. * + * @remark @wayland The [GLFW_FLOATING](@ref GLFW_FLOATING_attrib) window attribute is + * not supported. Setting this will emit @ref GLFW_FEATURE_UNAVAILABLE. + * * @thread_safety This function must only be called from the main thread. * * @sa @ref window_attribs @@ -4709,8 +4815,8 @@ GLFWAPI int glfwRawMouseMotionSupported(void); * @param[in] scancode The scancode of the key to query. * @return The UTF-8 encoded, layout-specific name of the key, or `NULL`. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_INVALID_VALUE, @ref GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. * * @remark The contents of the returned string may change when a keyboard * layout change event is received. @@ -4732,15 +4838,18 @@ GLFWAPI const char* glfwGetKeyName(int key, int scancode); * * This function returns the platform-specific scancode of the specified key. * - * If the key is `GLFW_KEY_UNKNOWN` or does not exist on the keyboard this - * method will return `-1`. + * If the specified [key token](@ref keys) corresponds to a physical key not + * supported on the current platform then this method will return `-1`. + * Calling this function with anything other than a key token will return `-1` + * and generate a @ref GLFW_INVALID_ENUM error. * - * @param[in] key Any [named key](@ref keys). - * @return The platform-specific scancode for the key, or `-1` if an - * [error](@ref error_handling) occurred. + * @param[in] key Any [key token](@ref keys). + * @return The platform-specific scancode for the key, or `-1` if the key is + * not supported on the current platform or an [error](@ref error_handling) + * occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref - * GLFW_INVALID_ENUM and @ref GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_INVALID_ENUM. * * @thread_safety This function may be called from any thread. * @@ -4881,11 +4990,11 @@ GLFWAPI void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos); * @param[in] ypos The desired y-coordinate, relative to the top edge of the * content area. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_ERROR and @ref GLFW_FEATURE_UNAVAILABLE (see remarks). * * @remark @wayland This function will only work when the cursor mode is - * `GLFW_CURSOR_DISABLED`, otherwise it will do nothing. + * `GLFW_CURSOR_DISABLED`, otherwise it will emit @ref GLFW_FEATURE_UNAVAILABLE. * * @thread_safety This function must only be called from the main thread. * @@ -5049,9 +5158,9 @@ GLFWAPI void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor); * [character callback](@ref glfwSetCharCallback) instead. * * When a window loses input focus, it will generate synthetic key release - * events for all pressed keys. You can tell these events from user-generated - * events by the fact that the synthetic ones are generated after the focus - * loss event has been processed, i.e. after the + * events for all pressed keys with associated key tokens. You can tell these + * events from user-generated events by the fact that the synthetic ones are + * generated after the focus loss event has been processed, i.e. after the * [window focus callback](@ref glfwSetWindowFocusCallback) has been called. * * The scancode of a key is specific to that platform or sometimes even to that @@ -5332,8 +5441,6 @@ GLFWAPI GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun ca * * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. * - * @remark @wayland File drop is currently unimplemented. - * * @thread_safety This function must only be called from the main thread. * * @sa @ref path_drop @@ -5800,6 +5907,11 @@ GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state); * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref * GLFW_PLATFORM_ERROR. * + * @remark @win32 The clipboard on Windows has a single global lock for reading and + * writing. GLFW tries to acquire it a few times, which is almost always enough. If it + * cannot acquire the lock then this function emits @ref GLFW_PLATFORM_ERROR and returns. + * It is safe to try this multiple times. + * * @pointer_lifetime The specified string is copied before this function * returns. * @@ -5828,6 +5940,11 @@ GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string); * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref * GLFW_FORMAT_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. * + * @remark @win32 The clipboard on Windows has a single global lock for reading and + * writing. GLFW tries to acquire it a few times, which is almost always enough. If it + * cannot acquire the lock then this function emits @ref GLFW_PLATFORM_ERROR and returns. + * It is safe to try this multiple times. + * * @pointer_lifetime The returned string is allocated and freed by GLFW. You * should not free it yourself. It is valid until the next call to @ref * glfwGetClipboardString or @ref glfwSetClipboardString, or until the library @@ -5950,12 +6067,15 @@ GLFWAPI uint64_t glfwGetTimerFrequency(void); * thread. * * This function makes the OpenGL or OpenGL ES context of the specified window - * current on the calling thread. A context must only be made current on - * a single thread at a time and each thread can have only a single current - * context at a time. + * current on the calling thread. It can also detach the current context from + * the calling thread without making a new one current by passing in `NULL`. * - * When moving a context between threads, you must make it non-current on the - * old thread before making it current on the new one. + * A context must only be made current on a single thread at a time and each + * thread can have only a single current context at a time. Making a context + * current detaches any previously current context on the calling thread. + * + * When moving a context between threads, you must detach it (make it + * non-current) on the old thread before making it current on the new one. * * By default, making a context non-current implicitly forces a pipeline flush. * On machines that support `GL_KHR_context_flush_control`, you can control @@ -5970,6 +6090,10 @@ GLFWAPI uint64_t glfwGetTimerFrequency(void); * @param[in] window The window whose context to make current, or `NULL` to * detach the current context. * + * @remarks If the previously current context was created via a different + * context creation API than the one passed to this function, GLFW will still + * detach the previous one from its API before making the new one current. + * * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_ERROR. * diff --git a/src/external/glfw/include/GLFW/glfw3native.h b/src/external/glfw/include/GLFW/glfw3native.h index 171abe36a..92f0d3244 100644 --- a/src/external/glfw/include/GLFW/glfw3native.h +++ b/src/external/glfw/include/GLFW/glfw3native.h @@ -169,7 +169,8 @@ extern "C" { * of the specified monitor, or `NULL` if an [error](@ref error_handling) * occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -186,7 +187,8 @@ GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor); * `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -202,7 +204,8 @@ GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor); * @return The `HWND` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @remark The `HDC` associated with the window can be queried with the * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc) @@ -228,8 +231,8 @@ GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window); * @return The `HGLRC` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT. * * @remark The `HDC` associated with the window can be queried with the * [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc) @@ -255,7 +258,8 @@ GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window); * @return The `CGDirectDisplayID` of the specified monitor, or * `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -271,7 +275,8 @@ GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); * @return The `NSWindow` of the specified window, or `nil` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -281,6 +286,23 @@ GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); * @ingroup native */ GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); + +/*! @brief Returns the `NSView` of the specified window. + * + * @return The `NSView` of the specified window, or `nil` if an + * [error](@ref error_handling) occurred. + * + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. + * + * @thread_safety This function may be called from any thread. Access is not + * synchronized. + * + * @since Added in version 3.4. + * + * @ingroup native + */ +GLFWAPI id glfwGetCocoaView(GLFWwindow* window); #endif #if defined(GLFW_EXPOSE_NATIVE_NSGL) @@ -289,8 +311,8 @@ GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window); * @return The `NSOpenGLContext` of the specified window, or `nil` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -308,7 +330,8 @@ GLFWAPI id glfwGetNSGLContext(GLFWwindow* window); * @return The `Display` used by GLFW, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -324,7 +347,8 @@ GLFWAPI Display* glfwGetX11Display(void); * @return The `RRCrtc` of the specified monitor, or `None` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -340,7 +364,8 @@ GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); * @return The `RROutput` of the specified monitor, or `None` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -356,7 +381,8 @@ GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor); * @return The `Window` of the specified window, or `None` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -371,8 +397,8 @@ GLFWAPI Window glfwGetX11Window(GLFWwindow* window); * * @param[in] string A UTF-8 encoded string. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. * * @pointer_lifetime The specified string is copied before this function * returns. @@ -397,8 +423,8 @@ GLFWAPI void glfwSetX11SelectionString(const char* string); * @return The contents of the selection as a UTF-8 encoded string, or `NULL` * if an [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref - * GLFW_PLATFORM_ERROR. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_PLATFORM_UNAVAILABLE and @ref GLFW_PLATFORM_ERROR. * * @pointer_lifetime The returned string is allocated and freed by GLFW. You * should not free it yourself. It is valid until the next call to @ref @@ -424,8 +450,8 @@ GLFWAPI const char* glfwGetX11SelectionString(void); * @return The `GLXContext` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -441,8 +467,8 @@ GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window); * @return The `GLXWindow` of the specified window, or `None` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED, @ref + * GLFW_NO_WINDOW_CONTEXT and @ref GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -460,7 +486,8 @@ GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window); * @return The `struct wl_display*` used by GLFW, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -476,7 +503,8 @@ GLFWAPI struct wl_display* glfwGetWaylandDisplay(void); * @return The `struct wl_output*` of the specified monitor, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -492,7 +520,8 @@ GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); * @return The main `struct wl_surface*` of the specified window, or `NULL` if * an [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_PLATFORM_UNAVAILABLE. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -529,8 +558,8 @@ GLFWAPI EGLDisplay glfwGetEGLDisplay(void); * @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -546,8 +575,8 @@ GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window); * @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -572,8 +601,8 @@ GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window); * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -596,8 +625,8 @@ GLFWAPI int glfwGetOSMesaColorBuffer(GLFWwindow* window, int* width, int* height * @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. @@ -613,8 +642,8 @@ GLFWAPI int glfwGetOSMesaDepthBuffer(GLFWwindow* window, int* width, int* height * @return The `OSMesaContext` of the specified window, or `NULL` if an * [error](@ref error_handling) occurred. * - * @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref - * GLFW_NOT_INITIALIZED. + * @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref + * GLFW_NO_WINDOW_CONTEXT. * * @thread_safety This function may be called from any thread. Access is not * synchronized. diff --git a/src/external/glfw/src/CMakeLists.txt b/src/external/glfw/src/CMakeLists.txt index 01f191c97..1057a6f98 100644 --- a/src/external/glfw/src/CMakeLists.txt +++ b/src/external/glfw/src/CMakeLists.txt @@ -72,47 +72,38 @@ if (GLFW_BUILD_WAYLAND) endif() find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) + if (NOT WAYLAND_SCANNER_EXECUTABLE) + message(FATAL_ERROR "Failed to find wayland-scanner") + endif() - include(FindPkgConfig) - pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) - pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) - pkg_get_variable(WAYLAND_CLIENT_PKGDATADIR wayland-client pkgdatadir) + macro(generate_wayland_protocol protocol_file) + set(protocol_path "${GLFW_SOURCE_DIR}/deps/wayland/${protocol_file}") - macro(wayland_generate protocol_file output_file) - add_custom_command(OUTPUT "${output_file}.h" - COMMAND "${WAYLAND_SCANNER_EXECUTABLE}" client-header "${protocol_file}" "${output_file}.h" - DEPENDS "${protocol_file}" + string(REGEX REPLACE "\\.xml$" "-client-protocol.h" header_file ${protocol_file}) + string(REGEX REPLACE "\\.xml$" "-client-protocol-code.h" code_file ${protocol_file}) + + add_custom_command(OUTPUT ${header_file} + COMMAND "${WAYLAND_SCANNER_EXECUTABLE}" client-header "${protocol_path}" ${header_file} + DEPENDS "${protocol_path}" VERBATIM) - add_custom_command(OUTPUT "${output_file}-code.h" - COMMAND "${WAYLAND_SCANNER_EXECUTABLE}" private-code "${protocol_file}" "${output_file}-code.h" - DEPENDS "${protocol_file}" + add_custom_command(OUTPUT ${code_file} + COMMAND "${WAYLAND_SCANNER_EXECUTABLE}" private-code "${protocol_path}" ${code_file} + DEPENDS "${protocol_path}" VERBATIM) - target_sources(glfw PRIVATE "${output_file}.h" "${output_file}-code.h") + target_sources(glfw PRIVATE ${header_file} ${code_file}) endmacro() - wayland_generate( - "${WAYLAND_CLIENT_PKGDATADIR}/wayland.xml" - "${GLFW_BINARY_DIR}/src/wayland-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml" - "${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" - "${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml" - "${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" - "${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" - "${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol") - wayland_generate( - "${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" - "${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol") + generate_wayland_protocol("wayland.xml") + generate_wayland_protocol("viewporter.xml") + generate_wayland_protocol("xdg-shell.xml") + generate_wayland_protocol("idle-inhibit-unstable-v1.xml") + generate_wayland_protocol("pointer-constraints-unstable-v1.xml") + generate_wayland_protocol("relative-pointer-unstable-v1.xml") + generate_wayland_protocol("fractional-scale-v1.xml") + generate_wayland_protocol("xdg-activation-v1.xml") + generate_wayland_protocol("xdg-decoration-unstable-v1.xml") endif() if (WIN32 AND GLFW_BUILD_SHARED_LIBRARY) @@ -126,6 +117,7 @@ if (UNIX AND GLFW_BUILD_SHARED_LIBRARY) else() set(GLFW_LIB_NAME glfw3) endif() +set(GLFW_LIB_NAME_SUFFIX "") set_target_properties(glfw PROPERTIES OUTPUT_NAME ${GLFW_LIB_NAME} @@ -166,6 +158,8 @@ if (GLFW_BUILD_COCOA) endif() if (GLFW_BUILD_WAYLAND) + include(FindPkgConfig) + pkg_check_modules(Wayland REQUIRED wayland-client>=0.2.7 wayland-cursor>=0.2.7 @@ -245,17 +239,6 @@ if (UNIX AND NOT APPLE) endif() endif() -# Make GCC warn about declarations that VS 2010 and 2012 won't accept for all -# source files that VS will build (Clang ignores this because we set -std=c99) -if (CMAKE_C_COMPILER_ID STREQUAL "GNU") - set_source_files_properties(context.c init.c input.c monitor.c platform.c vulkan.c - window.c null_init.c null_joystick.c null_monitor.c - null_window.c win32_init.c win32_joystick.c win32_module.c - win32_monitor.c win32_time.c win32_thread.c win32_window.c - wgl_context.c egl_context.c osmesa_context.c PROPERTIES - COMPILE_FLAGS -Wdeclaration-after-statement) -endif() - if (WIN32) if (GLFW_USE_HYBRID_HPG) target_compile_definitions(glfw PRIVATE _GLFW_USE_HYBRID_HPG) @@ -300,25 +283,9 @@ if (MSVC OR CMAKE_C_SIMULATE_ID STREQUAL "MSVC") target_compile_definitions(glfw PRIVATE _CRT_SECURE_NO_WARNINGS) endif() -# Workaround for VS 2008 not shipping with stdint.h -if (MSVC90) - target_include_directories(glfw PUBLIC "${GLFW_SOURCE_DIR}/deps/vs2008") -endif() - -# Check for the DirectX 9 SDK as it is not included with VS 2008 -if (MSVC90) - include(CheckIncludeFile) - check_include_file(dinput.h DINPUT_H_FOUND) - if (NOT DINPUT_H_FOUND) - message(FATAL_ERROR "DirectX 9 headers not found; install DirectX 9 SDK") - endif() -endif() - # Workaround for -std=c99 on Linux disabling _DEFAULT_SOURCE (POSIX 2008 and more) -if (GLFW_BUILD_X11 OR GLFW_BUILD_WAYLAND) - if (CMAKE_SYSTEM_NAME STREQUAL "Linux") - target_compile_definitions(glfw PRIVATE _DEFAULT_SOURCE) - endif() +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_compile_definitions(glfw PRIVATE _DEFAULT_SOURCE) endif() if (GLFW_BUILD_SHARED_LIBRARY) @@ -337,6 +304,7 @@ if (GLFW_BUILD_SHARED_LIBRARY) # Add a suffix to the import library to avoid naming conflicts set_target_properties(glfw PROPERTIES IMPORT_SUFFIX "dll.lib") endif() + set (GLFW_LIB_NAME_SUFFIX "dll") target_compile_definitions(glfw INTERFACE GLFW_DLL) endif() diff --git a/src/external/glfw/src/cocoa_init.m b/src/external/glfw/src/cocoa_init.m index aa369f9c8..e75a55190 100644 --- a/src/external/glfw/src/cocoa_init.m +++ b/src/external/glfw/src/cocoa_init.m @@ -23,10 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" + +#if defined(_GLFW_COCOA) + #include // For MAXPATHLEN // Needed for _NSGetProgname @@ -492,78 +493,78 @@ GLFWbool _glfwConnectCocoa(int platformID, _GLFWplatform* platform) { const _GLFWplatform cocoa = { - GLFW_PLATFORM_COCOA, - _glfwInitCocoa, - _glfwTerminateCocoa, - _glfwGetCursorPosCocoa, - _glfwSetCursorPosCocoa, - _glfwSetCursorModeCocoa, - _glfwSetRawMouseMotionCocoa, - _glfwRawMouseMotionSupportedCocoa, - _glfwCreateCursorCocoa, - _glfwCreateStandardCursorCocoa, - _glfwDestroyCursorCocoa, - _glfwSetCursorCocoa, - _glfwGetScancodeNameCocoa, - _glfwGetKeyScancodeCocoa, - _glfwSetClipboardStringCocoa, - _glfwGetClipboardStringCocoa, - _glfwInitJoysticksCocoa, - _glfwTerminateJoysticksCocoa, - _glfwPollJoystickCocoa, - _glfwGetMappingNameCocoa, - _glfwUpdateGamepadGUIDCocoa, - _glfwFreeMonitorCocoa, - _glfwGetMonitorPosCocoa, - _glfwGetMonitorContentScaleCocoa, - _glfwGetMonitorWorkareaCocoa, - _glfwGetVideoModesCocoa, - _glfwGetVideoModeCocoa, - _glfwGetGammaRampCocoa, - _glfwSetGammaRampCocoa, - _glfwCreateWindowCocoa, - _glfwDestroyWindowCocoa, - _glfwSetWindowTitleCocoa, - _glfwSetWindowIconCocoa, - _glfwGetWindowPosCocoa, - _glfwSetWindowPosCocoa, - _glfwGetWindowSizeCocoa, - _glfwSetWindowSizeCocoa, - _glfwSetWindowSizeLimitsCocoa, - _glfwSetWindowAspectRatioCocoa, - _glfwGetFramebufferSizeCocoa, - _glfwGetWindowFrameSizeCocoa, - _glfwGetWindowContentScaleCocoa, - _glfwIconifyWindowCocoa, - _glfwRestoreWindowCocoa, - _glfwMaximizeWindowCocoa, - _glfwShowWindowCocoa, - _glfwHideWindowCocoa, - _glfwRequestWindowAttentionCocoa, - _glfwFocusWindowCocoa, - _glfwSetWindowMonitorCocoa, - _glfwWindowFocusedCocoa, - _glfwWindowIconifiedCocoa, - _glfwWindowVisibleCocoa, - _glfwWindowMaximizedCocoa, - _glfwWindowHoveredCocoa, - _glfwFramebufferTransparentCocoa, - _glfwGetWindowOpacityCocoa, - _glfwSetWindowResizableCocoa, - _glfwSetWindowDecoratedCocoa, - _glfwSetWindowFloatingCocoa, - _glfwSetWindowOpacityCocoa, - _glfwSetWindowMousePassthroughCocoa, - _glfwPollEventsCocoa, - _glfwWaitEventsCocoa, - _glfwWaitEventsTimeoutCocoa, - _glfwPostEmptyEventCocoa, - _glfwGetEGLPlatformCocoa, - _glfwGetEGLNativeDisplayCocoa, - _glfwGetEGLNativeWindowCocoa, - _glfwGetRequiredInstanceExtensionsCocoa, - _glfwGetPhysicalDevicePresentationSupportCocoa, - _glfwCreateWindowSurfaceCocoa, + .platformID = GLFW_PLATFORM_COCOA, + .init = _glfwInitCocoa, + .terminate = _glfwTerminateCocoa, + .getCursorPos = _glfwGetCursorPosCocoa, + .setCursorPos = _glfwSetCursorPosCocoa, + .setCursorMode = _glfwSetCursorModeCocoa, + .setRawMouseMotion = _glfwSetRawMouseMotionCocoa, + .rawMouseMotionSupported = _glfwRawMouseMotionSupportedCocoa, + .createCursor = _glfwCreateCursorCocoa, + .createStandardCursor = _glfwCreateStandardCursorCocoa, + .destroyCursor = _glfwDestroyCursorCocoa, + .setCursor = _glfwSetCursorCocoa, + .getScancodeName = _glfwGetScancodeNameCocoa, + .getKeyScancode = _glfwGetKeyScancodeCocoa, + .setClipboardString = _glfwSetClipboardStringCocoa, + .getClipboardString = _glfwGetClipboardStringCocoa, + .initJoysticks = _glfwInitJoysticksCocoa, + .terminateJoysticks = _glfwTerminateJoysticksCocoa, + .pollJoystick = _glfwPollJoystickCocoa, + .getMappingName = _glfwGetMappingNameCocoa, + .updateGamepadGUID = _glfwUpdateGamepadGUIDCocoa, + .freeMonitor = _glfwFreeMonitorCocoa, + .getMonitorPos = _glfwGetMonitorPosCocoa, + .getMonitorContentScale = _glfwGetMonitorContentScaleCocoa, + .getMonitorWorkarea = _glfwGetMonitorWorkareaCocoa, + .getVideoModes = _glfwGetVideoModesCocoa, + .getVideoMode = _glfwGetVideoModeCocoa, + .getGammaRamp = _glfwGetGammaRampCocoa, + .setGammaRamp = _glfwSetGammaRampCocoa, + .createWindow = _glfwCreateWindowCocoa, + .destroyWindow = _glfwDestroyWindowCocoa, + .setWindowTitle = _glfwSetWindowTitleCocoa, + .setWindowIcon = _glfwSetWindowIconCocoa, + .getWindowPos = _glfwGetWindowPosCocoa, + .setWindowPos = _glfwSetWindowPosCocoa, + .getWindowSize = _glfwGetWindowSizeCocoa, + .setWindowSize = _glfwSetWindowSizeCocoa, + .setWindowSizeLimits = _glfwSetWindowSizeLimitsCocoa, + .setWindowAspectRatio = _glfwSetWindowAspectRatioCocoa, + .getFramebufferSize = _glfwGetFramebufferSizeCocoa, + .getWindowFrameSize = _glfwGetWindowFrameSizeCocoa, + .getWindowContentScale = _glfwGetWindowContentScaleCocoa, + .iconifyWindow = _glfwIconifyWindowCocoa, + .restoreWindow = _glfwRestoreWindowCocoa, + .maximizeWindow = _glfwMaximizeWindowCocoa, + .showWindow = _glfwShowWindowCocoa, + .hideWindow = _glfwHideWindowCocoa, + .requestWindowAttention = _glfwRequestWindowAttentionCocoa, + .focusWindow = _glfwFocusWindowCocoa, + .setWindowMonitor = _glfwSetWindowMonitorCocoa, + .windowFocused = _glfwWindowFocusedCocoa, + .windowIconified = _glfwWindowIconifiedCocoa, + .windowVisible = _glfwWindowVisibleCocoa, + .windowMaximized = _glfwWindowMaximizedCocoa, + .windowHovered = _glfwWindowHoveredCocoa, + .framebufferTransparent = _glfwFramebufferTransparentCocoa, + .getWindowOpacity = _glfwGetWindowOpacityCocoa, + .setWindowResizable = _glfwSetWindowResizableCocoa, + .setWindowDecorated = _glfwSetWindowDecoratedCocoa, + .setWindowFloating = _glfwSetWindowFloatingCocoa, + .setWindowOpacity = _glfwSetWindowOpacityCocoa, + .setWindowMousePassthrough = _glfwSetWindowMousePassthroughCocoa, + .pollEvents = _glfwPollEventsCocoa, + .waitEvents = _glfwWaitEventsCocoa, + .waitEventsTimeout = _glfwWaitEventsTimeoutCocoa, + .postEmptyEvent = _glfwPostEmptyEventCocoa, + .getEGLPlatform = _glfwGetEGLPlatformCocoa, + .getEGLNativeDisplay = _glfwGetEGLNativeDisplayCocoa, + .getEGLNativeWindow = _glfwGetEGLNativeWindowCocoa, + .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsCocoa, + .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportCocoa, + .createWindowSurface = _glfwCreateWindowSurfaceCocoa }; *platform = cocoa; @@ -690,3 +691,5 @@ void _glfwTerminateCocoa(void) } // autoreleasepool } +#endif // _GLFW_COCOA + diff --git a/src/external/glfw/src/cocoa_joystick.h b/src/external/glfw/src/cocoa_joystick.h index fc7ba7a22..2f46dfcbe 100644 --- a/src/external/glfw/src/cocoa_joystick.h +++ b/src/external/glfw/src/cocoa_joystick.h @@ -31,8 +31,6 @@ #define GLFW_COCOA_JOYSTICK_STATE _GLFWjoystickNS ns; #define GLFW_COCOA_LIBRARY_JOYSTICK_STATE -#define GLFW_BUILD_COCOA_MAPPINGS - // Cocoa-specific per-joystick data // typedef struct _GLFWjoystickNS diff --git a/src/external/glfw/src/cocoa_joystick.m b/src/external/glfw/src/cocoa_joystick.m index ebcf5fdb9..d5de47939 100644 --- a/src/external/glfw/src/cocoa_joystick.m +++ b/src/external/glfw/src/cocoa_joystick.m @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_COCOA) + #include #include #include @@ -134,6 +134,14 @@ static void matchCallback(void* context, return; } + CFArrayRef elements = + IOHIDDeviceCopyMatchingElements(device, NULL, kIOHIDOptionsTypeNone); + + // It is reportedly possible for this to fail on macOS 13 Ventura + // if the application does not have input monitoring permissions + if (!elements) + return; + axes = CFArrayCreateMutable(NULL, 0, NULL); buttons = CFArrayCreateMutable(NULL, 0, NULL); hats = CFArrayCreateMutable(NULL, 0, NULL); @@ -177,9 +185,6 @@ static void matchCallback(void* context, name[8], name[9], name[10]); } - CFArrayRef elements = - IOHIDDeviceCopyMatchingElements(device, NULL, kIOHIDOptionsTypeNone); - for (CFIndex i = 0; i < CFArrayGetCount(elements); i++) { IOHIDElementRef native = (IOHIDElementRef) @@ -476,3 +481,5 @@ void _glfwUpdateGamepadGUIDCocoa(char* guid) } } +#endif // _GLFW_COCOA + diff --git a/src/external/glfw/src/cocoa_monitor.m b/src/external/glfw/src/cocoa_monitor.m index 64d9eb2c7..641d5f0b8 100644 --- a/src/external/glfw/src/cocoa_monitor.m +++ b/src/external/glfw/src/cocoa_monitor.m @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_COCOA) + #include #include #include @@ -549,13 +549,20 @@ GLFWvidmode* _glfwGetVideoModesCocoa(_GLFWmonitor* monitor, int* count) } // autoreleasepool } -void _glfwGetVideoModeCocoa(_GLFWmonitor* monitor, GLFWvidmode *mode) +GLFWbool _glfwGetVideoModeCocoa(_GLFWmonitor* monitor, GLFWvidmode *mode) { @autoreleasepool { CGDisplayModeRef native = CGDisplayCopyDisplayMode(monitor->ns.displayID); + if (!native) + { + _glfwInputError(GLFW_PLATFORM_ERROR, "Cocoa: Failed to query display mode"); + return GLFW_FALSE; + } + *mode = vidmodeFromCGDisplayMode(native, monitor->ns.fallbackRefreshRate); CGDisplayModeRelease(native); + return GLFW_TRUE; } // autoreleasepool } @@ -622,6 +629,15 @@ GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(kCGNullDirectDisplay); + + if (_glfw.platform.platformID != GLFW_PLATFORM_COCOA) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Cocoa: Platform not initialized"); + return kCGNullDirectDisplay; + } + return monitor->ns.displayID; } +#endif // _GLFW_COCOA + diff --git a/src/external/glfw/src/cocoa_platform.h b/src/external/glfw/src/cocoa_platform.h index 9f7d191db..399145542 100644 --- a/src/external/glfw/src/cocoa_platform.h +++ b/src/external/glfw/src/cocoa_platform.h @@ -145,7 +145,7 @@ typedef struct _GLFWwindowNS GLFWbool maximized; GLFWbool occluded; - GLFWbool retina; + GLFWbool scaleFramebuffer; // Cached window properties to filter out duplicate events int width, height; @@ -281,7 +281,7 @@ void _glfwGetMonitorPosCocoa(_GLFWmonitor* monitor, int* xpos, int* ypos); void _glfwGetMonitorContentScaleCocoa(_GLFWmonitor* monitor, float* xscale, float* yscale); void _glfwGetMonitorWorkareaCocoa(_GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); GLFWvidmode* _glfwGetVideoModesCocoa(_GLFWmonitor* monitor, int* count); -void _glfwGetVideoModeCocoa(_GLFWmonitor* monitor, GLFWvidmode* mode); +GLFWbool _glfwGetVideoModeCocoa(_GLFWmonitor* monitor, GLFWvidmode* mode); GLFWbool _glfwGetGammaRampCocoa(_GLFWmonitor* monitor, GLFWgammaramp* ramp); void _glfwSetGammaRampCocoa(_GLFWmonitor* monitor, const GLFWgammaramp* ramp); diff --git a/src/external/glfw/src/cocoa_time.c b/src/external/glfw/src/cocoa_time.c index c2bf8edaa..d56f145ff 100644 --- a/src/external/glfw/src/cocoa_time.c +++ b/src/external/glfw/src/cocoa_time.c @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_COCOA_TIMER) + #include @@ -53,3 +53,5 @@ uint64_t _glfwPlatformGetTimerFrequency(void) return _glfw.timer.ns.frequency; } +#endif // GLFW_BUILD_COCOA_TIMER + diff --git a/src/external/glfw/src/cocoa_window.m b/src/external/glfw/src/cocoa_window.m index daac39b3b..0dcf0a38d 100644 --- a/src/external/glfw/src/cocoa_window.m +++ b/src/external/glfw/src/cocoa_window.m @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_COCOA) + #include #include @@ -309,10 +309,15 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; - (void)windowDidChangeOcclusionState:(NSNotification* )notification { - if ([window->ns.object occlusionState] & NSWindowOcclusionStateVisible) - window->ns.occluded = GLFW_FALSE; - else - window->ns.occluded = GLFW_TRUE; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1090 + if ([window->ns.object respondsToSelector:@selector(occlusionState)]) + { + if ([window->ns.object occlusionState] & NSWindowOcclusionStateVisible) + window->ns.occluded = GLFW_FALSE; + else + window->ns.occluded = GLFW_TRUE; + } +#endif } @end @@ -508,7 +513,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; if (xscale != window->ns.xscale || yscale != window->ns.yscale) { - if (window->ns.retina && window->ns.layer) + if (window->ns.scaleFramebuffer && window->ns.layer) [window->ns.layer setContentsScale:[window->ns.object backingScaleFactor]]; window->ns.xscale = xscale; @@ -867,7 +872,7 @@ static GLFWbool createNativeWindow(_GLFWwindow* window, [window->ns.object setFrameAutosaveName:@(wndconfig->ns.frameName)]; window->ns.view = [[GLFWContentView alloc] initWithGlfwWindow:window]; - window->ns.retina = wndconfig->ns.retina; + window->ns.scaleFramebuffer = wndconfig->scaleFramebuffer; if (fbconfig->transparent) { @@ -1277,7 +1282,7 @@ void _glfwSetWindowMonitorCocoa(_GLFWwindow* window, if (window->monitor) { - styleMask &= ~(NSWindowStyleMaskTitled | NSWindowStyleMaskClosable); + styleMask &= ~(NSWindowStyleMaskTitled | NSWindowStyleMaskClosable | NSWindowStyleMaskResizable); styleMask |= NSWindowStyleMaskBorderless; } else @@ -1652,14 +1657,15 @@ const char* _glfwGetScancodeNameCocoa(int scancode) { @autoreleasepool { - if (scancode < 0 || scancode > 0xff || - _glfw.ns.keycodes[scancode] == GLFW_KEY_UNKNOWN) + if (scancode < 0 || scancode > 0xff) { _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); return NULL; } const int key = _glfw.ns.keycodes[scancode]; + if (key == GLFW_KEY_UNKNOWN) + return NULL; UInt32 deadKeyState = 0; UniChar characters[4]; @@ -1963,7 +1969,7 @@ VkResult _glfwCreateWindowSurfaceCocoa(VkInstance instance, return VK_ERROR_EXTENSION_NOT_PRESENT; } - if (window->ns.retina) + if (window->ns.scaleFramebuffer) [window->ns.layer setContentsScale:[window->ns.object backingScaleFactor]]; [window->ns.view setLayer:window->ns.layer]; @@ -2041,9 +2047,26 @@ GLFWAPI id glfwGetCocoaWindow(GLFWwindow* handle) { _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Cocoa: Platform not initialized"); - return NULL; + return nil; } return window->ns.object; } +GLFWAPI id glfwGetCocoaView(GLFWwindow* handle) +{ + _GLFWwindow* window = (_GLFWwindow*) handle; + _GLFW_REQUIRE_INIT_OR_RETURN(nil); + + if (_glfw.platform.platformID != GLFW_PLATFORM_COCOA) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, + "Cocoa: Platform not initialized"); + return nil; + } + + return window->ns.view; +} + +#endif // _GLFW_COCOA + diff --git a/src/external/glfw/src/context.c b/src/external/glfw/src/context.c index 33b399c9b..cc1fac4f3 100644 --- a/src/external/glfw/src/context.c +++ b/src/external/glfw/src/context.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" @@ -363,6 +361,8 @@ GLFWbool _glfwRefreshContextAttribs(_GLFWwindow* window, previous = _glfwPlatformGetTls(&_glfw.contextSlot); glfwMakeContextCurrent((GLFWwindow*) window); + if (_glfwPlatformGetTls(&_glfw.contextSlot) != window) + return GLFW_FALSE; window->context.GetIntegerv = (PFNGLGETINTEGERVPROC) window->context.getProcAddress("glGetIntegerv"); diff --git a/src/external/glfw/src/egl_context.c b/src/external/glfw/src/egl_context.c index bc5f3e600..ef65dd350 100644 --- a/src/external/glfw/src/egl_context.c +++ b/src/external/glfw/src/egl_context.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" @@ -88,13 +86,30 @@ static int getEGLConfigAttrib(EGLConfig config, int attrib) // Return the EGLConfig most closely matching the specified hints // static GLFWbool chooseEGLConfig(const _GLFWctxconfig* ctxconfig, - const _GLFWfbconfig* desired, + const _GLFWfbconfig* fbconfig, EGLConfig* result) { EGLConfig* nativeConfigs; _GLFWfbconfig* usableConfigs; const _GLFWfbconfig* closest; - int i, nativeCount, usableCount; + int i, nativeCount, usableCount, apiBit; + GLFWbool wrongApiAvailable = GLFW_FALSE; + + if (ctxconfig->client == GLFW_OPENGL_ES_API) + { + if (ctxconfig->major == 1) + apiBit = EGL_OPENGL_ES_BIT; + else + apiBit = EGL_OPENGL_ES2_BIT; + } + else + apiBit = EGL_OPENGL_BIT; + + if (fbconfig->stereo) + { + _glfwInputError(GLFW_FORMAT_UNAVAILABLE, "EGL: Stereo rendering not supported"); + return GLFW_FALSE; + } eglGetConfigs(_glfw.egl.display, NULL, 0, &nativeCount); if (!nativeCount) @@ -132,7 +147,7 @@ static GLFWbool chooseEGLConfig(const _GLFWctxconfig* ctxconfig, if (!vi.visualid) continue; - if (desired->transparent) + if (fbconfig->transparent) { int count; XVisualInfo* vis = @@ -146,23 +161,10 @@ static GLFWbool chooseEGLConfig(const _GLFWctxconfig* ctxconfig, } #endif // _GLFW_X11 - if (ctxconfig->client == GLFW_OPENGL_ES_API) + if (!(getEGLConfigAttrib(n, EGL_RENDERABLE_TYPE) & apiBit)) { - if (ctxconfig->major == 1) - { - if (!(getEGLConfigAttrib(n, EGL_RENDERABLE_TYPE) & EGL_OPENGL_ES_BIT)) - continue; - } - else - { - if (!(getEGLConfigAttrib(n, EGL_RENDERABLE_TYPE) & EGL_OPENGL_ES2_BIT)) - continue; - } - } - else if (ctxconfig->client == GLFW_OPENGL_API) - { - if (!(getEGLConfigAttrib(n, EGL_RENDERABLE_TYPE) & EGL_OPENGL_BIT)) - continue; + wrongApiAvailable = GLFW_TRUE; + continue; } u->redBits = getEGLConfigAttrib(n, EGL_RED_SIZE); @@ -182,22 +184,51 @@ static GLFWbool chooseEGLConfig(const _GLFWctxconfig* ctxconfig, // with an alpha channel to ensure the buffer is opaque if (!_glfw.egl.EXT_present_opaque) { - if (!desired->transparent && u->alphaBits > 0) + if (!fbconfig->transparent && u->alphaBits > 0) continue; } } #endif // _GLFW_WAYLAND u->samples = getEGLConfigAttrib(n, EGL_SAMPLES); - u->doublebuffer = desired->doublebuffer; + u->doublebuffer = fbconfig->doublebuffer; u->handle = (uintptr_t) n; usableCount++; } - closest = _glfwChooseFBConfig(desired, usableConfigs, usableCount); + closest = _glfwChooseFBConfig(fbconfig, usableConfigs, usableCount); if (closest) *result = (EGLConfig) closest->handle; + else + { + if (wrongApiAvailable) + { + if (ctxconfig->client == GLFW_OPENGL_ES_API) + { + if (ctxconfig->major == 1) + { + _glfwInputError(GLFW_API_UNAVAILABLE, + "EGL: Failed to find support for OpenGL ES 1.x"); + } + else + { + _glfwInputError(GLFW_API_UNAVAILABLE, + "EGL: Failed to find support for OpenGL ES 2 or later"); + } + } + else + { + _glfwInputError(GLFW_API_UNAVAILABLE, + "EGL: Failed to find support for OpenGL"); + } + } + else + { + _glfwInputError(GLFW_FORMAT_UNAVAILABLE, + "EGL: Failed to find a suitable EGLConfig"); + } + } _glfw_free(nativeConfigs); _glfw_free(usableConfigs); @@ -278,6 +309,7 @@ static int extensionSupportedEGL(const char* extension) static GLFWglproc getProcAddressEGL(const char* procname) { _GLFWwindow* window = _glfwPlatformGetTls(&_glfw.contextSlot); + assert(window != NULL); if (window->context.egl.client) { @@ -550,11 +582,7 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window, share = ctxconfig->share->context.egl.handle; if (!chooseEGLConfig(ctxconfig, fbconfig, &config)) - { - _glfwInputError(GLFW_FORMAT_UNAVAILABLE, - "EGL: Failed to find a suitable EGLConfig"); return GLFW_FALSE; - } if (ctxconfig->client == GLFW_OPENGL_ES_API) { @@ -611,18 +639,18 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window, flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR; } - if (ctxconfig->noerror) - { - if (_glfw.egl.KHR_create_context_no_error) - SET_ATTRIB(EGL_CONTEXT_OPENGL_NO_ERROR_KHR, GLFW_TRUE); - } - if (ctxconfig->major != 1 || ctxconfig->minor != 0) { SET_ATTRIB(EGL_CONTEXT_MAJOR_VERSION_KHR, ctxconfig->major); SET_ATTRIB(EGL_CONTEXT_MINOR_VERSION_KHR, ctxconfig->minor); } + if (ctxconfig->noerror) + { + if (_glfw.egl.KHR_create_context_no_error) + SET_ATTRIB(EGL_CONTEXT_OPENGL_NO_ERROR_KHR, GLFW_TRUE); + } + if (mask) SET_ATTRIB(EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, mask); @@ -674,8 +702,11 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window, if (!fbconfig->doublebuffer) SET_ATTRIB(EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER); - if (_glfw.egl.EXT_present_opaque) - SET_ATTRIB(EGL_PRESENT_OPAQUE_EXT, !fbconfig->transparent); + if (_glfw.platform.platformID == GLFW_PLATFORM_WAYLAND) + { + if (_glfw.egl.EXT_present_opaque) + SET_ATTRIB(EGL_PRESENT_OPAQUE_EXT, !fbconfig->transparent); + } SET_ATTRIB(EGL_NONE, EGL_NONE); @@ -815,11 +846,7 @@ GLFWbool _glfwChooseVisualEGL(const _GLFWwndconfig* wndconfig, const long vimask = VisualScreenMask | VisualIDMask; if (!chooseEGLConfig(ctxconfig, fbconfig, &native)) - { - _glfwInputError(GLFW_FORMAT_UNAVAILABLE, - "EGL: Failed to find a suitable EGLConfig"); return GLFW_FALSE; - } eglGetConfigAttrib(_glfw.egl.display, native, EGL_NATIVE_VISUAL_ID, &visualID); diff --git a/src/external/glfw/src/glx_context.c b/src/external/glfw/src/glx_context.c index 3c38807f3..7082682be 100644 --- a/src/external/glfw/src/glx_context.c +++ b/src/external/glfw/src/glx_context.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_X11) + #include #include #include @@ -190,6 +190,7 @@ static void swapBuffersGLX(_GLFWwindow* window) static void swapIntervalGLX(int interval) { _GLFWwindow* window = _glfwPlatformGetTls(&_glfw.contextSlot); + assert(window != NULL); if (_glfw.glx.EXT_swap_control) { @@ -714,3 +715,5 @@ GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* handle) return window->context.glx.window; } +#endif // _GLFW_X11 + diff --git a/src/external/glfw/src/init.c b/src/external/glfw/src/init.c index d07a492ec..532264e16 100644 --- a/src/external/glfw/src/init.c +++ b/src/external/glfw/src/init.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" @@ -51,16 +49,22 @@ static GLFWerrorfun _glfwErrorCallback; static GLFWallocator _glfwInitAllocator; static _GLFWinitconfig _glfwInitHints = { - GLFW_TRUE, // hat buttons - GLFW_ANGLE_PLATFORM_TYPE_NONE, // ANGLE backend - GLFW_ANY_PLATFORM, // preferred platform - NULL, // vkGetInstanceProcAddr function + .hatButtons = GLFW_TRUE, + .angleType = GLFW_ANGLE_PLATFORM_TYPE_NONE, + .platformID = GLFW_ANY_PLATFORM, + .vulkanLoader = NULL, + .ns = { - GLFW_TRUE, // macOS menu bar - GLFW_TRUE // macOS bundle chdir + .menubar = GLFW_TRUE, + .chdir = GLFW_TRUE }, + .x11 = { - GLFW_TRUE, // X11 XCB Vulkan surface + .xcbVulkanSurface = GLFW_TRUE, + }, + .wl = + { + .libdecorMode = GLFW_WAYLAND_PREFER_LIBDECOR }, }; @@ -242,30 +246,6 @@ int _glfw_max(int a, int b) return a > b ? a : b; } -float _glfw_fminf(float a, float b) -{ - if (a != a) - return b; - else if (b != b) - return a; - else if (a < b) - return a; - else - return b; -} - -float _glfw_fmaxf(float a, float b) -{ - if (a != a) - return b; - else if (b != b) - return a; - else if (a > b) - return a; - else - return b; -} - void* _glfw_calloc(size_t count, size_t size) { if (count && size) @@ -479,6 +459,9 @@ GLFWAPI void glfwInitHint(int hint, int value) case GLFW_X11_XCB_VULKAN_SURFACE: _glfwInitHints.x11.xcbVulkanSurface = value; return; + case GLFW_WAYLAND_LIBDECOR: + _glfwInitHints.wl.libdecorMode = value; + return; } _glfwInputError(GLFW_INVALID_ENUM, diff --git a/src/external/glfw/src/input.c b/src/external/glfw/src/input.c index 36128e10c..7b3b34028 100644 --- a/src/external/glfw/src/input.c +++ b/src/external/glfw/src/input.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" #include "mappings.h" @@ -462,10 +460,11 @@ void _glfwInputJoystickHat(_GLFWjoystick* js, int hat, char value) assert(hat >= 0); assert(hat < js->hatCount); - // Valid hat values only use the least significant nibble and have at most two bits - // set, which can be considered adjacent plus an arbitrary rotation within the nibble + // Valid hat values only use the least significant nibble assert((value & 0xf0) == 0); - assert((value & ((value << 2) | (value >> 2))) == 0); + // Valid hat values do not have both bits of an axis set + assert((value & GLFW_HAT_LEFT) == 0 || (value & GLFW_HAT_RIGHT) == 0); + assert((value & GLFW_HAT_UP) == 0 || (value & GLFW_HAT_DOWN) == 0); base = js->buttonCount + hat * 4; @@ -701,6 +700,12 @@ GLFWAPI const char* glfwGetKeyName(int key, int scancode) if (key != GLFW_KEY_UNKNOWN) { + if (key < GLFW_KEY_SPACE || key > GLFW_KEY_LAST) + { + _glfwInputError(GLFW_INVALID_ENUM, "Invalid key %i", key); + return NULL; + } + if (key != GLFW_KEY_KP_EQUAL && (key < GLFW_KEY_KP_0 || key > GLFW_KEY_KP_ADD) && (key < GLFW_KEY_APOSTROPHE || key > GLFW_KEY_WORLD_2)) @@ -716,12 +721,12 @@ GLFWAPI const char* glfwGetKeyName(int key, int scancode) GLFWAPI int glfwGetKeyScancode(int key) { - _GLFW_REQUIRE_INIT_OR_RETURN(-1); + _GLFW_REQUIRE_INIT_OR_RETURN(0); if (key < GLFW_KEY_SPACE || key > GLFW_KEY_LAST) { _glfwInputError(GLFW_INVALID_ENUM, "Invalid key %i", key); - return GLFW_RELEASE; + return -1; } return _glfw.platform.getKeyScancode(key); @@ -1433,7 +1438,7 @@ GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state) if (e->type == _GLFW_JOYSTICK_AXIS) { const float value = js->axes[e->index] * e->axisScale + e->axisOffset; - state->axes[i] = _glfw_fminf(_glfw_fmaxf(value, -1.f), 1.f); + state->axes[i] = fminf(fmaxf(value, -1.f), 1.f); } else if (e->type == _GLFW_JOYSTICK_HATBIT) { diff --git a/src/external/glfw/src/internal.h b/src/external/glfw/src/internal.h index 5aa22f595..887335935 100644 --- a/src/external/glfw/src/internal.h +++ b/src/external/glfw/src/internal.h @@ -108,12 +108,6 @@ typedef const GLubyte* (APIENTRY * PFNGLGETSTRINGPROC)(GLenum); typedef void (APIENTRY * PFNGLGETINTEGERVPROC)(GLenum,GLint*); typedef const GLubyte* (APIENTRY * PFNGLGETSTRINGIPROC)(GLenum,GLuint); -#if defined(_GLFW_WIN32) - #define EGLAPIENTRY __stdcall -#else - #define EGLAPIENTRY -#endif - #define EGL_SUCCESS 0x3000 #define EGL_NOT_INITIALIZED 0x3001 #define EGL_BAD_ACCESS 0x3002 @@ -200,22 +194,22 @@ typedef void* EGLNativeDisplayType; typedef void* EGLNativeWindowType; // EGL function pointer typedefs -typedef EGLBoolean (EGLAPIENTRY * PFN_eglGetConfigAttrib)(EGLDisplay,EGLConfig,EGLint,EGLint*); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglGetConfigs)(EGLDisplay,EGLConfig*,EGLint,EGLint*); -typedef EGLDisplay (EGLAPIENTRY * PFN_eglGetDisplay)(EGLNativeDisplayType); -typedef EGLint (EGLAPIENTRY * PFN_eglGetError)(void); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglInitialize)(EGLDisplay,EGLint*,EGLint*); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglTerminate)(EGLDisplay); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglBindAPI)(EGLenum); -typedef EGLContext (EGLAPIENTRY * PFN_eglCreateContext)(EGLDisplay,EGLConfig,EGLContext,const EGLint*); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglDestroySurface)(EGLDisplay,EGLSurface); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglDestroyContext)(EGLDisplay,EGLContext); -typedef EGLSurface (EGLAPIENTRY * PFN_eglCreateWindowSurface)(EGLDisplay,EGLConfig,EGLNativeWindowType,const EGLint*); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglMakeCurrent)(EGLDisplay,EGLSurface,EGLSurface,EGLContext); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglSwapBuffers)(EGLDisplay,EGLSurface); -typedef EGLBoolean (EGLAPIENTRY * PFN_eglSwapInterval)(EGLDisplay,EGLint); -typedef const char* (EGLAPIENTRY * PFN_eglQueryString)(EGLDisplay,EGLint); -typedef GLFWglproc (EGLAPIENTRY * PFN_eglGetProcAddress)(const char*); +typedef EGLBoolean (APIENTRY * PFN_eglGetConfigAttrib)(EGLDisplay,EGLConfig,EGLint,EGLint*); +typedef EGLBoolean (APIENTRY * PFN_eglGetConfigs)(EGLDisplay,EGLConfig*,EGLint,EGLint*); +typedef EGLDisplay (APIENTRY * PFN_eglGetDisplay)(EGLNativeDisplayType); +typedef EGLint (APIENTRY * PFN_eglGetError)(void); +typedef EGLBoolean (APIENTRY * PFN_eglInitialize)(EGLDisplay,EGLint*,EGLint*); +typedef EGLBoolean (APIENTRY * PFN_eglTerminate)(EGLDisplay); +typedef EGLBoolean (APIENTRY * PFN_eglBindAPI)(EGLenum); +typedef EGLContext (APIENTRY * PFN_eglCreateContext)(EGLDisplay,EGLConfig,EGLContext,const EGLint*); +typedef EGLBoolean (APIENTRY * PFN_eglDestroySurface)(EGLDisplay,EGLSurface); +typedef EGLBoolean (APIENTRY * PFN_eglDestroyContext)(EGLDisplay,EGLContext); +typedef EGLSurface (APIENTRY * PFN_eglCreateWindowSurface)(EGLDisplay,EGLConfig,EGLNativeWindowType,const EGLint*); +typedef EGLBoolean (APIENTRY * PFN_eglMakeCurrent)(EGLDisplay,EGLSurface,EGLSurface,EGLContext); +typedef EGLBoolean (APIENTRY * PFN_eglSwapBuffers)(EGLDisplay,EGLSurface); +typedef EGLBoolean (APIENTRY * PFN_eglSwapInterval)(EGLDisplay,EGLint); +typedef const char* (APIENTRY * PFN_eglQueryString)(EGLDisplay,EGLint); +typedef GLFWglproc (APIENTRY * PFN_eglGetProcAddress)(const char*); #define eglGetConfigAttrib _glfw.egl.GetConfigAttrib #define eglGetConfigs _glfw.egl.GetConfigs #define eglGetDisplay _glfw.egl.GetDisplay @@ -233,8 +227,8 @@ typedef GLFWglproc (EGLAPIENTRY * PFN_eglGetProcAddress)(const char*); #define eglQueryString _glfw.egl.QueryString #define eglGetProcAddress _glfw.egl.GetProcAddress -typedef EGLDisplay (EGLAPIENTRY * PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum,void*,const EGLint*); -typedef EGLSurface (EGLAPIENTRY * PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)(EGLDisplay,EGLConfig,void*,const EGLint*); +typedef EGLDisplay (APIENTRY * PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum,void*,const EGLint*); +typedef EGLSurface (APIENTRY * PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)(EGLDisplay,EGLConfig,void*,const EGLint*); #define eglGetPlatformDisplayEXT _glfw.egl.GetPlatformDisplayEXT #define eglCreatePlatformWindowSurfaceEXT _glfw.egl.CreatePlatformWindowSurfaceEXT @@ -330,12 +324,8 @@ typedef VkResult (APIENTRY * PFN_vkEnumerateInstanceExtensionProperties)(const c #include "platform.h" -// Constructs a version number string from the public header macros -#define _GLFW_CONCAT_VERSION(m, n, r) #m "." #n "." #r -#define _GLFW_MAKE_VERSION(m, n, r) _GLFW_CONCAT_VERSION(m, n, r) -#define _GLFW_VERSION_NUMBER _GLFW_MAKE_VERSION(GLFW_VERSION_MAJOR, \ - GLFW_VERSION_MINOR, \ - GLFW_VERSION_REVISION) +#define GLFW_NATIVE_INCLUDE_NONE +#include "../include/GLFW/glfw3native.h" // Checks for whether the library has been initialized #define _GLFW_REQUIRE_INIT() \ @@ -386,6 +376,9 @@ struct _GLFWinitconfig struct { GLFWbool xcbVulkanSurface; } x11; + struct { + int libdecorMode; + } wl; }; // Window configuration @@ -412,8 +405,8 @@ struct _GLFWwndconfig GLFWbool focusOnShow; GLFWbool mousePassthrough; GLFWbool scaleToMonitor; + GLFWbool scaleFramebuffer; struct { - GLFWbool retina; char frameName[256]; } ns; struct { @@ -422,6 +415,7 @@ struct _GLFWwndconfig } x11; struct { GLFWbool keymenu; + GLFWbool showDefault; } win32; struct { char appId[256]; @@ -541,6 +535,7 @@ struct _GLFWwindow GLFWvidmode videoMode; _GLFWmonitor* monitor; _GLFWcursor* cursor; + char* title; int minwidth, minheight; int maxwidth, maxheight; @@ -705,7 +700,7 @@ struct _GLFWplatform void (*getMonitorContentScale)(_GLFWmonitor*,float*,float*); void (*getMonitorWorkarea)(_GLFWmonitor*,int*,int*,int*,int*); GLFWvidmode* (*getVideoModes)(_GLFWmonitor*,int*); - void (*getVideoMode)(_GLFWmonitor*,GLFWvidmode*); + GLFWbool (*getVideoMode)(_GLFWmonitor*,GLFWvidmode*); GLFWbool (*getGammaRamp)(_GLFWmonitor*,GLFWgammaramp*); void (*setGammaRamp)(_GLFWmonitor*,const GLFWgammaramp*); // window @@ -1007,8 +1002,6 @@ char** _glfwParseUriList(char* text, int* count); char* _glfw_strdup(const char* source); int _glfw_min(int a, int b); int _glfw_max(int a, int b); -float _glfw_fminf(float a, float b); -float _glfw_fmaxf(float a, float b); void* _glfw_calloc(size_t count, size_t size); void* _glfw_realloc(void* pointer, size_t size); diff --git a/src/external/glfw/src/linux_joystick.c b/src/external/glfw/src/linux_joystick.c index 366bda2df..07d41d37a 100644 --- a/src/external/glfw/src/linux_joystick.c +++ b/src/external/glfw/src/linux_joystick.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_LINUX_JOYSTICK) + #include #include #include @@ -135,7 +135,7 @@ static GLFWbool openJoystickDevice(const char* path) } _GLFWjoystickLinux linjs = {0}; - linjs.fd = open(path, O_RDONLY | O_NONBLOCK); + linjs.fd = open(path, O_RDONLY | O_NONBLOCK | O_CLOEXEC); if (linjs.fd == -1) return GLFW_FALSE; @@ -324,7 +324,8 @@ GLFWbool _glfwInitJoysticksLinux(void) // Continue without device connection notifications if inotify fails - if (regcomp(&_glfw.linjs.regex, "^event[0-9]\\+$", 0) != 0) + _glfw.linjs.regexCompiled = (regcomp(&_glfw.linjs.regex, "^event[0-9]\\+$", 0) == 0); + if (!_glfw.linjs.regexCompiled) { _glfwInputError(GLFW_PLATFORM_ERROR, "Linux: Failed to compile regex"); return GLFW_FALSE; @@ -376,8 +377,10 @@ void _glfwTerminateJoysticksLinux(void) inotify_rm_watch(_glfw.linjs.inotify, _glfw.linjs.watch); close(_glfw.linjs.inotify); - regfree(&_glfw.linjs.regex); } + + if (_glfw.linjs.regexCompiled) + regfree(&_glfw.linjs.regex); } GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode) @@ -429,3 +432,5 @@ void _glfwUpdateGamepadGUIDLinux(char* guid) { } +#endif // GLFW_BUILD_LINUX_JOYSTICK + diff --git a/src/external/glfw/src/linux_joystick.h b/src/external/glfw/src/linux_joystick.h index f898b2b9f..64462b04f 100644 --- a/src/external/glfw/src/linux_joystick.h +++ b/src/external/glfw/src/linux_joystick.h @@ -31,8 +31,6 @@ #define GLFW_LINUX_JOYSTICK_STATE _GLFWjoystickLinux linjs; #define GLFW_LINUX_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux linjs; -#define GLFW_BUILD_LINUX_MAPPINGS - // Linux-specific joystick data // typedef struct _GLFWjoystickLinux @@ -52,6 +50,7 @@ typedef struct _GLFWlibraryLinux int inotify; int watch; regex_t regex; + GLFWbool regexCompiled; GLFWbool dropped; } _GLFWlibraryLinux; diff --git a/src/external/glfw/src/mappings.h b/src/external/glfw/src/mappings.h index f3a778baa..270fa4cd8 100644 --- a/src/external/glfw/src/mappings.h +++ b/src/external/glfw/src/mappings.h @@ -60,82 +60,54 @@ const char* _glfwDefaultMappings[] = { -#if defined(GLFW_BUILD_WIN32_MAPPINGS) -"03000000300f00000a01000000000000,3 In 1 Conversion Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b8,x:b3,y:b0,platform:Windows,", -"03000000fa2d00000100000000000000,3dRudder Foot Motion Controller,leftx:a0,lefty:a1,rightx:a5,righty:a2,platform:Windows,", -"03000000d0160000040d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows,", -"03000000d0160000050d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows,", -"03000000d0160000060d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows,", -"03000000d0160000070d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows,", -"03000000d0160000600a000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows,", -"03000000c82d00000031000000000000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00000531000000000000,8BitDo Adapter 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00000951000000000000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightx:a3,righty:a5,start:b11,platform:Windows,", -"03000000008000000210000000000000,8BitDo F30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"030000003512000011ab000000000000,8BitDo F30 Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000c82d00001028000000000000,8BitDo F30 Arcade Joystick,a:b0,b:b1,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d000011ab000000000000,8BitDo F30 Arcade Joystick,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000801000000900000000000000,8BitDo F30 Arcade Stick,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", +#if defined(_GLFW_WIN32) +"03000000fa2d00000100000000000000,3DRUDDER,leftx:a0,lefty:a1,rightx:a5,righty:a2,platform:Windows,", +"03000000c82d00002038000000000000,8bitdo,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000951000000000000,8BitDo Dogbone Modkit,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Windows,", +"03000000c82d000011ab000000000000,8BitDo F30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00001038000000000000,8BitDo F30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000090000000000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00001251000000000000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00001151000000000000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000150000000000000,8BitDo M30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000151000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00000650000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00005106000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,guide:b2,leftshoulder:b8,lefttrigger:b9,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c82d00000650000000000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c82d00005106000000000000,8BitDo M30 Gamepad,a:b1,b:b0,back:b10,guide:b2,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000151000000000000,8BitDo M30 ModKit,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,", "03000000c82d00000310000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00000451000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightx:a3,righty:a5,start:b11,platform:Windows,", "03000000c82d00002028000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00008010000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d0000e002000000000000,8BitDo N30,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b6,platform:Windows,", +"03000000c82d00000451000000000000,8BitDo N30 Modkit,a:b1,b:b0,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,start:b11,platform:Windows,", "03000000c82d00000190000000000000,8BitDo N30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00001590000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00006528000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000290000000000000,8BitDo N64,+rightx:b9,+righty:b3,-rightx:b4,-righty:b8,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,platform:Windows,", -"03000000c82d00003038000000000000,8BitDo N64,+rightx:b9,+righty:b3,-rightx:b4,-righty:b8,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,platform:Windows,", -"030000003512000012ab000000000000,8BitDo NES30,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0,platform:Windows,", -"03000000c82d000012ab000000000000,8BitDo NES30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000022000000090000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000203800000900000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00002038000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000751000000000000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00000851000000000000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", +"03000000022000000090000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", +"03000000203800000900000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000360000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000361000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000660000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000131000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000231000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000331000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000431000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00002867000000000000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a2,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a5,start:b10,x:b3,y:b4,platform:Windows,", +"03000000c82d00002867000000000000,8BitDo S30 Modkit,a:b0,b:b1,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b8,lefttrigger:b9,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows,", "03000000c82d00000130000000000000,8BitDo SF30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000060000000000000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000061000000000000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", -"03000000102800000900000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d000021ab000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00003028000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"030000003512000020ab000000000000,8BitDo SN30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000030000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000351000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a2,rightshoulder:b7,rightx:a3,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000060000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000061000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d000021ab000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", +"03000000102800000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00003028000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000030000000000000,8BitDo SN30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00001290000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d000020ab000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00004028000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00006228000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00000021000000000000,8BitDo SN30 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c82d00000351000000000000,8BitDo SN30 Modkit,a:b1,b:b0,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000121000000000000,8BitDo SN30 Pro for Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "03000000c82d00000260000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00000261000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", -"03000000c82d00001330000000000000,8BitDo Ultimate Wireless,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b23,paddle2:b19,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000a00500003232000000000000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c82d00001890000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", +"03000000c82d00000031000000000000,8BitDo Wireless Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c82d00001890000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows,", "03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows,", -"030000008f0e00001200000000000000,Acme GA02,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", -"03000000c01100000355000000000000,Acrux,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000fa190000f0ff000000000000,Acteck AGJ 3200,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000d1180000402c000000000000,ADT1,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a3,rightx:a2,righty:a5,x:b3,y:b4,platform:Windows,", +"03000000a00500003232000000000000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows,", +"03000000a30c00002700000000000000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", +"03000000a30c00002800000000000000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", +"030000008f0e00001200000000000000,Acme GA-02,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", +"03000000c01100000355000011010000,ACRUX USB GAME PAD,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000fa190000f0ff000000000000,Acteck AGJ-3200,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"030000006f0e00001413000000000000,Afterglow,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000341a00003608000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00000263000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00001101000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", @@ -143,670 +115,310 @@ const char* _glfwDefaultMappings[] = "030000006f0e00001402000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00001901000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00001a01000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00001301000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e00001302000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e00001304000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e00001413000000000000,Afterglow Xbox Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00003901000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ab1200000103000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000000f9000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000100000008200000000000000,Akishop Customs PS360,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000007c1800000006000000000000,Alienware Dual Compatible PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", +"03000000d62000001d57000000000000,Airflo PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000491900001904000000000000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows,", "03000000710100001904000000000000,Amazon Luna Controller,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b8,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b4,rightstick:b7,rightx:a3,righty:a4,start:b6,x:b3,y:b2,platform:Windows,", -"03000000830500000160000000000000,Arcade,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b3,x:b4,y:b4,platform:Windows,", -"03000000120c0000100e000000000000,Armor 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000490b00004406000000000000,ASCII Seamic Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"03000000869800002500000000000000,Astro C40 TR PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a30c00002700000000000000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000a30c00002800000000000000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000050b00000579000000000000,ASUS ROG Kunai 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000050b00000679000000000000,ASUS ROG Kunai 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000e4150000103f000000000000,Batarang,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000d6200000e557000000000000,Batarang PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000ef0500000300000000000000,AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows,", +"03000000d6200000e557000000000000,Batarang,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000c01100001352000000000000,Battalife Joystick,a:b6,b:b7,back:b2,leftshoulder:b0,leftx:a0,lefty:a1,rightshoulder:b1,start:b3,x:b4,y:b5,platform:Windows,", "030000006f0e00003201000000000000,Battlefield 4 PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ad1b000001f9000000000000,BB 070,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "03000000d62000002a79000000000000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000bc2000005250000000000000,Beitong G3,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:b9,rightx:a3,righty:a4,start:b15,x:b3,y:b4,platform:Windows,", -"030000000d0500000208000000000000,Belkin Nostromo N40,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", "03000000bc2000006012000000000000,Betop 2126F,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000bc2000000055000000000000,Betop BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000bc2000000055000000000000,Betop BFM Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "03000000bc2000006312000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000bc2000006321000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000bc2000006321000000000000,BETOP CONTROLLER,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000bc2000006412000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000c01100000555000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000c01100000655000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000790000000700000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", "03000000808300000300000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", -"030000006f0e00006401000000000000,BF One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000300f00000202000000000000,Bigben,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a5,righty:a2,start:b7,x:b2,y:b3,platform:Windows,", -"030000006b1400000209000000000000,Bigben,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006b1400000055000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "030000006b1400000103000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,", -"03000000120c0000200e000000000000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000210e000000000000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f10e000000000000,Brook PS2 Adapter,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000310c000000000000,Brook Super Converter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000d81d00000b00000000000000,Buffalo BSGP1601 Series,a:b5,b:b3,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b4,y:b2,platform:Windows,", -"030000005b1c00002400000000000000,Capcom Home Arcade Controller,a:b3,b:b4,back:b7,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b6,x:b0,y:b1,platform:Windows,", -"030000005b1c00002500000000000000,Capcom Home Arcade Controller,a:b3,b:b4,back:b7,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b6,x:b0,y:b1,platform:Windows,", -"030000006d04000042c2000000000000,ChillStream,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"03000000120c0000210e000000000000,Brook Mars,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"0300000066f700000500000000000000,BrutalLegendTest,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", +"03000000d81d00000b00000000000000,BUFFALO BSGP1601 Series ,a:b5,b:b3,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b4,y:b2,platform:Windows,", "03000000e82000006058000000000000,Cideko AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000457500000401000000000000,Cobra,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000b0400003365000000000000,Competition Pro,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Windows,", -"030000004c050000c505000000000000,CronusMax Adapter,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000d814000007cd000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000d8140000cefa000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000005e0400008e02000000000000,Controller (XBOX 360 For Windows),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"030000005e040000a102000000000000,Controller (Xbox 360 Wireless Receiver for Windows),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"030000005e040000ff02000000000000,Controller (Xbox One For Windows) - Wired,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"030000005e040000ea02000000000000,Controller (Xbox One For Windows) - Wireless,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Windows,", -"030000003807000002cb000000000000,Cyborg,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000a306000022f6000000000000,Cyborg V.3 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000f806000000a3000000000000,DA Leader,a:b7,b:b6,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b0,leftstick:b8,lefttrigger:b1,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:b3,rightx:a2,righty:a3,start:b12,x:b4,y:b5,platform:Windows,", -"030000001a1c00000001000000000000,Datel Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000a306000022f6000000000000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", "03000000451300000830000000000000,Defender Game Racer X7,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000791d00000103000000000000,Dual Box Wii,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000c0160000e105000000000000,Dual Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"030000004f040000070f000000000000,Dual Power,a:b8,b:b9,back:b4,dpdown:b1,dpleft:b2,dpright:b3,dpup:b0,leftshoulder:b13,leftstick:b6,lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b12,rightstick:b7,righttrigger:b15,start:b5,x:b10,y:b11,platform:Windows,", -"030000004f04000012b3000000000000,Dual Power 3,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"030000004f04000020b3000000000000,Dual Trigger,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"03000000bd12000002e0000000000000,Dual Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows,", -"03000000ff1100003133000000000000,DualForce,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b1,platform:Windows,", +"030000007d0400000840000000000000,Destroyer Tiltpad,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,x:b0,y:b3,platform:Windows,", +"03000000791d00000103000000000000,Dual Box WII,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000bd12000002e0000000000000,Dual USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows,", "030000008f0e00000910000000000000,DualShock 2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows,", -"03000000317300000100000000000000,DualShock 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"030000006f0e00003001000000000000,EA Sports PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000fc0400000250000000000000,Easy Grip,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"030000006e0500000a20000000000000,Elecom DUX60 MMO,a:b2,b:b3,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b14,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b15,righttrigger:b13,rightx:a3,righty:a4,start:b20,x:b0,y:b1,platform:Windows,", +"030000006f0e00003001000000000000,EA SPORTS PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000b80500000410000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,", "03000000b80500000610000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,", -"030000006e0500000520000000000000,Elecom P301U PlayStation Controller Adapter,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", -"03000000411200004450000000000000,Elecom U1012,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", -"030000006e0500000320000000000000,Elecom U3613M,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", -"030000006e0500000e20000000000000,Elecom U3912T,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", -"030000006e0500000f20000000000000,Elecom U4013S,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", -"030000006e0500001320000000000000,Elecom U4113,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006e0500001020000000000000,Elecom U4113S,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows,", -"030000006e0500000720000000000000,Elecom W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,", -"030000007d0400000640000000000000,Eliminator AfterShock,a:b1,b:b2,back:b9,dpdown:+a3,dpleft:-a5,dpright:+a5,dpup:-a3,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a4,righty:a2,start:b8,x:b0,y:b3,platform:Windows,", "03000000120c0000f61c000000000000,Elite,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000430b00000300000000000000,EMS Production PS2 Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000242f000000b7000000000000,ESM 9110,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Windows,", -"03000000101c0000181c000000000000,Essential,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b4,leftx:a1,lefty:a0,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", "030000008f0e00000f31000000000000,EXEQ,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,", -"03000000341a00000108000000000000,EXEQ RF Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"030000006f0e00008401000000000000,Faceoff Deluxe Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00008001000000000000,Faceoff Pro Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000021000000090000000000000,FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows,", -"0300000011040000c600000000000000,FC801,a:b0,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000852100000201000000000000,FF GP1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ad1b000028f0000000000000,Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b00002ef0000000000000,Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000038f0000000000000,Fightpad TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows,", -"03000000f806000001a3000000000000,Firestorm,a:b9,b:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b0,leftstick:b10,lefttrigger:b1,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,start:b12,x:b8,y:b4,platform:Windows,", -"03000000b50700000399000000000000,Firestorm 2,a:b2,b:b4,back:b10,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,righttrigger:b9,start:b11,x:b3,y:b5,platform:Windows,", -"03000000b50700001302000000000000,Firestorm D3,a:b0,b:b2,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,x:b1,y:b3,platform:Windows,", -"03000000b40400001024000000000000,Flydigi Apex,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000151900004000000000000000,Flydigi Vader 2,a:b11,b:b10,back:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,leftstick:b1,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b0,righttrigger:b4,rightx:a3,righty:a4,start:b2,x:b9,y:b8,platform:Windows,", -"03000000b40400001124000000000000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b4,paddle2:b5,paddle4:b17,rightshoulder:b7,rightstick:b13,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b2,y:b3,platform:Windows,", -"03000000b40400001224000000000000,Flydigi Vader 2 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:a5,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,paddle3:b17,paddle4:b18,rightshoulder:b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,", -"030000008305000000a0000000000000,G08XU,a:b0,b:b1,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b5,x:b2,y:b3,platform:Windows,", +"03000000341a00000108000000000000,EXEQ RF USB Gamepad 8206,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"030000006f0e00008401000000000000,Faceoff Deluxe+ Audio Wired Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000006f0e00008001000000000000,Faceoff Wired Pro Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000852100000201000000000000,FF-GP1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008500000000000000,Fighting Commander 2016 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008400000000000000,Fighting Commander 5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008700000000000000,Fighting Stick mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008800000000000000,Fighting Stick mini 4,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,", +"030000000d0f00002700000000000000,FIGHTING STICK V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"78696e70757403000000000000000000,Fightstick TES,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Windows,", +"03000000790000002201000000000000,Game Controller for PC,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "0300000066f700000100000000000000,Game VIB Joystick,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows,", -"03000000260900002625000000000000,GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,lefttrigger:a4,leftx:a0,lefty:a1,righttrigger:a5,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Windows,", -"03000000341a000005f7000000000000,GameCube Controller,a:b2,b:b3,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b1,y:b0,platform:Windows,", -"03000000430b00000500000000000000,GameCube Controller,a:b0,b:b2,dpdown:b10,dpleft:b8,dpright:b9,dpup:b11,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a3,rightx:a5,righty:a2,start:b7,x:b1,y:b3,platform:Windows,", -"03000000790000004718000000000000,GameCube Controller,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", -"03000000790000004618000000000000,GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", -"030000008f0e00000d31000000000000,Gamepad 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ac0500003d03000000000000,GameSir G3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000ac0500005b05000000000000,GameSir G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000ac0500002d02000000000000,GameSir G4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000ac0500004d04000000000000,GameSir G4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"030000004c0e00001035000000000000,Gamester,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000000d0f00001110000000000000,GameStick Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"0300000047530000616d000000000000,GameStop,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000260900002625000000000000,Gamecube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,lefttrigger:a4,leftx:a0,lefty:a1,righttrigger:a5,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Windows,", +"03000000790000004618000000000000,GameCube Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", +"030000008f0e00000d31000000000000,GAMEPAD 3 TURBO,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000280400000140000000000000,GamePad Pro USB,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"03000000ac0500003d03000000000000,GameSir,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000ac0500004d04000000000000,GameSir,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000ffff00000000000000000000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "03000000c01100000140000000000000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000b62500000100000000000000,Gametel GT004 01,a:b3,b:b0,dpdown:b10,dpleft:b9,dpright:b8,dpup:b11,leftshoulder:b4,rightshoulder:b5,start:b7,x:b1,y:b2,platform:Windows,", -"030000008f0e00001411000000000000,Gamo2 Divaller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000a857000000000000,Gator Claw,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000c9110000f055000000000000,GC100XF,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"030000009b2800003200000000000000,GC/N64 to USB v3.4,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,", +"030000009b2800006000000000000000,GC/N64 to USB v3.6,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,", "030000008305000009a0000000000000,Genius,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "030000008305000031b0000000000000,Genius Maxfire Blaze 3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "03000000451300000010000000000000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "030000005c1a00003330000000000000,Genius MaxFire Grandias 12V,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", -"03000000300f00000b01000000000000,GGE909 Recoil,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000f0250000c283000000000000,Gioteck PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000300f00000b01000000000000,GGE909 Recoil Pad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", +"03000000f0250000c283000000000000,Gioteck,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000f025000021c1000000000000,Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000f025000031c1000000000000,Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000f0250000c383000000000000,Gioteck VX2 PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000f0250000c483000000000000,Gioteck VX2 PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"030000004f04000026b3000000000000,GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"0300000079000000d418000000000000,GPD Win,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c6240000025b000000000000,GPX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000007d0400000840000000000000,Gravis Destroyer Tilt,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,x:b0,y:b3,platform:Windows,", -"030000007d0400000540000000000000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"03000000280400000140000000000000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a3,dpup:-a4,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000008f0e00000610000000000000,GreenAsia,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a5,righty:a2,start:b11,x:b3,y:b0,platform:Windows,", -"03000000ac0500006b05000000000000,GT2a,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", +"03000000f0250000c383000000000000,Gioteck VX2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000f0250000c483000000000000,Gioteck VX2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"030000007d0400000540000000000000,Gravis Eliminator GamePad Pro,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", "03000000341a00000302000000000000,Hama Scorpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00004900000000000000,Hatsune Miku Sho PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000001008000001e1000000000000,Havit HV G60,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows,", -"030000000d0f00000c00000000000000,HEXT,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000d81400000862000000000000,HitBox Edition Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", -"03000000632500002605000000000000,HJD X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"030000000d0f00000a00000000000000,Hori DOA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f00008500000000000000,Hori Fighting Commander 2016 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00002500000000000000,Hori Fighting Commander 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00004900000000000000,Hatsune Miku Sho Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000001008000001e1000000000000,Havit HV-G60,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows,", +"03000000d81400000862000000000000,HitBox Edition Cthulhu+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", +"03000000632500002605000000000000,HJD-X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "030000000d0f00002d00000000000000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00005f00000000000000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00005e00000000000000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00008400000000000000,Hori Fighting Commander 5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00005100000000000000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00008600000000000000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f0000ba00000000000000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f00008800000000000000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,", -"030000000d0f00008700000000000000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00001000000000000000,Hori Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00003200000000000000,Hori Fightstick 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000c000000000000000,Hori Fightstick 4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f00000d00000000000000,Hori Fightstick EX2,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000000d0f00003701000000000000,Hori Fightstick Mini,a:b1,b:b0,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Windows,", -"030000000d0f00004000000000000000,Hori Fightstick Mini 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00002100000000000000,Hori Fightstick V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00002700000000000000,Hori Fightstick V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000a000000000000000,Hori Grip TAC4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b13,x:b0,y:b3,platform:Windows,", -"030000000d0f0000a500000000000000,Hori Miku Project Diva X HD PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000a600000000000000,Hori Miku Project Diva X HD PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00000101000000000000,Hori Mini Hatsune Miku FT,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00005f00000000000000,Hori Fighting Commander 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00005e00000000000000,Hori Fighting Commander 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00004000000000000000,Hori Fighting Stick Mini 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", "030000000d0f00005400000000000000,Hori Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000000d0f00000900000000000000,Hori Pad 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000000d0f00004d00000000000000,Hori Pad A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00003801000000000000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Windows,", -"030000000d0f00009200000000000000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00002301000000000000,Hori PS4 Controller Light,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"030000000d0f00001100000000000000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00002600000000000000,Hori Real Arcade Pro 3P,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00004b00000000000000,Hori Real Arcade Pro 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006a00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006b00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00008a00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00008b00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006f00000000000000,Hori Real Arcade Pro 4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00007000000000000000,Hori Real Arcade Pro 4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00003d00000000000000,Hori Real Arcade Pro N3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b10,leftstick:b4,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b6,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000ae00000000000000,Hori Real Arcade Pro N4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f00008c00000000000000,Hori Real Arcade Pro P4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f0000aa00000000000000,Hori Real Arcade Pro S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000d800000000000000,Hori Real Arcade Pro S,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Windows,", -"030000000d0f00002200000000000000,Hori Real Arcade Pro V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00005b00000000000000,Hori Real Arcade Pro V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00005c00000000000000,Hori Real Arcade Pro V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000af00000000000000,Hori Real Arcade Pro VHS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00001b00000000000000,Hori Real Arcade Pro VX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000002f5000000000000,Hori Real Arcade Pro VX,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Windows,", +"030000000d0f00009200000000000000,Hori Pokken Tournament DX Pro Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00001600000000007803,HORI Real Arcade Pro EX-SE (Xbox 360),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Windows,", "030000000d0f00009c00000000000000,Hori TAC Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000c900000000000000,Hori Taiko Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000000d0f0000c100000000000000,Horipad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006400000000000000,Horipad 3TP,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00001300000000000000,Horipad 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00006e00000000000000,HORIPAD 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00006600000000000000,HORIPAD 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "030000000d0f00005500000000000000,Horipad 4 FPS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006e00000000000000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006600000000000000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00004200000000000000,Horipad A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ad1b000001f5000000000000,Horipad EXT2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f0000ee00000000000000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f00006700000000000000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000000d0f0000dc00000000000000,Horipad Switch,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"030000000d0f0000ee00000000000000,HORIPAD mini4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000250900000017000000000000,HRAP2 on PS/SS/N64 Joypad to USB BOX,a:b2,b:b1,back:b9,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b8,x:b3,y:b0,platform:Windows,", "030000008f0e00001330000000000000,HuiJia SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b9,x:b3,y:b0,platform:Windows,", -"03000000790000004e95000000000000,Hyperkin N64 Controller Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a5,righty:a2,start:b9,platform:Windows,", -"03000000d81d00000e00000000000000,iBuffalo AC02 Arcade Joystick,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,rightx:a2,righty:a5,start:b8,x:b4,y:b5,platform:Windows,", -"03000000d81d00000f00000000000000,iBuffalo BSGP1204 Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000d81d00001000000000000000,iBuffalo BSGP1204P Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"030000005c0a00000285000000000000,iDroidCon,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b6,platform:Windows,", -"03000000696400006964000000000000,iDroidCon Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000d81d00000f00000000000000,iBUFFALO BSGP1204 Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000d81d00001000000000000000,iBUFFALO BSGP1204P Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000830500006020000000000000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Windows,", "03000000b50700001403000000000000,Impact Black,a:b2,b:b3,back:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", -"030000006f0e00002401000000000000,Injustice Fightstick PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"03000000830500005130000000000000,InterAct ActionPad,a:b0,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"03000000ef0500000300000000000000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows,", -"03000000fd0500000230000000000000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a5,start:b11,x:b0,y:b1,platform:Windows,", -"03000000fd0500000030000000000000,Interact GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Windows,", -"03000000fd0500003902000000000000,InterAct Hammerhead,a:b3,b:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b2,lefttrigger:b8,rightshoulder:b7,rightstick:b5,righttrigger:b9,start:b10,x:b0,y:b1,platform:Windows,", -"03000000fd0500002a26000000000000,InterAct Hammerhead FX,a:b3,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b0,y:b1,platform:Windows,", -"03000000fd0500002f26000000000000,InterAct Hammerhead FX,a:b4,b:b5,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b1,y:b2,platform:Windows,", -"03000000fd0500005302000000000000,InterAct ProPad,a:b3,b:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Windows,", -"03000000ac0500002c02000000000000,Ipega Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000491900000204000000000000,Ipega PG9023,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000491900000304000000000000,Ipega PG9087,+righty:+a5,-righty:-a4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,start:b11,x:b3,y:b4,platform:Windows,", +"030000006f0e00002401000000000000,INJUSTICE FightStick PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"03000000ac0500002c02000000000000,IPEGA,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000491900000204000000000000,Ipega PG-9023,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000491900000304000000000000,Ipega PG-9087 - Bluetooth Gamepad,+righty:+a5,-righty:-a4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,start:b11,x:b3,y:b4,platform:Windows,", +"030000006e0500000a20000000000000,JC-DUX60 ELECOM MMO Gamepad,a:b2,b:b3,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b14,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b15,righttrigger:b13,rightx:a3,righty:a4,start:b20,x:b0,y:b1,platform:Windows,", +"030000006e0500000520000000000000,JC-P301U,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", +"030000006e0500000320000000000000,JC-U3613M (DInput),a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows,", +"030000006e0500000720000000000000,JC-W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,", "030000007e0500000620000000000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Windows,", +"030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Windows,", "030000007e0500000720000000000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,", -"03000000250900000017000000000000,Joypad Adapter,a:b2,b:b1,back:b9,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b8,x:b3,y:b0,platform:Windows,", -"03000000bd12000003c0000000000000,Joypad Alpha Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ff1100004033000000000000,JPD FFB,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a2,start:b15,x:b3,y:b0,platform:Windows,", -"03000000242f00002d00000000000000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"03000000242f00008a00000000000000,JYS Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,", -"03000000c4100000c082000000000000,KADE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000828200000180000000000000,Keio,a:b4,b:b5,back:b8,leftshoulder:b2,lefttrigger:b3,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b9,x:b0,y:b1,platform:Windows,", +"030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,", +"03000000bd12000003c0000010010000,Joypad Alpha Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000bd12000003c0000000000000,JY-P70UR,a:b1,b:b0,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b11,righttrigger:b9,rightx:a3,righty:a2,start:b4,x:b3,y:b2,platform:Windows,", +"03000000242f00002d00000000000000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000242f00008a00000000000000,JYS Wireless Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,", "03000000790000000200000000000000,King PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", -"03000000bd12000001e0000000000000,Leadership,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"030000006f0e00000103000000000000,Logic3,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e00000104000000000000,Logic3,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000008f0e00001300000000000000,Logic3,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "030000006d040000d1ca000000000000,Logitech ChillStream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006d040000d2ca000000000000,Logitech Cordless Precision,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006d04000011c2000000000000,Logitech Cordless Wingman,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b5,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b2,righttrigger:b7,rightx:a3,righty:a4,x:b4,platform:Windows,", "030000006d04000016c2000000000000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d0400001dc2000000000000,Logitech F310,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006d04000018c2000000000000,Logitech F510,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d0400001ec2000000000000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006d04000019c2000000000000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d0400001fc2000000000000,Logitech F710,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006d0400001ac2000000000000,Logitech Precision,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d04000009c2000000000000,Logitech WingMan,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,", -"030000006d0400000bc2000000000000,Logitech WingMan Action Pad,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b8,lefttrigger:a5~,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:a2~,start:b8,x:b3,y:b4,platform:Windows,", +"030000006d04000018c2000000000000,Logitech F510 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000006d04000019c2000000000000,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000006d0400001ac2000000000000,Logitech Precision Gamepad,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", "030000006d0400000ac2000000000000,Logitech WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Windows,", -"03000000380700005645000000000000,Lynx,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000222200006000000000000000,Macally,a:b1,b:b2,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b33,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700003888000000000000,Mad Catz Arcade Fightstick TE S Plus PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008532000000000000,Mad Catz Arcade Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700006352000000000000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700006652000000000000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700005032000000000000,Mad Catz Fightpad Pro PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700005082000000000000,Mad Catz Fightpad Pro PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008031000000000000,Mad Catz FightStick Alpha PS3 ,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000003807000038b7000000000000,Mad Catz Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700008433000000000000,Mad Catz Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008483000000000000,Mad Catz Fightstick TE S PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008134000000000000,Mad Catz Fightstick TE2 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008184000000000000,Mad Catz Fightstick TE2 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,leftstick:b10,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700006252000000000000,Mad Catz Micro CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008232000000000000,Mad Catz PlayStation Brawlpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700008731000000000000,Mad Catz PlayStation Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000003807000056a8000000000000,Mad Catz PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700001888000000000000,Mad Catz SFIV Fightstick PS3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000380700008081000000000000,Mad Catz SFV Arcade Fightstick Alpha PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700001847000000000000,Mad Catz Street Fighter 4 Xbox 360 FightStick,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows,", +"03000000380700006652000000000000,Mad Catz C.T.R.L.R,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700005032000000000000,Mad Catz FightPad PRO (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700005082000000000000,Mad Catz FightPad PRO (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700008433000000000000,Mad Catz FightStick TE S+ (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700008483000000000000,Mad Catz FightStick TE S+ (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700008134000000000000,Mad Catz FightStick TE2+ PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700008184000000000000,Mad Catz FightStick TE2+ PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,leftstick:b10,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700006252000000000000,Mad Catz Micro C.T.R.L.R,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", "03000000380700008034000000000000,Mad Catz TE2 PS3 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000380700008084000000000000,Mad Catz TE2 PS4 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700008532000000000000,Madcatz Arcade Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700003888000000000000,Madcatz Arcade Fightstick TE S+ PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000380700001888000000000000,MadCatz SFIV FightStick PS3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000380700008081000000000000,MADCATZ SFV Arcade FightStick Alpha PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "030000002a0600001024000000000000,Matricom,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows,", "030000009f000000adbb000000000000,MaxJoypad Virtual Controller,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000250900000128000000000000,Mayflash Arcade Stick,a:b1,b:b2,back:b8,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b5,y:b6,platform:Windows,", -"03000000242f00003700000000000000,Mayflash F101,a:b1,b:b2,back:b8,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"03000000790000003018000000000000,Mayflash F300 Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"03000000242f00003900000000000000,Mayflash F300 Elite Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000790000004418000000000000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", -"03000000790000004318000000000000,Mayflash GameCube Controller Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", +"03000000790000004318000000000000,Mayflash GameCube Controller Adapter,a:b1,b:b2,back:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b0,leftshoulder:b4,leftstick:b0,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b0,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", "03000000242f00007300000000000000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,", "0300000079000000d218000000000000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000d620000010a7000000000000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000008f0e00001030000000000000,Mayflash Sega Saturn Adapter,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,rightshoulder:b2,righttrigger:b7,start:b9,x:b3,y:b4,platform:Windows,", -"0300000025090000e803000000000000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,", -"03000000790000000318000000000000,Mayflash Wii DolphinBar,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows,", -"03000000790000000018000000000000,Mayflash Wii U Pro Adapter,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000790000002418000000000000,Mega Drive Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b2,start:b9,x:b3,y:b4,platform:Windows,", -"0300000079000000ae18000000000000,Mega Drive Controller,a:b0,b:b1,back:b7,dpdown:b14,dpleft:b15,dpright:b13,dpup:b2,rightshoulder:b6,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"03000000c0160000990a000000000000,Mega Drive Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,righttrigger:b2,start:b3,platform:Windows,", -"030000005e0400002800000000000000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Windows,", -"030000005e0400000300000000000000,Microsoft SideWinder,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,", -"030000005e0400000700000000000000,Microsoft SideWinder,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"030000005e0400000e00000000000000,Microsoft SideWinder Freestyle Pro,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,start:b8,x:b3,y:b4,platform:Windows,", -"030000005e0400002700000000000000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Windows,", -"03000000280d00000202000000000000,Miller Lite Cantroller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b5,x:b2,y:b3,platform:Windows,", -"03000000ad1b000023f0000000000000,MLG,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a6,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000ad1b00003ef0000000000000,MLG Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700006382000000000000,MLG PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ffff00000000000000000000,Mocute M053,a:b3,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b11,leftstick:b7,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b6,righttrigger:b4,rightx:a3,righty:a4,start:b8,x:b1,y:b0,platform:Windows,", -"03000000d6200000e589000000000000,Moga 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000d62000007162000000000000,Moga Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000d6200000ad0d000000000000,Moga Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c62400002a89000000000000,Moga XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c62400002b89000000000000,Moga XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c62400001a89000000000000,Moga XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c62400001b89000000000000,Moga XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"030000008f0e00001030000000000000,Mayflash USB Adapter for original Sega Saturn controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,rightshoulder:b2,righttrigger:b7,start:b9,x:b3,y:b4,platform:Windows,", +"0300000025090000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,", +"03000000790000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000790000002418000000000000,Mega Drive,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b2,start:b9,x:b3,y:b4,platform:Windows,", +"03000000380700006382000000000000,MLG GamePad PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000c62400002a89000000000000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c62400002b89000000000000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c62400001a89000000000000,MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000c62400001b89000000000000,MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "03000000efbe0000edfe000000000000,Monect Virtual Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", "03000000250900006688000000000000,MP-8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000091200004488000000000000,MUSIA PlayStation 2 Input Display,a:b0,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b7,righttrigger:b11,rightx:a2,righty:a3,start:b5,x:b1,y:b3,platform:Windows,", -"03000000f70600000100000000000000,N64 Adaptoid,+rightx:b2,+righty:b1,-rightx:b4,-righty:b5,a:b0,b:b3,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,start:b8,platform:Windows,", -"030000006b140000010c000000000000,Nacon GC 400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"030000006b1400001106000000000000,Nacon Revolution 3 PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000006b140000100d000000000000,Nacon Revolution Infinity PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006b140000080d000000000000,Nacon Revolution Unlimited Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000bd12000001c0000000000000,Nebular,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000eb0300000000000000000000,NeGcon Adapter,a:a2,b:b13,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,lefttrigger:a4,leftx:a1,righttrigger:b11,start:b3,x:a3,y:b12,platform:Windows,", -"0300000038070000efbe000000000000,NEO SE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"0300000092120000474e000000000000,NeoGeo X Arcade Stick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b3,y:b2,platform:Windows,", -"03000000921200004b46000000000000,NES 2 port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Windows,", -"03000000000f00000100000000000000,NES Controller,a:b1,b:b0,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows,", -"03000000921200004346000000000000,NES Controller,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows,", -"03000000790000004518000000000000,NEXILUX GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", +"030000006b140000010c000000000000,NACON GC-400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000921200004b46000000000000,NES 2-port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Windows,", +"03000000790000004518000000000000,NEXILUX GAMECUBE Controller Adapter,platform:Windows,a:b1,b:b0,x:b2,y:b3,start:b9,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,", "030000001008000001e5000000000000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Windows,", -"03000000050b00000045000000000000,Nexus,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Windows,", "03000000152000000182000000000000,NGDS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", -"030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000bd12000015d0000000000000,Nintendo Retrolink USB Super SNES Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,", +"030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "030000000d0500000308000000000000,Nostromo N45,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Windows,", -"030000007e0500001920000000000000,NSO N64 Controller,+rightx:b8,+righty:b2,-rightx:b3,-righty:b7,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Windows,", -"030000007e0500001720000000000000,NSO SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b15,start:b9,x:b2,y:b3,platform:Windows,", -"03000000550900001472000000000000,NVIDIA Controller,a:b11,b:b10,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b5,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b4,righttrigger:a5,rightx:a3,righty:a6,start:b3,x:b9,y:b8,platform:Windows,", -"03000000550900001072000000000000,NVIDIA Shield,a:b9,b:b8,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b3,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b2,righttrigger:a4,rightx:a2,righty:a5,start:b0,x:b7,y:b6,platform:Windows,", -"030000005509000000b4000000000000,NVIDIA Virtual,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000120c00000288000000000000,Nyko Air Flo Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000004b120000014d000000000000,Nyko Airflo,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a3,leftstick:a0,lefttrigger:b6,rightshoulder:b5,rightstick:a2,righttrigger:b7,start:b9,x:b2,y:b3,platform:Windows,", -"03000000d62000001d57000000000000,Nyko Airflo PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000791d00000900000000000000,Nyko Playpad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000782300000a10000000000000,Onlive Controller,a:b15,b:b14,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b11,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b13,y:b12,platform:Windows,", -"030000000d0f00000401000000000000,Onyx,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000008916000001fd000000000000,Onza CE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a3,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000008916000000fd000000000000,Onza TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"03000000550900001472000000000000,NVIDIA Controller v01.04,a:b11,b:b10,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b5,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b4,righttrigger:a5,rightx:a3,righty:a6,start:b3,x:b9,y:b8,platform:Windows,", +"030000004b120000014d000000000000,NYKO AIRFLO,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a3,leftstick:a0,lefttrigger:b6,rightshoulder:b5,rightstick:a2,righttrigger:b7,start:b9,x:b2,y:b3,platform:Windows,", +"03000000d620000013a7000000000000,NSW wired controller,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,", +"03000000782300000a10000000000000,Onlive Wireless Controller,a:b15,b:b14,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b11,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b13,y:b12,platform:Windows,", "03000000d62000006d57000000000000,OPP PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006b14000001a1000000000000,Orange Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,", -"03000000362800000100000000000000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,x:b1,y:b2,platform:Windows,", -"03000000120c0000f60e000000000000,P4 Gamepad,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b7,rightshoulder:b4,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", -"03000000790000002201000000000000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"030000006f0e00008501000000000000,PDP Fightpad Pro,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b0,platform:Windows,", -"030000006f0e00000901000000000000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000008f0e00004100000000000000,PlaySega,a:b1,b:b0,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b4,y:b3,platform:Windows,", -"03000000e30500009605000000000000,PlayStation Adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", +"03000000362800000100000000000000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,x:b1,y:b2,platform:Windows,", +"03000000120c0000f60e000000000000,P4 Wired Gamepad,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b7,rightshoulder:b4,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,", +"030000006f0e00000901000000000000,PDP Versus Fighting Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000008f0e00000300000000000000,Piranha xtreme,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", "030000004c050000da0c000000000000,PlayStation Classic Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000632500002306000000000000,PlayStation Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,", -"03000000f0250000c183000000000000,PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000d9040000160f000000000000,PlayStation Controller Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", "030000004c0500003713000000000000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", "03000000d62000006dca000000000000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"0300000062060000d570000000000000,PowerA PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000d620000013a7000000000000,PowerA Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d04000084ca000000000000,Precision,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", "03000000d62000009557000000000000,Pro Elite PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000c62400001a53000000000000,Pro Ex Mini,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "03000000d62000009f31000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000d6200000c757000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000110e000000000000,Pro5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000632500002306000000000000,PS Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,", +"03000000e30500009605000000000000,PS to USB convert cable,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000100800000100000000000000,PS1 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", "030000008f0e00007530000000000000,PS1 Controller,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b1,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000100800000300000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000250900000088000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000250900006888000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b6,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000250900008888000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000666600006706000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Windows,", "030000006b1400000303000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", "030000009d0d00001330000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000151a00006222000000000000,PS2 Dual Plus Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000120a00000100000000000000,PS3 Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000120c00001307000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c00001cf1000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f90e000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000250900000118000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000250900000218000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000250900000500000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows,", "030000004c0500006802000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b10,lefttrigger:a3~,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:a4~,rightx:a2,righty:a5,start:b8,x:b3,y:b0,platform:Windows,", -"030000004f1f00000800000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", "03000000632500007505000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000888800000803000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,", -"03000000888800000804000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,leftshoulder:b10,leftstick:b1,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows,", -"030000008f0e00000300000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows,", "030000008f0e00001431000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000ba2200002010000000000000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b2,platform:Windows,", -"03000000120c00000807000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000111e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000121e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000130e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000150e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000180e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000181e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000191e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c00001e0e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000a957000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000aa57000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f21c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f31c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f41c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f51c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120c0000f70e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000120e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000160e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000001a1e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000003807000056a8000000000000,PS3 RF pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000100000008200000000000000,PS360+ v1.66,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:h0.4,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", "030000004c050000a00b000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Windows,", +"030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "030000004c050000cc09000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000004c050000e60c000000000000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Windows,", -"03000000830500005020000000000000,PSX,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Windows,", -"03000000300f00000111000000000000,Qanba 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00000211000000000000,Qanba 2P,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000300f00000011000000000000,Qanba Arcade Stick 1008,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b10,x:b0,y:b3,platform:Windows,", -"03000000300f00001611000000000000,Qanba Arcade Stick 4018,a:b1,b:b2,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,", -"03000000222c00000025000000000000,Qanba Dragon Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000222c00000020000000000000,Qanba Drone Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00001211000000000000,Qanba Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00001210000000000000,Qanba Joystick Plus,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,", -"03000000341a00000104000000000000,Qanba Joystick Q4RAF,a:b5,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b1,y:b2,platform:Windows,", -"03000000222c00000223000000000000,Qanba Obsidian Arcade Stick PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000222c00000023000000000000,Qanba Obsidian Arcade Stick PS4,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000008a2400006682000000000000,R1 Mobile Controller,a:b3,b:b1,back:b7,leftx:a0,lefty:a1,start:b6,x:b4,y:b0,platform:Windows,", -"03000000086700006626000000000000,RadioShack,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000ff1100004733000000000000,Ramox FPS Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows,", -"030000009b2800002300000000000000,Raphnet 3DO Adapter,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b2,start:b3,platform:Windows,", -"030000009b2800006900000000000000,Raphnet 3DO Adapter,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b2,start:b3,platform:Windows,", -"030000009b2800000800000000000000,Raphnet Dreamcast Adapter,a:b2,b:b1,dpdown:b5,dpleft:b6,dpright:b7,dpup:b4,lefttrigger:a2,leftx:a0,righttrigger:a3,righty:a1,start:b3,x:b10,y:b9,platform:Windows,", -"030000009b2800003200000000000000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,", -"030000009b2800006000000000000000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows,", -"030000009b2800001800000000000000,Raphnet Jaguar Adapter,a:b2,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b0,righttrigger:b10,start:b3,x:b11,y:b12,platform:Windows,", -"030000009b2800000200000000000000,Raphnet NES Adapter,a:b7,b:b6,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b4,platform:Windows,", -"030000009b2800004400000000000000,Raphnet PS1 and PS2 Adapter,a:b1,b:b2,back:b5,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b9,rightx:a3,righty:a4,start:b4,x:b0,y:b3,platform:Windows,", -"030000009b2800004300000000000000,Raphnet Saturn,a:b0,b:b1,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,", -"030000009b2800000500000000000000,Raphnet Saturn Adapter 2.0,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,", -"030000009b2800000300000000000000,Raphnet SNES Adapter,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows,", -"030000009b2800005600000000000000,Raphnet SNES Adapter,a:b1,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5,platform:Windows,", -"030000009b2800005700000000000000,Raphnet SNES Adapter,a:b1,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5,platform:Windows,", -"030000009b2800001e00000000000000,Raphnet Vectrex Adapter,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a1,lefty:a2,x:b2,y:b3,platform:Windows,", -"030000009b2800002b00000000000000,Raphnet Wii Classic Adapter,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b3,x:b0,y:b5,platform:Windows,", -"030000009b2800002c00000000000000,Raphnet Wii Classic Adapter,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b3,x:b0,y:b5,platform:Windows,", +"030000004c050000e60c000000000000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000ff000000cb01000000000000,PSP,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", +"03000000300f00000011000000000000,QanBa Arcade JoyStick 1008,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b10,x:b0,y:b3,platform:Windows,", +"03000000300f00001611000000000000,QanBa Arcade JoyStick 4018,a:b1,b:b2,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows,", +"03000000222c00000020000000000000,QANBA DRONE ARCADE JOYSTICK,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,platform:Windows,", +"03000000300f00001210000000000000,QanBa Joystick Plus,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows,", +"03000000341a00000104000000000000,QanBa Joystick Q4RAF,a:b5,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b1,y:b2,platform:Windows,", +"03000000222c00000223000000000000,Qanba Obsidian Arcade Joystick PS3 Mode,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000222c00000023000000000000,Qanba Obsidian Arcade Joystick PS4 Mode,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000321500000003000000000000,Razer Hydra,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000321500000204000000000000,Razer Panthera PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000104000000000000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000010000000000000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000321500000204000000000000,Razer Panthera (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000321500000104000000000000,Razer Panthera (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000321500000507000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "03000000321500000707000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000321500000710000000000000,Razer Raiju TE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000a10000000000000,Razer Raiju TE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000410000000000000,Razer Raiju UE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000910000000000000,Razer Raiju UE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000321500000011000000000000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000321500000011000000000000,Razer Raion Fightpad for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000321500000009000000000000,Razer Serval,+lefty:+a2,-lefty:-a1,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,leftx:a0,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000921200004547000000000000,Retro Bit Sega Genesis Controller Adapter,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b6,x:b3,y:b4,platform:Windows,", -"03000000790000001100000000000000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000830500006020000000000000,Retro Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b8,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows,", -"03000000bd12000013d0000000000000,Retrolink Sega Saturn Classic Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,lefttrigger:b6,rightshoulder:b2,righttrigger:b7,start:b8,x:b3,y:b4,platform:Windows,", -"03000000bd12000015d0000000000000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,", -"0300000000f000000300000000000000,RetroUSB RetroPad,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,", -"0300000000f00000f100000000000000,RetroUSB Super RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,", -"03000000830500000960000000000000,Revenger,a:b0,b:b1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b3,x:b4,y:b5,platform:Windows,", +"030000000d0f00001100000000000000,REAL ARCADE PRO.3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00006a00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00006b00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008a00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00008b00000000000000,Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00007000000000000000,REAL ARCADE PRO.4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00002200000000000000,REAL ARCADE Pro.V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00005b00000000000000,Real Arcade Pro.V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000000d0f00005c00000000000000,Real Arcade Pro.V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000790000001100000000000000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,", +"03000000bd12000013d0000000000000,Retrolink USB SEGA Saturn Classic,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,lefttrigger:b6,rightshoulder:b2,righttrigger:b7,start:b8,x:b3,y:b4,platform:Windows,", +"0300000000f000000300000000000000,RetroUSB.com RetroPad,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,", +"0300000000f00000f100000000000000,RetroUSB.com Super RetroPort,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows,", "030000006b140000010d000000000000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000006b140000020d000000000000,Revolution Pro Controller 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000006b140000020d000000000000,Revolution Pro Controller 2(1/2),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "030000006b140000130d000000000000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00001f01000000000000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e00004601000000000000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c6240000fefa000000000000,Rock Candy Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "030000006f0e00001e01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00002801000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "030000006f0e00002f01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00008701000000000000,Rock Candy Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000050b0000e318000000000000,ROG Chakram,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"03000000050b0000e518000000000000,ROG Chakram,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"03000000050b00005819000000000000,ROG Chakram Core,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"03000000050b0000181a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"03000000050b00001a1a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"03000000050b00001c1a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows,", -"030000004f04000001d0000000000000,Rumble Force,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"030000008916000000fe000000000000,Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c6240000045d000000000000,Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", +"030000004f04000003d0000000000000,run'n'drive,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:a3,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:a4,rightstick:b11,righttrigger:b5,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000a30600001af5000000000000,Saitek Cyborg,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a306000023f6000000000000,Saitek Cyborg V.1 Game,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00001201000000000000,Saitek Dual Analog,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", +"03000000a306000023f6000000000000,Saitek Cyborg V.1 Game pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", +"03000000300f00001201000000000000,Saitek Dual Analog Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", "03000000a30600000701000000000000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Windows,", -"03000000a30600000cff000000000000,Saitek P2500 Force Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b0,y:b1,platform:Windows,", -"03000000a30600000d5f000000000000,Saitek P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Windows,", -"03000000a30600000dff000000000000,Saitek P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b8,x:b0,y:b3,platform:Windows,", +"03000000a30600000cff000000000000,Saitek P2500 Force Rumble Pad,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b0,y:b1,platform:Windows,", "03000000a30600000c04000000000000,Saitek P2900,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a306000018f5000000000000,Saitek P3200,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00001001000000000000,Saitek P480 Rumble,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", -"03000000a30600000901000000000000,Saitek P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b8,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b5,rightx:a3,righty:a2,x:b0,y:b1,platform:Windows,", +"03000000300f00001001000000000000,Saitek P480 Rumble Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", "03000000a30600000b04000000000000,Saitek P990,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a30600002106000000000000,Saitek PS1000 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a306000020f6000000000000,Saitek PS2700 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", -"03000000300f00001101000000000000,Saitek Rumble,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", -"03000000e804000000a0000000000000,Samsung EIGP20,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000c01100000252000000000000,Sanwa Easy Grip,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"03000000c01100004350000000000000,Sanwa Micro Grip P3,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,x:b3,y:b2,platform:Windows,", -"03000000411200004550000000000000,Sanwa Micro Grip Pro,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a1,righty:a2,start:b9,x:b1,y:b3,platform:Windows,", -"03000000c01100004150000000000000,Sanwa Micro Grip Pro,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"03000000c01100004450000000000000,Sanwa Online Grip,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b11,righttrigger:b9,rightx:a3,righty:a2,start:b14,x:b3,y:b4,platform:Windows,", -"03000000730700000401000000000000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows,", -"03000000830500006120000000000000,Sanwa Smart Grip II,a:b0,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,x:b1,y:b3,platform:Windows,", -"03000000c01100000051000000000000,Satechi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"030000004f04000028b3000000000000,Score A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000952e00002577000000000000,Scuf PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000a30c00002500000000000000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Windows,", -"03000000a30c00002400000000000000,Sega Mega Drive Mini 6B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", -"0300000000050000289b000000000000,Sega Saturn Adapter,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,", -"0300000000f000000800000000000000,Sega Saturn Controller,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b7,righttrigger:b3,start:b0,x:b5,y:b6,platform:Windows,", -"03000000730700000601000000000000,Sega Saturn Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,", -"03000000b40400000a01000000000000,Sega Saturn Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,", -"030000003b07000004a1000000000000,SFX,a:b0,b:b2,back:b7,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Windows,", -"03000000f82100001900000000000000,Shogun Bros Chameleon X1,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000120c00001c1e000000000000,SnakeByte 4S PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"0300000003040000c197000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows,", -"0300000081170000960a000000000000,SNES Controller,a:b4,b:b0,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b5,y:b1,platform:Windows,", -"03000000811700009d0a000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows,", -"030000008b2800000300000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows,", -"03000000921200004653000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows,", -"03000000ff000000cb01000000000000,Sony PlayStation Portable,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000341a00000208000000000000,Speedlink 6555,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,platform:Windows,", -"03000000341a00000908000000000000,Speedlink 6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000380700001722000000000000,Speedlink Competition Pro,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,x:b2,y:b3,platform:Windows,", -"030000008f0e00000800000000000000,Speedlink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000a30600000b04000000010000,Saitek P990 Dual Analog Pad,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Windows,", +"03000000a30600002106000000000000,Saitek PS1000,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", +"03000000a306000020f6000000000000,Saitek PS2700,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows,", +"03000000300f00001101000000000000,Saitek Rumble Pad,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", +"03000000730700000401000000000000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Windows,", +"0300000000050000289b000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,", +"030000009b2800000500000000000000,Saturn_Adapter_2.0,a:b1,b:b2,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000a30c00002500000000000000,Sega Genesis Mini 3B controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Windows,", +"03000000a30c00002400000000000000,Sega Mega Drive Mini 6B controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,", +"03000000341a00000208000000000000,SL-6555-SBK,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,platform:Windows,", +"03000000341a00000908000000000000,SL-6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"030000008f0e00000800000000000000,SpeedLink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000c01100000591000000000000,Speedlink Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000d11800000094000000000000,Stadia Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b11,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows,", -"03000000de280000fc11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000de280000ff11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000120c0000160e000000000000,Steel Play Metaltech PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "03000000110100001914000000000000,SteelSeries,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", "03000000381000001214000000000000,SteelSeries Free,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows,", "03000000110100003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000381000003014000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000381000003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "03000000381000001814000000000000,SteelSeries Stratus XL,a:b0,b:b1,back:b18,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b19,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b2,y:b3,platform:Windows,", -"03000000790000001c18000000000000,STK 7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000380700003847000000000000,Street Fighter Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,start:b7,x:b2,y:b3,platform:Windows,", -"030000001f08000001e4000000000000,Super Famicom Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000790000000418000000000000,Super Famicom Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b33,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000341200001300000000000000,Super Racer,a:b2,b:b3,back:b8,leftshoulder:b5,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b7,x:b0,y:b1,platform:Windows,", -"03000000d620000011a7000000000000,Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000000d0f0000f600000000000000,Switch Hori Pad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000457500002211000000000000,Szmy Power PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000004f0400000ab1000000000000,T16000M,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b10,x:b2,y:b3,platform:Windows,", -"030000000d0f00007b00000000000000,TAC GEAR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000e40a00000207000000000000,Taito Egret II Mini Controller,a:b4,b:b2,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b9,rightshoulder:b0,righttrigger:b1,start:b7,x:b8,y:b3,platform:Windows,", -"03000000d814000001a0000000000000,TE Kitty,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000790000001c18000000000000,STK-7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000ff1100003133000000000000,SVEN X-PAD,a:b2,b:b3,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a4,start:b5,x:b0,y:b1,platform:Windows,", +"03000000d620000011a7000000000000,Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000457500002211000000000000,SZMY-POWER PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000004f04000007d0000000000000,T Mini Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"030000004f0400000ab1000000000000,T.16000M,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b10,x:b2,y:b3,platform:Windows,", "03000000fa1900000706000000000000,Team 5,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000b50700001203000000000000,Techmobility X6-38V,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", -"03000000ba2200000701000000000000,Technology Innovation PS2 Adapter,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b2,platform:Windows,", -"03000000c61100001000000000000000,Tencent Xianyou Gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,x:b3,y:b4,platform:Windows,", -"03000000790000002601000000000000,TGZ,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows,", "030000004f04000015b3000000000000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"030000004f04000023b3000000000000,Thrustmaster Dual Trigger PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000004f0400000ed0000000000000,ThrustMaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000004f04000008d0000000000000,ThrustMaster Ferrari 150 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000004f04000023b3000000000000,Thrustmaster Dual Trigger 3-in-1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"030000004f0400000ed0000000000000,ThrustMaster eSwap PRO Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Windows,", -"030000004f04000004b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", -"030000004f04000003d0000000000000,ThrustMaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:a3,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:a4,rightstick:b11,righttrigger:b5,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000004f04000009d0000000000000,ThrustMaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"030000006d04000088ca000000000000,Thunderpad,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000666600000288000000000000,TigerGame PlayStation Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"03000000666600000488000000000000,TigerGame PlayStation Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"030000004f04000007d0000000000000,TMini,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000571d00002100000000000000,Tomee NES Controller Adapter,a:b1,b:b0,back:b2,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,start:b3,platform:Windows,", -"03000000571d00002000000000000000,Tomee SNES Controller Adapter,a:b0,b:b1,back:b6,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", +"030000004f04000004b3000000000000,Thrustmaster Firestorm Dual Power 3,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows,", +"03000000666600000488000000000000,TigerGame PS/PS2 Game Controller Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", "03000000d62000006000000000000000,Tournament PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", -"03000000c01100000055000000000000,Tronsmart,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "030000005f140000c501000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000b80500000210000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "030000004f04000087b6000000000000,TWCS Throttle,dpdown:b8,dpleft:b9,dpright:b7,dpup:b6,leftstick:b5,lefttrigger:-a5,leftx:a0,lefty:a1,righttrigger:+a5,platform:Windows,", -"03000000411200000450000000000000,Twin Shock,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a4,start:b11,x:b3,y:b0,platform:Windows,", -"03000000d90400000200000000000000,TwinShock PS2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000151900005678000000000000,Uniplay U6,a:b0,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b10,x:b3,y:b4,platform:Windows,", +"03000000d90400000200000000000000,TwinShock PS2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", +"030000006e0500001320000000000000,U4113,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000101c0000171c000000000000,uRage Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", -"030000000b0400003065000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000242f00006e00000000000000,USB Controller,a:b1,b:b4,back:b10,leftshoulder:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b7,rightx:a2,righty:a5,start:b11,x:b0,y:b3,platform:Windows,", -"03000000300f00000701000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000341a00002308000000000000,USB Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000666600000188000000000000,USB Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows,", -"030000006b1400000203000000000000,USB Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000790000000a00000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", -"03000000b404000081c6000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows,", -"03000000b50700001503000000000000,USB Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b0,y:b1,platform:Windows,", -"03000000bd12000012d0000000000000,USB Controller,a:b0,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ff1100004133000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000632500002305000000000000,USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000300f00000701000000000000,USB 4-Axis 12-Button Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", +"03000000341a00002308000000000000,USB gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"030000005509000000b4000000000000,USB gamepad,a:b10,b:b11,back:b5,dpdown:b1,dpleft:b2,dpright:b3,dpup:b0,guide:b14,leftshoulder:b8,leftstick:b6,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b7,righttrigger:a5,rightx:a2,righty:a3,start:b4,x:b12,y:b13,platform:Windows,", +"030000006b1400000203000000000000,USB gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000790000000a00000000000000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows,", +"03000000f0250000c183000000000000,USB gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", +"03000000ff1100004133000000000000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", +"03000000632500002305000000000000,USB Vibration Joystick (BM),a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", "03000000790000001a18000000000000,Venom,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,", "03000000790000001b18000000000000,Venom Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00000302000000000000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", -"030000006f0e00000702000000000000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000006f0e00000302000000000000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", +"030000006f0e00000702000000000000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows,", "0300000034120000adbe000000000000,vJoy Device,a:b0,b:b1,back:b15,dpdown:b6,dpleft:b7,dpright:b8,dpup:b5,guide:b16,leftshoulder:b9,leftstick:b13,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b14,righttrigger:b12,rightx:a3,righty:a4,start:b4,x:b2,y:b3,platform:Windows,", -"03000000120c0000ab57000000000000,Warrior Joypad JS083,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"030000007e0500003003000000000000,Wii U Pro,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,leftshoulder:b6,leftstick:b11,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b12,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows,", -"0300000032150000030a000000000000,Wildcat,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"0300000032150000140a000000000000,Wolverine,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000002e160000efbe000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,rightshoulder:b5,righttrigger:b11,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700001647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700002045000000000000,Xbox 360 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", -"03000000380700002644000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a2,righty:a5,start:b8,x:b2,y:b3,platform:Windows,", -"03000000380700002647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000003807000026b7000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700003647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a7,righty:a5,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400001907000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400009102000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000000fd000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000001fd000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b000016f0000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000ad1b00008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c62400000053000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c6240000fdfa000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700002847000000000000,Xbox 360 Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000a102000000000000,Xbox 360 Wireless Receiver,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000120c00000a88000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a2,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000120c00001088000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2~,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5~,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000002a0600002000000000000000,Xbox Controller,a:b0,b:b1,back:b13,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b5,leftstick:b14,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b15,righttrigger:b7,rightx:a2,righty:a5,start:b12,x:b2,y:b3,platform:Windows,", -"03000000300f00008888000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:b13,dpleft:b10,dpright:b11,dpup:b12,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000380700001645000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000380700002645000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000380700003645000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"03000000380700008645000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400000202000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000005e0400008502000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400008702000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b7,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000005e0400008902000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b10,leftstick:b8,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b9,righttrigger:b4,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows,", -"030000000d0f00006300000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e0400000c0b000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000d102000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000dd02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000e002000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000e302000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000fd02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000005e040000ff02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e0000a802000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000006f0e0000c802000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"03000000c62400003a54000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "030000005e040000130b000000000000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", "03000000341a00000608000000000000,Xeox,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"03000000450c00002043000000000000,Xeox SL6556BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", -"030000006f0e00000300000000000000,XGear,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Windows,", -"03000000172700004431000000000000,Xiaomi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", -"03000000172700003350000000000000,Xiaomi XMGP01YM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000bc2000005060000000000000,Xiaomi XMGP01YM,+lefty:+a2,+righty:+a5,-lefty:-a1,-righty:-a4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,start:b11,x:b3,y:b4,platform:Windows,", +"03000000450c00002043000000000000,XEOX Gamepad SL-6556-BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,", +"03000000ac0500005b05000000000000,Xiaoji Gamesir-G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows,", +"03000000172700004431000000000000,XiaoMi Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows,", "03000000786901006e70000000000000,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,", -"030000007d0400000340000000000000,Xterminator Digital Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:-a4,lefttrigger:+a4,leftx:a0,lefty:a1,paddle1:b7,paddle2:b6,rightshoulder:b5,rightstick:b9,righttrigger:b2,rightx:a3,righty:a5,start:b8,x:b3,y:b4,platform:Windows,", -"03000000790000004f18000000000000,ZDT Android Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", -"03000000120c00000500000000000000,Zeroplus Adapter,a:b2,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b0,righttrigger:b5,rightx:a3,righty:a2,start:b8,x:b3,y:b0,platform:Windows,", -"03000000120c0000101e000000000000,Zeroplus P4 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", +"03000000790000004f18000000000000,ZD-T Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows,", +"03000000120c0000101e000000000000,ZEROPLUS P4 Wired Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,", "78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757402000000000000000000,XInput Wheel (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757403000000000000000000,XInput Arcade Stick (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", @@ -814,281 +426,198 @@ const char* _glfwDefaultMappings[] = "78696e70757405000000000000000000,XInput Dance Pad (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757406000000000000000000,XInput Guitar (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757408000000000000000000,XInput Drum Kit (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", -#endif // GLFW_BUILD_WIN32_MAPPINGS +#endif // _GLFW_WIN32 -#if defined(GLFW_BUILD_COCOA_MAPPINGS) -"030000008f0e00000300000009010000,2 In 1 Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000c82d00000031000001000000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00000531000000020000,8BitDo Adapter 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00000951000000010000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Mac OS X,", +#if defined(_GLFW_COCOA) +"030000008f0e00000300000009010000,2In1 USB Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000c82d00000090000001000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00001038000000010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00001251000000010000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00001251000000020000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00001151000000010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00001151000000020000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000a30c00002400000006020000,8BitDo M30,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,guide:b9,leftshoulder:b6,lefttrigger:b5,rightshoulder:b4,righttrigger:b7,start:b8,x:b3,y:b0,platform:Mac OS X,", -"03000000c82d00000151000000010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", "03000000c82d00000650000001000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00005106000000010000,8BitDo M30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b2,leftshoulder:b6,lefttrigger:a5,rightshoulder:b7,righttrigger:a4,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000451000000010000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Mac OS X,", +"03000000c82d00005106000000010000,8BitDo M30 Gamepad,a:b1,b:b0,back:b10,guide:b2,leftshoulder:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00001590000001000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00006528000000010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"030000003512000012ab000001000000,8BitDo NES30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d000012ab000001000000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00002028000000010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000022000000090000001000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000203800000900000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000190000001000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000751000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00000851000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00000660000000010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000660000000020000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000131000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000231000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000331000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000431000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00002867000000010000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b3,y:b4,platform:Mac OS X,", -"03000000102800000900000000000000,8BitDo SFC30 Joystick,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00000351000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00001290000001000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000c82d00004028000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"030000003512000012ab000001000000,8BitDo NES30 Gamepad,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000022000000090000001000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000203800000900000000010000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000c82d00000190000001000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000102800000900000000000000,8Bitdo SFC30 GamePad Joystick,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000c82d00001290000001000000,8BitDo SN30 Gamepad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000c82d00004028000000010000,8Bitdo SN30 GamePad,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,dpup:-a1,dpdown:+a1,dpleft:-a0,dpright:+a0,platform:Mac OS X,", "03000000c82d00000160000001000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00000260000001000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000a00500003232000008010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000a00500003232000009010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c82d00001890000001000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000c82d00000031000001000000,8BitDo Wireless Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000c82d00001890000001000000,8BitDo Zero 2,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", "03000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a31,start:b11,x:b4,y:b3,platform:Mac OS X,", -"03000000491900001904000001010000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Mac OS X,", -"03000000710100001904000000010000,Amazon Luna Controller,a:b0,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X,", -"03000000a30c00002700000003030000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", +"03000000a00500003232000008010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000a00500003232000009010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000a30c00002700000003030000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000a30c00002800000003030000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000050b00000045000031000000,ASUS Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", -"03000000050b00000579000000010000,ASUS ROG Kunai 3,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,leftstick:b15,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b42,paddle1:b9,paddle2:b11,rightshoulder:b7,rightstick:b16,righttrigger:a4,rightx:a2,righty:a3,start:b13,x:b3,y:b4,platform:Mac OS X,", -"03000000050b00000679000000010000,ASUS ROG Kunai 3,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,leftstick:b15,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b23,rightshoulder:b7,rightstick:b16,righttrigger:a4,rightx:a2,righty:a3,start:b13,x:b3,y:b4,platform:Mac OS X,", +"03000000ef0500000300000000020000,AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Mac OS X,", +"03000000491900001904000001010000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Mac OS X,", +"03000000710100001904000000010000,Amazon Luna Controller,a:b0,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X,", "03000000c62400001a89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,leftstick:b15,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b16,righttrigger:a4,rightx:a2,righty:a3,start:b13,x:b3,y:b4,platform:Mac OS X,", "03000000c62400001b89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", "03000000d62000002a79000000010000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000120c0000200e000000010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000120c0000210e000000010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000120c0000200e000000010000,Brook Mars,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000120c0000210e000000010000,Brook Mars,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000008305000031b0000000000000,Cideko AK08b,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000d8140000cecf000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000260900008888000088020000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Mac OS X,", -"03000000a306000022f6000001030000,Cyborg V3 Rumble Pad PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000791d00000103000009010000,Dual Box Wii Classic Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", -"030000006e0500000720000010020000,Elecom JC-W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Mac OS X,", -"030000006f0e00008401000003010000,Faceoff Premiere Wired Pro Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000151900004000000001000000,Flydigi Vader 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", -"03000000b40400001124000000000000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b4,paddle2:b5,paddle3:b17,rightshoulder:b7,rightstick:b13,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b2,y:b3,platform:Mac OS X,", +"03000000a306000022f6000001030000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000790000004618000000010000,GameCube Controller Adapter,a:b4,b:b0,dpdown:b56,dpleft:b60,dpright:b52,dpup:b48,lefttrigger:a12,leftx:a0,lefty:a4,rightshoulder:b28,righttrigger:a16,rightx:a20,righty:a8,start:b36,x:b8,y:b12,platform:Mac OS X,", -"03000000ad1b000001f9000000000000,Gamestop BB070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"03000000ad1b000001f9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", "0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", "03000000c01100000140000000010000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000006f0e00000102000000000000,GameStop Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000007d0400000540000001010000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000280400000140000000020000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000008f0e00000300000007010000,GreenAsia Joystick,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Mac OS X,", +"030000006f0e00000102000000000000,GameStop Xbox 360 Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000007d0400000540000001010000,Gravis Eliminator GamePad Pro,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000280400000140000000020000,Gravis Gamepad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000008f0e00000300000007010000,GreenAsia Inc. USB Joystick,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Mac OS X,", "030000000d0f00002d00000000100000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00005f00000000000000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00005f00000000010000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00005e00000000000000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00005e00000000010000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00008400000000010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00008500000000010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00008800000000010000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00008700000000010000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00004d00000000000000,Hori Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00003801000008010000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Mac OS X,", -"030000000d0f00009200000000010000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00006e00000000010000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00006600000000010000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f00006600000000000000,Horipad FPS Plus 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000000d0f0000ee00000000010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00005f00000000010000,Hori Fighting Commander 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00005e00000000010000,Hori Fighting Commander 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00005f00000000000000,HORI Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00005e00000000000000,HORI Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00004d00000000000000,HORI Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00009200000000010000,Hori Pokken Tournament DX Pro Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00006e00000000010000,HORIPAD 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00006600000000010000,HORIPAD 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f00006600000000000000,HORIPAD FPS PLUS 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000000d0f0000ee00000000010000,HORIPAD mini4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000008f0e00001330000011010000,HuiJia SNES Controller,a:b4,b:b2,back:b16,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b12,rightshoulder:b14,start:b18,x:b6,y:b0,platform:Mac OS X,", -"03000000790000004e95000000010000,Hyperkin N64 Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a5,righty:a2,start:b9,platform:Mac OS X,", -"03000000830500006020000000000000,iBuffalo Gamepad,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,", -"03000000ef0500000300000000020000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Mac OS X,", -"03000000fd0500000030000010010000,Interact GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Mac OS X,", +"03000000830500006020000000010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,", +"03000000830500006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,", "030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Mac OS X,", "030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Mac OS X,", -"03000000242f00002d00000007010000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", -"030000006d04000019c2000000000000,Logitech Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000242f00002d00000007010000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", "030000006d04000016c2000000020000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000006d04000016c2000000030000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000006d04000016c2000014040000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000006d04000016c2000000000000,Logitech F310,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000006d04000018c2000000000000,Logitech F510,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000006d04000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000006d04000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000006d04000019c2000005030000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000006d0400001fc2000000000000,Logitech F710,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000006d04000018c2000000010000,Logitech RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3~,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000380700005032000000010000,Mad Catz PS3 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000380700008433000000010000,Mad Catz PS3 Fightstick TE S+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000380700005082000000010000,Mad Catz PS4 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000380700008483000000010000,Mad Catz PS4 Fightstick TE S+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000790000000600000007010000,Marvo GT-004,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000790000004318000000010000,Mayflash GameCube Adapter,a:b4,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a12,leftx:a0,lefty:a4,rightshoulder:b28,righttrigger:a16,rightx:a20,righty:a8,start:b36,x:b8,y:b12,platform:Mac OS X,", +"030000006d0400001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000006d04000018c2000000010000,Logitech RumblePad 2 USB,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3~,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000006d04000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000380700005032000000010000,Mad Catz FightPad PRO (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000380700005082000000010000,Mad Catz FightPad PRO (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000380700008433000000010000,Mad Catz FightStick TE S+ (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000380700008483000000010000,Mad Catz FightStick TE S+ (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000790000000600000007010000,Marvo GT-004,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,", "03000000790000004418000000010000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000242f00007300000000020000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Mac OS X,", "0300000079000000d218000026010000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000d620000010a7000003010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"0300000025090000e803000000000000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Mac OS X,", -"03000000790000000318000000010000,Mayflash Wii DolphinBar,a:b8,b:b12,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b44,leftshoulder:b16,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b4,platform:Mac OS X,", -"03000000790000000018000000000000,Mayflash Wii U Pro Adapter,a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X,", -"03000000790000000018000000010000,Mayflash Wii U Pro Adapter,a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X,", -"030000005e0400002800000002010000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Mac OS X,", -"030000005e0400002700000001010000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Mac OS X,", -"03000000d62000007162000001000000,Moga Pro 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X,", -"03000000c62400002a89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c62400002b89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000632500007505000000020000,NeoGeo mini PAD Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Mac OS X,", +"0300000025090000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Mac OS X,", +"03000000790000000018000000010000,Mayflash Wii U Pro Controller Adapter,a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X,", +"03000000790000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X,", +"03000000d8140000cecf000000000000,MC Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000005e0400002700000001010000,Microsoft SideWinder Plug & Play Game Pad,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,leftx:a0,lefty:a1,righttrigger:b5,x:b2,y:b3,platform:Mac OS X,", +"03000000d62000007162000001000000,Moga Pro 2 HID,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X,", +"03000000c62400002a89000000010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000c62400002b89000000010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000632500007505000000020000,NEOGEO mini PAD Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Mac OS X,", "03000000921200004b46000003020000,NES 2-port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Mac OS X,", "030000001008000001e5000006010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000d620000011a7000000020000,Nintendo Switch Core Plus Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000d620000011a7000010050000,Nintendo Switch PowerA Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000d620000011a7000000020000,Nintendo Switch Core (Plus) Wired Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000d620000011a7000010050000,Nintendo Switch PowerA Wired Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", "030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", -"030000007e0500001920000001000000,NSO N64 Controller,+rightx:b8,+righty:b7,-rightx:b3,-righty:b2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Mac OS X,", -"030000007e0500001720000001000000,NSO SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b15,start:b9,x:b2,y:b3,platform:Mac OS X,", -"03000000550900001472000025050000,NVIDIA Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Mac OS X,", -"030000006f0e00000901000002010000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000008f0e00000300000000000000,Piranha Xtreme PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Mac OS X,", -"030000004c050000da0c000000010000,PlayStation Classic Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", +"03000000550900001472000025050000,NVIDIA Controller v01.04,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Mac OS X,", +"030000006f0e00000901000002010000,PDP Versus Fighting Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000008f0e00000300000000000000,Piranha xtreme,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Mac OS X,", +"030000004c050000da0c000000010000,Playstation Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "030000004c0500003713000000010000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000d62000006dca000000010000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000100800000300000006010000,PS2 Adapter,a:b2,b:b1,back:b8,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", "030000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,", "030000004c0500006802000000010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,", -"030000004c0500006802000072050000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,", "030000004c050000a00b000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Mac OS X,", -"050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Mac OS X,", -"03000000222c00000225000000010000,Qanba Dragon Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000222c00000020000000010000,Qanba Drone Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000008916000000fd000000000000,Razer Onza TE,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000321500000204000000010000,Razer Panthera PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000321500000104000000010000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000321500000010000000010000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000321500000204000000010000,Razer Panthera (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000321500000104000000010000,Razer Panthera (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000321500000010000000010000,Razer RAIJU,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000321500000507000001010000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000321500000011000000010000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000321500000011000000010000,Razer Raion Fightpad for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000321500000009000000020000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,", "030000003215000000090000163a0000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,", "0300000032150000030a000000000000,Razer Wildcat,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000632500008005000000010000,Redgear,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", -"030000000d0f0000c100000072050000,Retro Bit Sega Genesis 6B Controller,a:b2,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b8,rightshoulder:b6,righttrigger:b7,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000921200004547000000020000,Retro Bit Sega Genesis Controller Adapter,a:b0,b:b2,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,lefttrigger:b14,rightshoulder:b10,righttrigger:b4,start:b12,x:b6,y:b8,platform:Mac OS X,", -"03000000790000001100000000000000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000790000001100000005010000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000830500006020000000010000,Retro Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b8,righttrigger:b9,start:b7,x:b2,y:b3,platform:Mac OS X,", +"03000000790000001100000000000000,Retrolink Classic Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a3,lefty:a4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000790000001100000006010000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "030000006b140000010d000000010000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000006b140000130d000000010000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000c6240000fefa000000000000,Rock Candy PS3,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000730700000401000000010000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Mac OS X,", -"03000000a30c00002500000006020000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Mac OS X,", +"03000000c6240000fefa000000000000,Rock Candy Gamepad for PS3,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"03000000730700000401000000010000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Mac OS X,", "03000000811700007e05000000000000,Sega Saturn,a:b2,b:b4,dpdown:b16,dpleft:b15,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,leftx:a0,lefty:a2,rightshoulder:b9,righttrigger:a4,start:b13,x:b0,y:b6,platform:Mac OS X,", -"03000000b40400000a01000000000000,Sega Saturn,a:b0,b:b1,back:b5,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b2,leftshoulder:b6,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Mac OS X,", -"030000003512000021ab000000000000,SFC30 Joystick,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", +"03000000b40400000a01000000000000,Sega Saturn USB Gamepad,a:b0,b:b1,back:b5,guide:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Mac OS X,", +"030000003512000021ab000000000000,SFC30 Joystick,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X,", "0300000000f00000f100000000000000,SNES RetroPort,a:b2,b:b3,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,rightshoulder:b7,start:b6,x:b0,y:b1,platform:Mac OS X,", -"030000004c050000a00b000000000000,Sony DualShock 4 Adapter,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000004c050000e60c000000010000,Sony DualSense,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004c050000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000004c050000a00b000000000000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "03000000d11800000094000000010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X,", "030000005e0400008e02000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000110100002014000000000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X,", +"03000000110100002014000000000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3,platform:Mac OS X,", "03000000110100002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X,", "03000000381000002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X,", -"05000000484944204465766963650000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X,", "050000004e696d6275732b0000000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X,", -"050000004e696d6275732b008b000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X,", -"05000000556e6b6e6f776e2048494400,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X,", -"03000000381000003014000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000381000003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", "03000000110100001714000000000000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X,", "03000000110100001714000020010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X,", -"030000000d0f0000f600000000010000,Switch Hori Pad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,", -"03000000457500002211000000010000,SZMY Power PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000457500002211000000010000,SZMY-POWER PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004f04000015b3000000000000,Thrustmaster Dual Analog 3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Mac OS X,", -"030000004f0400000ed0000000020000,ThrustMaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000004f0400000ed0000000020000,ThrustMaster eSwap PRO Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", "030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Mac OS X,", -"03000000571d00002100000021000000,Tomee NES Controller Adapter,a:b1,b:b0,back:b2,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,start:b3,platform:Mac OS X,", -"03000000bd12000015d0000000010000,Tomee Retro Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000bd12000015d0000000000000,Tomee SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", -"03000000571d00002000000021000000,Tomee SNES Controller Adapter,a:b0,b:b1,back:b6,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Mac OS X,", -"030000005f140000c501000000020000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", +"03000000bd12000015d0000000000000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", +"03000000bd12000015d0000000010000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X,", "03000000100800000100000000000000,Twin USB Joystick,a:b4,b:b2,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b12,leftstick:b20,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b14,rightstick:b22,righttrigger:b10,rightx:a6,righty:a4,start:b18,x:b6,y:b0,platform:Mac OS X,", -"030000006f0e00000302000025040000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", -"030000006f0e00000702000003060000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000006f0e00000302000025040000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"030000006f0e00000702000003060000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000791d00000103000009010000,Wii Classic Controller,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,", "050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,back:b7,dpdown:b3,dpleft:b0,dpright:b1,dpup:b2,guide:b8,leftshoulder:b11,lefttrigger:b12,leftx:a0,lefty:a1,start:b6,x:b10,y:b9,platform:Mac OS X,", "050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,back:b7,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b8,leftshoulder:b19,leftstick:b23,lefttrigger:b21,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b24,righttrigger:b22,rightx:a2,righty:a3,start:b6,x:b18,y:b17,platform:Mac OS X,", -"030000005e0400008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000006f0e00000104000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"03000000c6240000045d000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e0400008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000006f0e00000104000000000000,Xbox 360 Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"03000000c6240000045d000000000000,Xbox 360 Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", "030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000050b000003090000,Xbox Elite Controller Series 2,a:b0,b:b1,back:b31,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b53,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000130b000011050000,Xbox One Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000200b000011050000,Xbox One Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000d102000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000dd02000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000e002000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000e002000003090000,Xbox One Controller,a:b0,b:b1,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000e302000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", -"030000005e040000fd02000003090000,Xbox One Controller,a:b0,b:b1,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000c62400003a54000000000000,Xbox One PowerA Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000050b000003090000,Xbox Elite Wireless Controller Series 2,a:b0,b:b1,back:b31,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b53,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000c62400003a54000000000000,Xbox One PowerA Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000d102000000000000,Xbox One Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000dd02000000000000,Xbox One Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000e302000000000000,Xbox One Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", "030000005e040000130b000001050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", "030000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000130b000009050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"030000005e040000130b000013050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000172700004431000029010000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Mac OS X,", -"03000000120c0000100e000000010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -"03000000120c0000101e000000010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", -#endif // GLFW_BUILD_COCOA_MAPPINGS +"030000005e040000e002000000000000,Xbox Wireless Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000e002000003090000,Xbox Wireless Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000ea02000000000000,Xbox Wireless Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,", +"030000005e040000fd02000003090000,Xbox Wireless Controller,a:b0,b:b1,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000172700004431000029010000,XiaoMi Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Mac OS X,", +"03000000120c0000100e000000010000,ZEROPLUS P4 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +"03000000120c0000101e000000010000,ZEROPLUS P4 Wired Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,", +#endif // _GLFW_COCOA -#if defined(GLFW_BUILD_LINUX_MAPPINGS) -"030000005e0400008e02000020010000,8BitDo Adapter,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000c82d00000031000011010000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c82d00000951000000010000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Linux,", -"03000000021000000090000011010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +#if defined(GLFW_BUILD_LINUX_JOYSTICK) "03000000c82d00000090000011010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00001038000000010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00001251000011010000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00001251000000010000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00001151000011010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00001151000000010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000151000000010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c82d00000650000011010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,start:b11,x:b3,y:b4,platform:Linux,", +"05000000c82d00001038000000010000,8Bitdo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "05000000c82d00005106000000010000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c82d00000451000000010000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Linux,", "03000000c82d00001590000011010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "05000000c82d00006528000000010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000008000000210000011010000,8BitDo NES30,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", "03000000c82d00000310000011010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4,platform:Linux,", "05000000c82d00008010000000010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4,platform:Linux,", -"03000000022000000090000011010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000190000011010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000203800000900000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00002038000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000751000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000c82d00000851000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c82d00000660000011010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00000660000000010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000131000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000231000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000331000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00000431000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d00002867000000010000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b3,y:b4,platform:Linux,", +"03000000022000000090000011010000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +"05000000203800000900000000010000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +"05000000c82d00002038000000010000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +"03000000c82d00000190000011010000,8Bitdo NES30 Pro 8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "05000000c82d00000060000000010000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00000061000000010000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"030000003512000012ab000010010000,8BitDo SFC30,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0,platform:Linux,", -"030000003512000021ab000010010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c82d000021ab000010010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"05000000102800000900000000010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00003028000000010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"05000000c82d00000351000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +"05000000c82d00000061000000010000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", +"03000000c82d000021ab000010010000,8BitDo SFC30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", +"030000003512000012ab000010010000,8Bitdo SFC30 GamePad,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0,platform:Linux,", +"05000000102800000900000000010000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", +"05000000c82d00003028000000010000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", "03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux,", "03000000c82d00000160000011010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux,", @@ -1097,272 +626,219 @@ const char* _glfwDefaultMappings[] = "05000000c82d00006228000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "03000000c82d00000260000011010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", "05000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"05000000202800000900000000010000,8BitDo SNES30,a:b1,b:b0,back:b10,dpdown:b122,dpleft:b119,dpright:b120,dpup:b117,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"05000000a00500003232000001000000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux,", -"05000000a00500003232000008010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c82d00001890000011010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", -"050000005e040000e002000030110000,8BitDo Zero 2,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux,", +"05000000202800000900000000010000,8BitDo SNES30 Gamepad,a:b1,b:b0,back:b10,dpdown:b122,dpleft:b119,dpright:b120,dpup:b117,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", +"03000000c82d00000031000011010000,8BitDo Wireless Adapter (DInput),a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000005e0400008e02000020010000,8BitDo Wireless Adapter (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c82d00001890000011010000,8BitDo Zero 2,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux,", "05000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux,", -"03000000c01100000355000011010000,Acrux Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"050000005e040000e002000030110000,8BitDo Zero 2 (XInput),a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux,", +"05000000a00500003232000001000000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux,", +"05000000a00500003232000008010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux,", +"03000000c01100000355000011010000,ACRUX USB GAME PAD,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000006f0e00001302000000010000,Afterglow,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006f0e00003901000020060000,Afterglow Controller for Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000006f0e00003901000000430000,Afterglow Prismatic Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e00003901000013020000,Afterglow Prismatic Controller 048-007-NA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e00001302000000010000,Afterglow Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e00003901000020060000,Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000100000008200000011010000,Akishop Customs PS360,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000007c1800000006000010010000,Alienware Dual Compatible Game PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Linux,", -"05000000491900000204000021000000,Amazon Fire Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b17,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b12,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000006f0e00003901000013020000,Afterglow Prismatic Wired Controller 048-007-NA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000100000008200000011010000,Akishop Customs PS360+ v1.66,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000007c1800000006000010010000,Alienware Dual Compatible Game Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Linux,", +"05000000491900000204000021000000,Amazon Fire Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b17,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b12,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "03000000491900001904000011010000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Linux,", "05000000710100001904000000010000,Amazon Luna Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", "03000000790000003018000011010000,Arcade Fightstick F300,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"03000000a30c00002700000011010000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", +"03000000a30c00002700000011010000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", "03000000a30c00002800000011010000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", "05000000050b00000045000031000000,ASUS Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Linux,", "05000000050b00000045000040000000,ASUS Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Linux,", -"03000000050b00000579000011010000,ASUS ROG Kunai 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b36,paddle1:b52,paddle2:b53,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000050b00000679000000010000,ASUS ROG Kunai 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b21,paddle1:b22,paddle2:b23,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000503200000110000000000000,Atari Classic Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,platform:Linux,", -"03000000503200000110000011010000,Atari Classic Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,platform:Linux,", -"05000000503200000110000000000000,Atari Classic Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,platform:Linux,", -"05000000503200000110000044010000,Atari Classic Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,platform:Linux,", -"05000000503200000110000046010000,Atari Classic Controller,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,platform:Linux,", -"03000000503200000210000000000000,Atari Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3,platform:Linux,", -"03000000503200000210000011010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", -"05000000503200000210000000000000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", -"05000000503200000210000045010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", -"05000000503200000210000046010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", -"05000000503200000210000047010000,Atari VCS Modern Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:-a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3,platform:Linux,", -"03000000c62400001b89000011010000,BDA MOGA XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"03000000503200000110000000000000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux,", +"05000000503200000110000000000000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux,", +"03000000503200000210000000000000,Atari Game Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", +"05000000503200000210000000000000,Atari Game Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux,", +"03000000120c00000500000010010000,AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux,", +"03000000ef0500000300000000010000,AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux,", +"03000000c62400001b89000011010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "03000000d62000002a79000011010000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000c21100000791000011010000,Be1 GC101 Controller 1.03,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000c31100000791000011010000,Be1 GC101 Controller 1.03,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"030000005e0400008e02000003030000,Be1 GC101 Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c21100000791000011010000,Be1 GC101 Controller 1.03 mode,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000c31100000791000011010000,Be1 GC101 GAMEPAD 1.03 mode,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000005e0400008e02000003030000,Be1 GC101 Xbox 360 Controller mode,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "05000000bc2000000055000001000000,BETOP AX1 BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000bc2000006412000011010000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b30,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000006b1400000209000011010000,Bigben,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000666600006706000000010000,Boom PSX to PC Converter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Linux,", -"03000000120c0000200e000011010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000120c0000210e000011010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000666600006706000000010000,boom PSX to PC Converter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Linux,", +"03000000120c0000200e000011010000,Brook Mars,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000120c0000210e000011010000,Brook Mars,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "03000000120c0000f70e000011010000,Brook Universal Fighting Board,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"03000000ffff0000ffff000000010000,Chinese-made Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", "03000000e82000006058000001010000,Cideko AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", "030000000b0400003365000000010000,Competition Pro,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Linux,", "03000000260900008888000000010000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Linux,", -"03000000a306000022f6000011010000,Cyborg V3 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", -"03000000791d00000103000010010000,Dual Box Wii Classic Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000a306000022f6000011010000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", +"03000000b40400000a01000000010000,CYPRESS USB Gamepad,a:b0,b:b1,back:b5,guide:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Linux,", +"03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Linux,", +"030000004f04000004b3000010010000,Dual Power 2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", "030000006f0e00003001000001010000,EA Sports PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000c11100000191000011010000,EasySMX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000242f00009100000000010000,EasySMX ESM-9101,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006e0500000320000010010000,Elecom U3613M,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux,", -"030000006e0500000720000010010000,Elecom W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Linux,", -"030000007d0400000640000010010000,Eliminator AfterShock,a:b1,b:b2,back:b9,dpdown:+a3,dpleft:-a5,dpright:+a5,dpup:-a3,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a4,righty:a2,start:b8,x:b0,y:b3,platform:Linux,", -"03000000430b00000300000000010000,EMS Production PS2 Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", -"03000000b40400001124000011010000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:a5,leftx:a0,lefty:a1,paddle1:b2,paddle2:b5,paddle4:b17,rightshoulder:b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000151900004000000001000000,Flydigi Vader 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"03000000ac0500005b05000010010000,GameSir G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000341a000005f7000010010000,GameCube {HuiJia USB box},a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Linux,", "03000000bc2000000055000011010000,GameSir G3w,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000558500001b06000010010000,GameSir G4 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000ac0500002d0200001b010000,GameSir G4s,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b33,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000bc2000005656000011010000,GameSir T4w,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", "030000006f0e00000104000000010000,Gamestop Logic3 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000008f0e00000800000010010000,Gasia PlayStation Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000008f0e00000800000010010000,Gasia Co. Ltd PS(R) Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000006f0e00001304000000010000,Generic X-Box pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000451300000010000010010000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"03000000f0250000c183000010010000,Goodbetterbest Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000f0250000c183000010010000,Goodbetterbest Ltd USB Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "0300000079000000d418000000010000,GPD Win 2 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000007d0400000540000000010000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"03000000280400000140000000010000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000008f0e00000610000000010000,GreenAsia Electronics Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Linux,", -"030000008f0e00001200000010010000,GreenAsia Joystick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", +"030000007d0400000540000000010000,Gravis Eliminator GamePad Pro,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"03000000280400000140000000010000,Gravis GamePad Pro USB ,a:b1,b:b2,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000008f0e00000610000000010000,GreenAsia Electronics 4Axes 12Keys GamePad ,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Linux,", +"030000008f0e00001200000010010000,GreenAsia Inc. USB Joystick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", "0500000047532067616d657061640000,GS gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", "03000000f0250000c383000010010000,GT VX2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"06000000adde0000efbe000002010000,Hidromancer Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000d81400000862000011010000,HitBox PS3 PC Analog Mode,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b12,x:b0,y:b3,platform:Linux,", -"03000000c9110000f055000011010000,HJC Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"03000000632500002605000010010000,HJDX,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"030000000d0f00000d00000000010000,Hori,a:b0,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,rightshoulder:b7,start:b9,x:b1,y:b2,platform:Linux,", -"030000000d0f00006d00000020010000,Hori EDGE 301,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:+a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000000d0f00005f00000011010000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00005e00000011010000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00005001000009040000,Hori Fighting Commander OCTA Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000000d0f00008500000010010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00008600000002010000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"030000000d0f00008800000011010000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00008700000011010000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,rightshoulder:b5,rightstick:b11,righttrigger:a4,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00001000000011010000,Hori Fightstick 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"03000000ad1b000003f5000033050000,Hori Fightstick VX,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b8,guide:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux,", -"030000000d0f00004d00000011010000,Hori Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"06000000adde0000efbe000002010000,Hidromancer Game Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000d81400000862000011010000,HitBox (PS3/PC) Analog Mode,a:b1,b:b2,back:b8,guide:b9,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b12,x:b0,y:b3,platform:Linux,", +"03000000c9110000f055000011010000,HJC Game GAMEPAD,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"03000000632500002605000010010000,HJD-X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000000d0f00000d00000000010000,hori,a:b0,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,leftx:b4,lefty:b5,rightshoulder:b7,start:b9,x:b1,y:b2,platform:Linux,", +"030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f0000c100000011010000,HORI CO. LTD. HORIPAD S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00006a00000011010000,HORI CO. LTD. Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00006b00000011010000,HORI CO. LTD. Real Arcade Pro.4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00002200000011010000,HORI CO. LTD. REAL ARCADE Pro.V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00008500000010010000,HORI Fighting Commander,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00008600000002010000,Hori Fighting Commander,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"030000000d0f00005f00000011010000,Hori Fighting Commander 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00005e00000011010000,Hori Fighting Commander 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000000d0f00003801000011010000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Linux,", -"030000000d0f00009200000011010000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f0000aa00000011010000,Hori Real Arcade Pro,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000000d0f00001100000011010000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00002200000011010000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00006a00000011010000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00006b00000011010000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00001600000000010000,Hori Real Arcade Pro EXSE,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux,", -"030000000d0f00006e00000011010000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00006600000011010000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f0000ee00000011010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000000d0f00006700000001010000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000000d0f0000c100000011010000,Horipad S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"050000000d0f0000f600000001000000,Horipad Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"03000000341a000005f7000010010000,HuiJia GameCube Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00009200000011010000,Hori Pokken Tournament DX Pro Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f0000aa00000011010000,HORI Real Arcade Pro,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000000d0f0000d800000072056800,HORI Real Arcade Pro S,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", +"030000000d0f00001600000000010000,Hori Real Arcade Pro.EX-SE (Xbox 360),a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux,", +"030000000d0f00006e00000011010000,HORIPAD 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00006600000011010000,HORIPAD 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f0000ee00000011010000,HORIPAD mini4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000000d0f00006700000001010000,HORIPAD ONE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000008f0e00001330000010010000,HuiJia SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b9,x:b3,y:b0,platform:Linux,", "03000000242e00008816000001010000,Hyperkin X91,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000830500006020000010010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Linux,", -"050000006964726f69643a636f6e0000,idroidcon Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000b50700001503000010010000,Impact,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", -"03000000d80400008200000003000000,IMS PCU0,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b5,x:b3,y:b2,platform:Linux,", -"03000000120c00000500000010010000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux,", -"03000000ef0500000300000000010000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux,", -"03000000fd0500000030000000010000,InterAct GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Linux,", -"03000000fd0500002a26000000010000,InterAct HammerHead FX,a:b3,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b2,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux,", -"0500000049190000020400001b010000,Ipega PG 9069,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b161,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000632500007505000011010000,Ipega PG 9099,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"0500000049190000030400001b010000,Ipega PG9099,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000491900000204000000000000,Ipega PG9118,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000300f00001001000010010000,Jess Tech Dual Analog Rumble,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", -"03000000300f00000b01000010010000,Jess Tech GGE909 PC Recoil,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", -"03000000ba2200002010000001010000,Jess Technology Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", +"050000006964726f69643a636f6e0000,idroid:con,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000b50700001503000010010000,impact,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", +"03000000d80400008200000003000000,IMS PCU#0 Gamepad Interface,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b5,x:b3,y:b2,platform:Linux,", +"03000000fd0500000030000000010000,InterAct GoPad I-73000 (Fighting Game Layout),a:b3,b:b4,back:b6,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,start:b7,x:b0,y:b1,platform:Linux,", +"0500000049190000020400001b010000,Ipega PG-9069 - Bluetooth Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b161,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"03000000632500007505000011010000,Ipega PG-9099 - Bluetooth Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000006e0500000320000010010000,JC-U3613M - DirectInput Mode,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux,", +"03000000300f00001001000010010000,Jess Tech Dual Analog Rumble Pad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", +"03000000300f00000b01000010010000,Jess Tech GGE909 PC Recoil Pad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", +"03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", "030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Linux,", "050000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Linux,", "030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux,", "050000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux,", "03000000bd12000003c0000010010000,Joypad Alpha Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000242f00002d00000011010000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000242f00008a00000011010000,JYS Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux,", +"03000000242f00002d00000011010000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000242f00008a00000011010000,JYS Wireless Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux,", "030000006f0e00000103000000020000,Logic3 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006d040000d1ca000000000000,Logitech Chillstream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000006d040000d1ca000000000000,Logitech ChillStream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006d04000016c2000010010000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006d04000016c2000011010000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000006d0400001dc2000014400000,Logitech F310,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006d0400001ec2000019200000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006d0400001ec2000020200000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006d04000019c2000011010000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000006d0400001fc2000005030000,Logitech F710,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006d0400001ec2000019200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006d0400000ac2000010010000,Logitech Inc. WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Linux,", "030000006d04000018c2000010010000,Logitech RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b10,rightx:a3,righty:a4,start:b8,x:b3,y:b4,platform:Linux,", -"030000006d0400000ac2000010010000,Logitech WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Linux,", -"05000000380700006652000025010000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700008532000010010000,Mad Catz Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700005032000011010000,Mad Catz Fightpad Pro PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700005082000011010000,Mad Catz Fightpad Pro PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"050000004d4f435554452d3035305800,M54-PC,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"05000000380700006652000025010000,Mad Catz C.T.R.L.R ,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700005032000011010000,Mad Catz FightPad PRO (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700005082000011010000,Mad Catz FightPad PRO (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "03000000ad1b00002ef0000090040000,Mad Catz Fightpad SFxT,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Linux,", -"03000000380700008034000011010000,Mad Catz Fightstick PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700008084000011010000,Mad Catz Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700008433000011010000,Mad Catz Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700008483000011010000,Mad Catz Fightstick TE S PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700001888000010010000,Mad Catz Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700003888000010010000,Mad Catz Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:a0,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000380700001647000010040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000380700003847000090040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"03000000380700008034000011010000,Mad Catz fightstick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700008084000011010000,Mad Catz fightstick (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700008433000011010000,Mad Catz FightStick TE S+ (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700008483000011010000,Mad Catz FightStick TE S+ (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700001647000010040000,Mad Catz Wired Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000380700003847000090040000,Mad Catz Wired Xbox 360 Controller (SFIV),a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", "03000000ad1b000016f0000090040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000380700001888000010010000,MadCatz PC USB Wired Stick 8818,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000380700003888000010010000,MadCatz PC USB Wired Stick 8838,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:a0,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000242f0000f700000001010000,Magic-S Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000120c00000500000000010000,Manta Dualshock 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", -"03000000790000004318000010010000,Mayflash GameCube Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", "03000000790000004418000010010000,Mayflash GameCube Controller,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", +"03000000790000004318000010010000,Mayflash GameCube Controller Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Linux,", "03000000242f00007300000011010000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux,", "0300000079000000d218000011010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "03000000d620000010a7000011010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000242f0000f700000001010000,Mayflash Magic S Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"0300000025090000e803000001010000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:a5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", -"03000000790000000318000011010000,Mayflash Wii DolphinBar,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Linux,", -"03000000b50700001203000010010000,Mega World Logic 3 Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", -"03000000780000000600000010010000,Microntek Joystick,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", -"030000005e0400002800000000010000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Linux,", +"0300000025090000e803000001010000,Mayflash Wii Classic Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:a5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", +"03000000780000000600000010010000,Microntek USB Joystick,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", "030000005e0400000e00000000010000,Microsoft SideWinder,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Linux,", -"030000005e0400000700000000010000,Microsoft SideWinder Gamepad,a:b0,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Linux,", -"030000005e0400002700000000010000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Linux,", -"030000005e0400008502000000010000,Microsoft Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", -"030000005e0400008e02000001000000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.1,dpleft:h0.2,dpright:h0.8,dpup:h0.4,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000004010000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000056210000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000062230000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000120b00000b050000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000d102000001010000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000d102000003020000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"060000005e040000120b000009050000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000dd02000003020000,Microsoft Xbox One 2015,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000e302000003020000,Microsoft Xbox One Elite,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000000b000008040000,Microsoft Xbox One Elite 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000005e040000050b000003090000,Microsoft Xbox One Elite 2,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"030000005e040000ea02000008040000,Microsoft Xbox One S,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008902000021010000,Microsoft Xbox pad v2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", +"030000005e0400008e02000004010000,Microsoft X-Box 360 pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400008e02000062230000,Microsoft X-Box 360 pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"050000005e040000050b000003090000,Microsoft X-Box One Elite 2 pad,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000005e040000e302000003020000,Microsoft X-Box One Elite pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000d102000001010000,Microsoft X-Box One pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000dd02000003020000,Microsoft X-Box One pad (Firmware 2015),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000d102000003020000,Microsoft X-Box One pad v2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400008502000000010000,Microsoft X-Box pad (Japan),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", +"030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", +"030000005e040000000b000008040000,Microsoft Xbox One Elite 2 pad - Wired,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000ea02000008040000,Microsoft Xbox One S pad - Wired,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c62400001a53000000010000,Mini PE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000030000000300000002000000,Miroof,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Linux,", -"050000004d4f435554452d3035335800,Mocute 053X,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"050000004d4f435554452d3035305800,Mocute 054X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000d6200000e589000001000000,Moga 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", +"05000000d6200000e589000001000000,Moga 2 HID,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", "05000000d6200000ad0d000001000000,Moga Pro,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", -"05000000d62000007162000001000000,Moga Pro 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", -"03000000c62400002b89000011010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000c62400002a89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b22,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000c62400001a89000000010000,MOGA XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000250900006688000000010000,MP8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux,", -"030000005e0400008e02000010020000,MSI GC20 V2,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006b1400000906000014010000,Nacon Asymmetric Wireless PS4 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006b140000010c000010010000,Nacon GC 400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"03000000853200000706000012010000,Nacon GC-100,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"05000000d62000007162000001000000,Moga Pro 2 HID,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux,", +"03000000c62400002b89000011010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"05000000c62400002a89000000010000,MOGA XP5-A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b22,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"05000000c62400001a89000000010000,MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"03000000250900006688000000010000,MP-8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux,", +"030000006b140000010c000010010000,NACON GC-400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", "030000000d0f00000900000010010000,Natec Genesis P44,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000004f1f00000800000011010000,NeoGeo PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"0300000092120000474e000000010000,NeoGeo X Arcade Stick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b3,y:b2,platform:Linux,", -"03000000790000004518000010010000,Nexilux GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", +"03000000790000004518000010010000,NEXILUX GAMECUBE Controller Adapter,a:b1,b:b0,x:b2,y:b3,start:b9,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,platform:Linux,", "030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Linux,", "060000007e0500003713000000000000,Nintendo 3DS,a:b0,b:b1,back:b8,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", +"060000007e0500000820000000000000,Nintendo Combined Joy-Cons (joycond),a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", "030000007e0500003703000000016800,Nintendo GameCube Controller,a:b0,b:b2,dpdown:b6,dpleft:b4,dpright:b5,dpup:b7,lefttrigger:a4,leftx:a0,lefty:a1~,rightshoulder:b9,righttrigger:a5,rightx:a2,righty:a3~,start:b8,x:b1,y:b3,platform:Linux,", "03000000790000004618000010010000,Nintendo GameCube Controller Adapter,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a5~,righty:a2~,start:b9,x:b2,y:b3,platform:Linux,", -"060000007e0500000620000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", -"060000007e0500000820000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", -"050000004c69632050726f20436f6e00,Nintendo Switch Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"050000007e0500000620000001800000,Nintendo Switch Left Joy-Con,a:b16,b:b15,back:b4,leftshoulder:b6,leftstick:b12,leftx:a1,lefty:a0~,rightshoulder:b8,start:b9,x:b14,y:b17,platform:Linux,", -"03000000d620000013a7000011010000,Nintendo Switch PowerA Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000d620000011a7000011010000,Nintendo Switch PowerA Core Plus Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000007e0500000920000011810000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", -"050000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"050000007e0500000920000001800000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", -"050000007e0500000720000001800000,Nintendo Switch Right Joy-Con,a:b1,b:b2,back:b9,leftshoulder:b4,leftstick:b10,leftx:a1~,lefty:a0,rightshoulder:b6,start:b8,x:b0,y:b3,platform:Linux,", -"05000000010000000100000003000000,Nintendo Wii Remote,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"050000007e0500003003000001000000,Nintendo Wii U Pro Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", -"030000000d0500000308000010010000,Nostromo n45 Dual Analog,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Linux,", -"050000007e0500001920000001000000,NSO N64 Controller,+rightx:b8,+righty:b7,-rightx:b3,-righty:b2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Linux,", -"050000007e0500001720000001000000,NSO SNES Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", +"050000007e0500000620000001800000,Nintendo Switch Left Joy-Con,a:b9,b:b8,back:b5,leftshoulder:b2,leftstick:b6,leftx:a1,lefty:a0~,rightshoulder:b4,start:b0,x:b7,y:b10,platform:Linux,", +"030000007e0500000920000011810000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", +"050000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"050000007e0500000920000001800000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,", +"050000007e0500000720000001800000,Nintendo Switch Right Joy-Con,a:b1,b:b2,back:b9,leftshoulder:b4,leftstick:b10,leftx:a1~,lefty:a0~,rightshoulder:b6,start:b8,x:b0,y:b3,platform:Linux,", +"050000007e0500001720000001000000,Nintendo Switch SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux,", +"050000007e0500003003000001000000,Nintendo Wii Remote Pro Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", +"05000000010000000100000003000000,Nintendo Wiimote,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"030000000d0500000308000010010000,Nostromo n45 Dual Analog Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Linux,", "03000000550900001072000011010000,NVIDIA Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b8,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", "03000000550900001472000011010000,NVIDIA Controller v01.04,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Linux,", "05000000550900001472000001000000,NVIDIA Controller v01.04,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Linux,", "03000000451300000830000010010000,NYKO CORE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"19000000010000000100000001010000,ODROID Go 2,a:b1,b:b0,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,guide:b10,leftshoulder:b4,leftstick:b12,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b14,start:b15,x:b2,y:b3,platform:Linux,", -"19000000010000000200000011000000,ODROID Go 2,a:b1,b:b0,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b12,leftshoulder:b4,leftstick:b14,lefttrigger:b13,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b15,righttrigger:b16,start:b17,x:b2,y:b3,platform:Linux,", +"19000000010000000100000001010000,odroidgo2_joypad,a:b1,b:b0,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,guide:b10,leftshoulder:b4,leftstick:b12,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b14,start:b15,x:b2,y:b3,platform:Linux,", +"19000000010000000200000011000000,odroidgo2_joypad_v11,a:b1,b:b0,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b12,leftshoulder:b4,leftstick:b14,lefttrigger:b13,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b15,righttrigger:b16,start:b17,x:b2,y:b3,platform:Linux,", +"030000005e0400000202000000010000,Old Xbox pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", "03000000c0160000dc27000001010000,OnyxSoft Dual JoyDivision,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b6,x:b2,y:b3,platform:Linux,", -"05000000362800000100000002010000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux,", -"05000000362800000100000003010000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux,", -"05000000362800000100000004010000,OUYA Controller,a:b0,b:b3,back:b14,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,start:b16,x:b1,y:b2,platform:Linux,", -"03000000830500005020000010010000,Padix Rockfire PlayStation Bridge,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Linux,", -"03000000790000001c18000011010000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000ff1100003133000010010000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000006f0e0000b802000001010000,PDP Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e0000b802000013020000,PDP Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux,", +"05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux,", +"03000000830500005020000010010000,Padix Co. Ltd. Rockfire PSX/USB Bridge,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Linux,", +"03000000790000001c18000011010000,PC Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000006f0e0000b802000001010000,PDP AFTERGLOW Wired Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006f0e0000b802000013020000,PDP AFTERGLOW Wired Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000006f0e00006401000001010000,PDP Battlefield One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e0000d702000006640000,PDP Black Camo Wired Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b13,dpup:b14,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000006f0e00008001000011010000,PDP CO. LTD. Faceoff Wired Pro Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006f0e00003101000000010000,PDP EA Sports Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e00008001000011010000,PDP Faceoff Nintendo Switch Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000006f0e0000c802000012010000,PDP Kingdom Hearts Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000006f0e00008501000011010000,PDP Nintendo Switch Fightpad Pro,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000006f0e00002801000011010000,PDP PS3 Rock Candy Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000006f0e00008701000011010000,PDP Rock Nintendo Switch Candy Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000006f0e00000901000011010000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000006f0e0000a802000023020000,PDP Xbox One Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"030000006f0e0000a702000023020000,PDP Xbox One Raven Black,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000004c050000da0c000011010000,PlayStation Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", -"03000000d9040000160f000000010000,PlayStation Controller Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", +"030000006f0e00008701000011010000,PDP Rock Candy Wired Controller for Nintendo Switch,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000006f0e00000901000011010000,PDP Versus Fighting Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000006f0e0000a802000023020000,PDP Wired Controller for Xbox One,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"030000006f0e00008501000011010000,PDP Wired Fight Pad Pro for Nintendo Switch,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"0500000049190000030400001b010000,PG-9099,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"05000000491900000204000000000000,PG-9118,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000004c050000da0c000011010000,Playstation Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", "030000004c0500003713000011010000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", "03000000c62400000053000000010000,PowerA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000c62400003a54000001010000,PowerA 1428124-01,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000d62000000140000001010000,PowerA Fusion Pro 2 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000c62400001a53000000010000,PowerA Mini Pro Ex,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000d62000006dca000011010000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000c62400001a58000001010000,PowerA Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000d62000000220000001010000,PowerA Xbox One Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Linux,", -"03000000d62000000228000001010000,PowerA Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000c62400001a54000001010000,PowerA Xbox One Mini Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000d62000000240000001010000,PowerA Xbox One Spectra Infinity,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000d62000000228000001010000,PowerA Wired Controller for Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c62400001a58000001010000,PowerA Xbox One Cabled,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c62400001a54000001010000,PowerA Xbox One Mini Wired Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000006d040000d2ca000011010000,Precision Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "03000000ff1100004133000010010000,PS2 Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux,", "03000000341a00003608000011010000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", @@ -1370,7 +846,6 @@ const char* _glfwDefaultMappings[] = "030000004c0500006802000010810000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", "030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux,", "030000004c0500006802000011810000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", -"030000005f1400003102000010010000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", "030000006f0e00001402000011010000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", "030000008f0e00000300000010010000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", "050000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux,", @@ -1393,174 +868,134 @@ const char* _glfwDefaultMappings[] = "050000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "050000004c050000cc09000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", "050000004c050000cc09000001800000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", -"030000004c050000e60c000011010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b14,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Linux,", -"030000004c050000e60c000011810000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", -"050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Linux,", -"050000004c050000e60c000000810000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", -"03000000300f00001211000011010000,Qanba Arcade Joystick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,platform:Linux,", -"03000000222c00000225000011010000,Qanba Dragon Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000222c00000025000011010000,Qanba Dragon Arcade Joystick (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000300f00001210000010010000,Qanba Joystick Plus,a:b0,b:b1,back:b8,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,start:b9,x:b2,y:b3,platform:Linux,", -"03000000222c00000223000011010000,Qanba Obsidian Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000222c00000023000011010000,Qanba Obsidian Arcade Joystick (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000009b2800000300000001010000,Raphnet 4nes4snes,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Linux,", -"030000009b2800004200000001010000,Raphnet Dual NES Adapter,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Linux,", -"030000009b2800003200000001010000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux,", -"030000009b2800006000000001010000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux,", +"030000004c050000e60c000011010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000ff000000cb01000010010000,PSP,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux,", +"03000000300f00001211000011010000,QanBa Arcade JoyStick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,platform:Linux,", +"030000009b2800004200000001010000,Raphnet Technologies Dual NES to USB v2.0,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Linux,", +"030000009b2800003200000001010000,Raphnet Technologies GC/N64 to USB v3.4,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux,", +"030000009b2800006000000001010000,Raphnet Technologies GC/N64 to USB v3.6,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux,", +"030000009b2800000300000001010000,raphnet.net 4nes4snes v1.5,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Linux,", "030000008916000001fd000024010000,Razer Onza Classic Edition,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000008916000000fd000024010000,Razer Onza Tournament Edition,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000321500000204000011010000,Razer Panthera PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000321500000104000011010000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000321500000810000011010000,Razer Panthera PS4 Evo Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000321500000010000011010000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000321500000204000011010000,Razer Panthera (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"03000000321500000104000011010000,Razer Panthera (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000321500000810000011010000,Razer Panthera Evo Arcade Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000321500000010000011010000,Razer RAIJU,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "03000000321500000507000000010000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"05000000321500000a10000001000000,Razer Raiju Tournament Edition,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000321500000011000011010000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000321500000011000011010000,Razer Raion Fightpad for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "030000008916000000fe000024010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000c6240000045d000024010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000c6240000045d000025010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000321500000009000011010000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", "050000003215000000090000163a0000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", "0300000032150000030a000001010000,Razer Wildcat,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000790000001100000010010000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000790000001100000010010000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux,", "0300000081170000990a000001010000,Retronic Adapter,a:b0,leftx:a0,lefty:a1,platform:Linux,", "0300000000f000000300000000010000,RetroPad,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux,", -"00000000526574726f53746f6e653200,RetroStone 2 Controller,a:b1,b:b0,back:b10,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,righttrigger:b9,start:b11,x:b4,y:b3,platform:Linux,", "030000006b140000010d000011010000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "030000006b140000130d000011010000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "030000006f0e00001f01000000010000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000006f0e00001e01000011010000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000c6240000fefa000000010000,Rock Candy Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000006f0e00004601000001010000,Rock Candy Xbox One Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000a306000023f6000011010000,Saitek Cyborg V1 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", +"03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", "03000000a30600001005000000010000,Saitek P150,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b2,righttrigger:b5,x:b3,y:b4,platform:Linux,", "03000000a30600000701000000010000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Linux,", -"03000000a30600000cff000010010000,Saitek P2500 Force Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b0,y:b1,platform:Linux,", -"03000000a30600000c04000011010000,Saitek P2900,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3,platform:Linux,", -"03000000a306000018f5000010010000,Saitek P3200 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", +"03000000a30600000cff000010010000,Saitek P2500 Force Rumble Pad,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b0,y:b1,platform:Linux,", +"03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3,platform:Linux,", "03000000300f00001201000010010000,Saitek P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux,", "03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,x:b0,y:b1,platform:Linux,", -"03000000a30600000b04000000010000,Saitek P990 Dual Analog,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Linux,", -"03000000a306000020f6000011010000,Saitek PS2700 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", +"03000000a30600000b04000000010000,Saitek P990 Dual Analog Pad,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Linux,", +"03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", +"03000000a306000020f6000011010000,Saitek PS2700 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux,", "03000000d81d00000e00000010010000,Savior,a:b0,b:b1,back:b8,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,start:b9,x:b4,y:b5,platform:Linux,", -"03000000a30c00002500000011010000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Linux,", -"03000000790000001100000011010000,Sega Saturn,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3,platform:Linux,", -"03000000790000002201000011010000,Sega Saturn,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux,", -"03000000b40400000a01000000010000,Sega Saturn,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Linux,", -"030000001f08000001e4000010010000,SFC Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux,", -"03000000632500002305000010010000,ShanWan Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000f025000021c1000010010000,Shanwan Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000632500007505000010010000,Shanwan PS3 PC,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000bc2000000055000010010000,Shanwan PS3 PC ,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000341a00000908000010010000,SL6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"050000004c050000cc09000001000000,Sony DualShock 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000ff000000cb01000010010000,Sony PlayStation Portable,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux,", -"03000000250900000500000000010000,Sony PS2 pad with SmartJoy Adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux,", -"030000005e0400008e02000073050000,Speedlink Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000020200000,SpeedLink Xeox Pro Analog,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000f025000021c1000010010000,ShanWan Gioteck PS3 Wired Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000632500007505000010010000,SHANWAN PS3/PC Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000bc2000000055000010010000,ShanWan PS3/PC Wired GamePad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000005f140000c501000010010000,SHANWAN Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000632500002305000010010000,ShanWan USB Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"03000000341a00000908000010010000,SL-6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"030000004c050000e60c000011810000,Sony DualSense,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", +"050000004c050000e60c000000810000,Sony DualSense ,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux,", +"03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux,", +"030000005e0400008e02000073050000,Speedlink TORID Wireless Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400008e02000020200000,SpeedLink XEOX Pro Analog Gamepad pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000d11800000094000011010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", "03000000de2800000112000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", -"03000000de2800000112000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:+a5,dpleft:-a4,dpright:+a4,dpup:-a5,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux,", "03000000de2800000211000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", -"03000000de2800000211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux,", +"03000000de2800000211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux,", "03000000de2800004211000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", -"03000000de2800004211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux,", +"03000000de2800004211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux,", "03000000de280000fc11000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "05000000de2800000212000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", "05000000de2800000511000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", "05000000de2800000611000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux,", -"03000000de2800000512000010010000,Steam Deck,a:b3,b:b4,back:b11,dpdown:b17,dpleft:b18,dpright:b19,dpup:b16,guide:b13,leftshoulder:b7,leftstick:b14,lefttrigger:a9,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b15,righttrigger:a8,rightx:a2,righty:a3,start:b12,x:b5,y:b6,platform:Linux,", "03000000de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000004e696d6275732b0000000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b10,guide:b11,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3,platform:Linux,", "03000000381000003014000075010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000381000003114000075010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "0500000011010000311400001b010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b32,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "05000000110100001914000009010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000ad1b000038f0000090040000,Street Fighter IV Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000003b07000004a1000000010000,Suncom SFX Plus,a:b0,b:b2,back:b7,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Linux,", +"03000000ad1b000038f0000090040000,Street Fighter IV FightStick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000003b07000004a1000000010000,Suncom SFX Plus for USB,a:b0,b:b2,back:b7,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Linux,", "03000000666600000488000000010000,Super Joy Box 5 Pro,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux,", -"0300000000f00000f100000000010000,Super RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux,", -"030000008f0e00000d31000010010000,SZMY Power 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000457500002211000010010000,SZMY Power Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"030000008f0e00001431000010010000,SZMY Power PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"03000000ba2200000701000001010000,Technology Innovation PS2 Adapter,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b2,platform:Linux,", -"030000004f04000015b3000001010000,Thrustmaster Dual Analog 3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", +"0300000000f00000f100000000010000,Super RetroPort,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux,", +"03000000457500002211000010010000,SZMY-POWER CO. LTD. GAMEPAD,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"030000008f0e00000d31000010010000,SZMY-POWER CO. LTD. GAMEPAD 3 TURBO,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000008f0e00001431000010010000,SZMY-POWER CO. LTD. PS3 gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", "030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", -"030000004f04000020b3000010010000,Thrustmaster Dual Trigger,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", -"030000004f04000023b3000000010000,Thrustmaster Dual Trigger PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000004f0400000ed0000011010000,Thrustmaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f0400000ed0000011010000,ThrustMaster eSwap PRO Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", "03000000b50700000399000000010000,Thrustmaster Firestorm Digital 2,a:b2,b:b4,back:b11,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b0,righttrigger:b9,start:b1,x:b3,y:b5,platform:Linux,", "030000004f04000003b3000010010000,Thrustmaster Firestorm Dual Analog 2,a:b0,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b9,rightx:a2,righty:a3,x:b1,y:b3,platform:Linux,", "030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Linux,", -"030000004f04000004b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", -"030000004f04000026b3000002040000,Thrustmaster GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000c6240000025b000002020000,Thrustmaster GPX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000004f04000008d0000000010000,Thrustmaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"030000004f04000009d0000000010000,Thrustmaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000004f04000007d0000000010000,Thrustmaster T Mini,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", -"030000004f04000012b3000010010000,Thrustmaster Vibrating Gamepad,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", -"03000000571d00002000000010010000,Tomee SNES Adapter,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux,", -"03000000bd12000015d0000010010000,Tomee SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux,", -"03000000d814000007cd000011010000,Toodles 2008 Chimp PC PS3,a:b0,b:b1,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2,platform:Linux,", +"030000004f04000026b3000002040000,Thrustmaster Gamepad GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000c6240000025b000002020000,Thrustmaster GPX Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f04000007d0000000010000,Thrustmaster T Mini Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,", +"030000004f04000012b3000010010000,Thrustmaster vibrating gamepad,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux,", +"03000000bd12000015d0000010010000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux,", +"03000000d814000007cd000011010000,Toodles 2008 Chimp PC/PS3,a:b0,b:b1,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2,platform:Linux,", "030000005e0400008e02000070050000,Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "03000000c01100000591000011010000,Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000680a00000300000003000000,TRBot Virtual Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14,platform:Linux,", -"03000000780300000300000003000000,TRBot Virtual Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14,platform:Linux,", -"03000000e00d00000300000003000000,TRBot Virtual Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14,platform:Linux,", -"03000000f00600000300000003000000,TRBot Virtual Joypad,a:b11,b:b12,back:b15,dpdown:b6,dpleft:b3,dpright:b4,dpup:b5,leftshoulder:b17,leftstick:b21,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b22,righttrigger:a2,rightx:a3,righty:a4,start:b16,x:b13,y:b14,platform:Linux,", -"030000005f140000c501000010010000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", -"03000000100800000100000010010000,Twin PS2 Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", +"03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", "03000000100800000300000010010000,USB Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,", "03000000790000000600000007010000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Linux,", -"03000000790000001100000000010000,USB Gamepad,a:b2,b:b1,back:b8,dpdown:a0,dpleft:a1,dpright:a2,dpup:a4,start:b9,platform:Linux,", -"030000006f0e00000302000011010000,Victrix Pro Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"030000006f0e00000702000011010000,Victrix Pro Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", -"05000000ac0500003232000001000000,VR Box Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", -"0000000058626f782033363020576900,Xbox 360 Controller,a:b0,b:b1,back:b14,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,guide:b7,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Linux,", -"030000005e0400001907000000010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000010010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000014010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400009102000007010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000a102000000010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000a102000007010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400008e02000000010000,Xbox 360 EasySMX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000a102000014010000,Xbox 360 Receiver,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400000202000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", -"030000006f0e00001304000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"03000000ffff0000ffff000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux,", -"0000000058626f782047616d65706100,Xbox Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e0400000a0b000005040000,Xbox One Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,", -"030000005e040000120b000009050000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000790000001100000000010000,USB Gamepad1,a:b2,b:b1,back:b8,dpdown:a0,dpleft:a1,dpright:a2,dpup:a4,start:b9,platform:Linux,", +"030000006f0e00000302000011010000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"030000006f0e00000702000011010000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux,", +"05000000ac0500003232000001000000,VR-BOX,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux,", +"03000000791d00000103000010010000,Wii Classic Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"050000000d0f0000f600000001000000,Wireless HORIPAD Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"030000005e0400008e02000010010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400001907000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400009102000007010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000a102000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000a102000007010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"0000000058626f782033363020576900,Xbox 360 Wireless Controller,a:b0,b:b1,back:b14,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,guide:b7,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Linux,", +"030000005e040000a102000014010000,Xbox 360 Wireless Receiver (XBOX),a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"0000000058626f782047616d65706100,Xbox Gamepad (userspace driver),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux,", "030000005e040000d102000002010000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000ea02000001030000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000005e040000e002000003090000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000005e040000fd02000003090000,Xbox One Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "050000005e040000fd02000030110000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"060000005e040000120b000007050000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000005e040000e302000002090000,Xbox One Elite,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"050000005e040000220b000013050000,Xbox One Elite 2 Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "050000005e040000050b000002090000,Xbox One Elite Series 2,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"060000005e040000ea0200000b050000,Xbox One S Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"060000005e040000ea0200000d050000,Xbox One S Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e040000ea02000000000000,Xbox One Wireless Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"050000005e040000e002000003090000,Xbox One Wireless Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"050000005e040000fd02000003090000,Xbox One Wireless Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", +"030000005e040000ea02000001030000,Xbox One Wireless Controller (Model 1708),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000005e040000120b000001050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000120b000005050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000120b00000d050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", "030000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "050000005e040000130b000001050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", "050000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"050000005e040000130b000009050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"050000005e040000130b000013050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"060000005e040000120b00000b050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"030000005e040000120b000007050000,Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", -"050000005e040000130b000011050000,Xbox Series X Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"050000005e040000130b000007050000,Xbox Wireless Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"050000005e040000200b000013050000,Xbox Wireless Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux,", -"03000000450c00002043000010010000,XEOX SL6556 BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", -"05000000172700004431000029010000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Linux,", -"03000000c0160000e105000001010000,XinMo Dual Arcade,a:b4,b:b3,back:b6,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b9,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b1,y:b0,platform:Linux,", -"03000000120c0000100e000011010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -"03000000120c0000101e000011010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", -#endif // GLFW_BUILD_LINUX_MAPPINGS +"030000005e040000120b000005050000,XBox Series pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"030000005e0400008e02000000010000,xbox360 Wireless EasySMX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,", +"03000000450c00002043000010010000,XEOX Gamepad SL-6556-BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,", +"03000000ac0500005b05000010010000,Xiaoji Gamesir-G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux,", +"05000000172700004431000029010000,XiaoMi Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Linux,", +"03000000c0160000e105000001010000,Xin-Mo Xin-Mo Dual Arcade,a:b4,b:b3,back:b6,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b9,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b1,y:b0,platform:Linux,", +"03000000120c0000100e000011010000,ZEROPLUS P4 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +"03000000120c0000101e000011010000,ZEROPLUS P4 Wired Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,", +#endif // GLFW_BUILD_LINUX_JOYSTICK }; diff --git a/src/external/glfw/src/mappings.h.in b/src/external/glfw/src/mappings.h.in index f2604390a..ed623680f 100644 --- a/src/external/glfw/src/mappings.h.in +++ b/src/external/glfw/src/mappings.h.in @@ -60,7 +60,7 @@ const char* _glfwDefaultMappings[] = { -#if defined(GLFW_BUILD_WIN32_MAPPINGS) +#if defined(_GLFW_WIN32) @GLFW_WIN32_MAPPINGS@ "78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757402000000000000000000,XInput Wheel (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", @@ -69,14 +69,14 @@ const char* _glfwDefaultMappings[] = "78696e70757405000000000000000000,XInput Dance Pad (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757406000000000000000000,XInput Guitar (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", "78696e70757408000000000000000000,XInput Drum Kit (GLFW),platform:Windows,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,", -#endif // GLFW_BUILD_WIN32_MAPPINGS +#endif // _GLFW_WIN32 -#if defined(GLFW_BUILD_COCOA_MAPPINGS) +#if defined(_GLFW_COCOA) @GLFW_COCOA_MAPPINGS@ -#endif // GLFW_BUILD_COCOA_MAPPINGS +#endif // _GLFW_COCOA -#if defined(GLFW_BUILD_LINUX_MAPPINGS) +#if defined(GLFW_BUILD_LINUX_JOYSTICK) @GLFW_LINUX_MAPPINGS@ -#endif // GLFW_BUILD_LINUX_MAPPINGS +#endif // GLFW_BUILD_LINUX_JOYSTICK }; diff --git a/src/external/glfw/src/monitor.c b/src/external/glfw/src/monitor.c index 6429493bf..efc286d50 100644 --- a/src/external/glfw/src/monitor.c +++ b/src/external/glfw/src/monitor.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" @@ -452,7 +450,9 @@ GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* handle) _GLFW_REQUIRE_INIT_OR_RETURN(NULL); - _glfw.platform.getVideoMode(monitor, &monitor->currentMode); + if (!_glfw.platform.getVideoMode(monitor, &monitor->currentMode)) + return NULL; + return &monitor->currentMode; } @@ -489,7 +489,7 @@ GLFWAPI void glfwSetGamma(GLFWmonitor* handle, float gamma) // Apply gamma curve value = powf(value, 1.f / gamma) * 65535.f + 0.5f; // Clamp to value range - value = _glfw_fminf(value, 65535.f); + value = fminf(value, 65535.f); values[i] = (unsigned short) value; } diff --git a/src/external/glfw/src/nsgl_context.m b/src/external/glfw/src/nsgl_context.m index fc1f75210..daa8367a8 100644 --- a/src/external/glfw/src/nsgl_context.m +++ b/src/external/glfw/src/nsgl_context.m @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_COCOA) + #include #include @@ -81,11 +81,10 @@ static void swapIntervalNSGL(int interval) @autoreleasepool { _GLFWwindow* window = _glfwPlatformGetTls(&_glfw.contextSlot); - if (window) - { - [window->context.nsgl.object setValues:&interval - forParameter:NSOpenGLContextParameterSwapInterval]; - } + assert(window != NULL); + + [window->context.nsgl.object setValues:&interval + forParameter:NSOpenGLContextParameterSwapInterval]; } // autoreleasepool } @@ -162,7 +161,7 @@ GLFWbool _glfwCreateContextNSGL(_GLFWwindow* window, if (ctxconfig->client == GLFW_OPENGL_ES_API) { _glfwInputError(GLFW_API_UNAVAILABLE, - "NSGL: OpenGL ES is not available on macOS"); + "NSGL: OpenGL ES is not available via NSGL"); return GLFW_FALSE; } @@ -176,6 +175,13 @@ GLFWbool _glfwCreateContextNSGL(_GLFWwindow* window, } } + if (ctxconfig->major >= 3 && ctxconfig->profile == GLFW_OPENGL_COMPAT_PROFILE) + { + _glfwInputError(GLFW_VERSION_UNAVAILABLE, + "NSGL: The compatibility profile is not available on macOS"); + return GLFW_FALSE; + } + // Context robustness modes (GL_KHR_robustness) are not yet supported by // macOS but are not a hard constraint, so ignore and continue @@ -334,7 +340,7 @@ GLFWbool _glfwCreateContextNSGL(_GLFWwindow* window, forParameter:NSOpenGLContextParameterSurfaceOpacity]; } - [window->ns.view setWantsBestResolutionOpenGLSurface:window->ns.retina]; + [window->ns.view setWantsBestResolutionOpenGLSurface:window->ns.scaleFramebuffer]; [window->context.nsgl.object setView:window->ns.view]; @@ -374,3 +380,5 @@ GLFWAPI id glfwGetNSGLContext(GLFWwindow* handle) return window->context.nsgl.object; } +#endif // _GLFW_COCOA + diff --git a/src/external/glfw/src/null_init.c b/src/external/glfw/src/null_init.c index de4b28f35..88940fcde 100644 --- a/src/external/glfw/src/null_init.c +++ b/src/external/glfw/src/null_init.c @@ -24,12 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" #include +#include ////////////////////////////////////////////////////////////////////////// @@ -40,78 +39,78 @@ GLFWbool _glfwConnectNull(int platformID, _GLFWplatform* platform) { const _GLFWplatform null = { - GLFW_PLATFORM_NULL, - _glfwInitNull, - _glfwTerminateNull, - _glfwGetCursorPosNull, - _glfwSetCursorPosNull, - _glfwSetCursorModeNull, - _glfwSetRawMouseMotionNull, - _glfwRawMouseMotionSupportedNull, - _glfwCreateCursorNull, - _glfwCreateStandardCursorNull, - _glfwDestroyCursorNull, - _glfwSetCursorNull, - _glfwGetScancodeNameNull, - _glfwGetKeyScancodeNull, - _glfwSetClipboardStringNull, - _glfwGetClipboardStringNull, - _glfwInitJoysticksNull, - _glfwTerminateJoysticksNull, - _glfwPollJoystickNull, - _glfwGetMappingNameNull, - _glfwUpdateGamepadGUIDNull, - _glfwFreeMonitorNull, - _glfwGetMonitorPosNull, - _glfwGetMonitorContentScaleNull, - _glfwGetMonitorWorkareaNull, - _glfwGetVideoModesNull, - _glfwGetVideoModeNull, - _glfwGetGammaRampNull, - _glfwSetGammaRampNull, - _glfwCreateWindowNull, - _glfwDestroyWindowNull, - _glfwSetWindowTitleNull, - _glfwSetWindowIconNull, - _glfwGetWindowPosNull, - _glfwSetWindowPosNull, - _glfwGetWindowSizeNull, - _glfwSetWindowSizeNull, - _glfwSetWindowSizeLimitsNull, - _glfwSetWindowAspectRatioNull, - _glfwGetFramebufferSizeNull, - _glfwGetWindowFrameSizeNull, - _glfwGetWindowContentScaleNull, - _glfwIconifyWindowNull, - _glfwRestoreWindowNull, - _glfwMaximizeWindowNull, - _glfwShowWindowNull, - _glfwHideWindowNull, - _glfwRequestWindowAttentionNull, - _glfwFocusWindowNull, - _glfwSetWindowMonitorNull, - _glfwWindowFocusedNull, - _glfwWindowIconifiedNull, - _glfwWindowVisibleNull, - _glfwWindowMaximizedNull, - _glfwWindowHoveredNull, - _glfwFramebufferTransparentNull, - _glfwGetWindowOpacityNull, - _glfwSetWindowResizableNull, - _glfwSetWindowDecoratedNull, - _glfwSetWindowFloatingNull, - _glfwSetWindowOpacityNull, - _glfwSetWindowMousePassthroughNull, - _glfwPollEventsNull, - _glfwWaitEventsNull, - _glfwWaitEventsTimeoutNull, - _glfwPostEmptyEventNull, - _glfwGetEGLPlatformNull, - _glfwGetEGLNativeDisplayNull, - _glfwGetEGLNativeWindowNull, - _glfwGetRequiredInstanceExtensionsNull, - _glfwGetPhysicalDevicePresentationSupportNull, - _glfwCreateWindowSurfaceNull, + .platformID = GLFW_PLATFORM_NULL, + .init = _glfwInitNull, + .terminate = _glfwTerminateNull, + .getCursorPos = _glfwGetCursorPosNull, + .setCursorPos = _glfwSetCursorPosNull, + .setCursorMode = _glfwSetCursorModeNull, + .setRawMouseMotion = _glfwSetRawMouseMotionNull, + .rawMouseMotionSupported = _glfwRawMouseMotionSupportedNull, + .createCursor = _glfwCreateCursorNull, + .createStandardCursor = _glfwCreateStandardCursorNull, + .destroyCursor = _glfwDestroyCursorNull, + .setCursor = _glfwSetCursorNull, + .getScancodeName = _glfwGetScancodeNameNull, + .getKeyScancode = _glfwGetKeyScancodeNull, + .setClipboardString = _glfwSetClipboardStringNull, + .getClipboardString = _glfwGetClipboardStringNull, + .initJoysticks = _glfwInitJoysticksNull, + .terminateJoysticks = _glfwTerminateJoysticksNull, + .pollJoystick = _glfwPollJoystickNull, + .getMappingName = _glfwGetMappingNameNull, + .updateGamepadGUID = _glfwUpdateGamepadGUIDNull, + .freeMonitor = _glfwFreeMonitorNull, + .getMonitorPos = _glfwGetMonitorPosNull, + .getMonitorContentScale = _glfwGetMonitorContentScaleNull, + .getMonitorWorkarea = _glfwGetMonitorWorkareaNull, + .getVideoModes = _glfwGetVideoModesNull, + .getVideoMode = _glfwGetVideoModeNull, + .getGammaRamp = _glfwGetGammaRampNull, + .setGammaRamp = _glfwSetGammaRampNull, + .createWindow = _glfwCreateWindowNull, + .destroyWindow = _glfwDestroyWindowNull, + .setWindowTitle = _glfwSetWindowTitleNull, + .setWindowIcon = _glfwSetWindowIconNull, + .getWindowPos = _glfwGetWindowPosNull, + .setWindowPos = _glfwSetWindowPosNull, + .getWindowSize = _glfwGetWindowSizeNull, + .setWindowSize = _glfwSetWindowSizeNull, + .setWindowSizeLimits = _glfwSetWindowSizeLimitsNull, + .setWindowAspectRatio = _glfwSetWindowAspectRatioNull, + .getFramebufferSize = _glfwGetFramebufferSizeNull, + .getWindowFrameSize = _glfwGetWindowFrameSizeNull, + .getWindowContentScale = _glfwGetWindowContentScaleNull, + .iconifyWindow = _glfwIconifyWindowNull, + .restoreWindow = _glfwRestoreWindowNull, + .maximizeWindow = _glfwMaximizeWindowNull, + .showWindow = _glfwShowWindowNull, + .hideWindow = _glfwHideWindowNull, + .requestWindowAttention = _glfwRequestWindowAttentionNull, + .focusWindow = _glfwFocusWindowNull, + .setWindowMonitor = _glfwSetWindowMonitorNull, + .windowFocused = _glfwWindowFocusedNull, + .windowIconified = _glfwWindowIconifiedNull, + .windowVisible = _glfwWindowVisibleNull, + .windowMaximized = _glfwWindowMaximizedNull, + .windowHovered = _glfwWindowHoveredNull, + .framebufferTransparent = _glfwFramebufferTransparentNull, + .getWindowOpacity = _glfwGetWindowOpacityNull, + .setWindowResizable = _glfwSetWindowResizableNull, + .setWindowDecorated = _glfwSetWindowDecoratedNull, + .setWindowFloating = _glfwSetWindowFloatingNull, + .setWindowOpacity = _glfwSetWindowOpacityNull, + .setWindowMousePassthrough = _glfwSetWindowMousePassthroughNull, + .pollEvents = _glfwPollEventsNull, + .waitEvents = _glfwWaitEventsNull, + .waitEventsTimeout = _glfwWaitEventsTimeoutNull, + .postEmptyEvent = _glfwPostEmptyEventNull, + .getEGLPlatform = _glfwGetEGLPlatformNull, + .getEGLNativeDisplay = _glfwGetEGLNativeDisplayNull, + .getEGLNativeWindow = _glfwGetEGLNativeWindowNull, + .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsNull, + .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportNull, + .createWindowSurface = _glfwCreateWindowSurfaceNull }; *platform = null; @@ -120,6 +119,138 @@ GLFWbool _glfwConnectNull(int platformID, _GLFWplatform* platform) int _glfwInitNull(void) { + int scancode; + + memset(_glfw.null.keycodes, -1, sizeof(_glfw.null.keycodes)); + memset(_glfw.null.scancodes, -1, sizeof(_glfw.null.scancodes)); + + _glfw.null.keycodes[GLFW_NULL_SC_SPACE] = GLFW_KEY_SPACE; + _glfw.null.keycodes[GLFW_NULL_SC_APOSTROPHE] = GLFW_KEY_APOSTROPHE; + _glfw.null.keycodes[GLFW_NULL_SC_COMMA] = GLFW_KEY_COMMA; + _glfw.null.keycodes[GLFW_NULL_SC_MINUS] = GLFW_KEY_MINUS; + _glfw.null.keycodes[GLFW_NULL_SC_PERIOD] = GLFW_KEY_PERIOD; + _glfw.null.keycodes[GLFW_NULL_SC_SLASH] = GLFW_KEY_SLASH; + _glfw.null.keycodes[GLFW_NULL_SC_0] = GLFW_KEY_0; + _glfw.null.keycodes[GLFW_NULL_SC_1] = GLFW_KEY_1; + _glfw.null.keycodes[GLFW_NULL_SC_2] = GLFW_KEY_2; + _glfw.null.keycodes[GLFW_NULL_SC_3] = GLFW_KEY_3; + _glfw.null.keycodes[GLFW_NULL_SC_4] = GLFW_KEY_4; + _glfw.null.keycodes[GLFW_NULL_SC_5] = GLFW_KEY_5; + _glfw.null.keycodes[GLFW_NULL_SC_6] = GLFW_KEY_6; + _glfw.null.keycodes[GLFW_NULL_SC_7] = GLFW_KEY_7; + _glfw.null.keycodes[GLFW_NULL_SC_8] = GLFW_KEY_8; + _glfw.null.keycodes[GLFW_NULL_SC_9] = GLFW_KEY_9; + _glfw.null.keycodes[GLFW_NULL_SC_SEMICOLON] = GLFW_KEY_SEMICOLON; + _glfw.null.keycodes[GLFW_NULL_SC_EQUAL] = GLFW_KEY_EQUAL; + _glfw.null.keycodes[GLFW_NULL_SC_A] = GLFW_KEY_A; + _glfw.null.keycodes[GLFW_NULL_SC_B] = GLFW_KEY_B; + _glfw.null.keycodes[GLFW_NULL_SC_C] = GLFW_KEY_C; + _glfw.null.keycodes[GLFW_NULL_SC_D] = GLFW_KEY_D; + _glfw.null.keycodes[GLFW_NULL_SC_E] = GLFW_KEY_E; + _glfw.null.keycodes[GLFW_NULL_SC_F] = GLFW_KEY_F; + _glfw.null.keycodes[GLFW_NULL_SC_G] = GLFW_KEY_G; + _glfw.null.keycodes[GLFW_NULL_SC_H] = GLFW_KEY_H; + _glfw.null.keycodes[GLFW_NULL_SC_I] = GLFW_KEY_I; + _glfw.null.keycodes[GLFW_NULL_SC_J] = GLFW_KEY_J; + _glfw.null.keycodes[GLFW_NULL_SC_K] = GLFW_KEY_K; + _glfw.null.keycodes[GLFW_NULL_SC_L] = GLFW_KEY_L; + _glfw.null.keycodes[GLFW_NULL_SC_M] = GLFW_KEY_M; + _glfw.null.keycodes[GLFW_NULL_SC_N] = GLFW_KEY_N; + _glfw.null.keycodes[GLFW_NULL_SC_O] = GLFW_KEY_O; + _glfw.null.keycodes[GLFW_NULL_SC_P] = GLFW_KEY_P; + _glfw.null.keycodes[GLFW_NULL_SC_Q] = GLFW_KEY_Q; + _glfw.null.keycodes[GLFW_NULL_SC_R] = GLFW_KEY_R; + _glfw.null.keycodes[GLFW_NULL_SC_S] = GLFW_KEY_S; + _glfw.null.keycodes[GLFW_NULL_SC_T] = GLFW_KEY_T; + _glfw.null.keycodes[GLFW_NULL_SC_U] = GLFW_KEY_U; + _glfw.null.keycodes[GLFW_NULL_SC_V] = GLFW_KEY_V; + _glfw.null.keycodes[GLFW_NULL_SC_W] = GLFW_KEY_W; + _glfw.null.keycodes[GLFW_NULL_SC_X] = GLFW_KEY_X; + _glfw.null.keycodes[GLFW_NULL_SC_Y] = GLFW_KEY_Y; + _glfw.null.keycodes[GLFW_NULL_SC_Z] = GLFW_KEY_Z; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT_BRACKET] = GLFW_KEY_LEFT_BRACKET; + _glfw.null.keycodes[GLFW_NULL_SC_BACKSLASH] = GLFW_KEY_BACKSLASH; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_BRACKET] = GLFW_KEY_RIGHT_BRACKET; + _glfw.null.keycodes[GLFW_NULL_SC_GRAVE_ACCENT] = GLFW_KEY_GRAVE_ACCENT; + _glfw.null.keycodes[GLFW_NULL_SC_WORLD_1] = GLFW_KEY_WORLD_1; + _glfw.null.keycodes[GLFW_NULL_SC_WORLD_2] = GLFW_KEY_WORLD_2; + _glfw.null.keycodes[GLFW_NULL_SC_ESCAPE] = GLFW_KEY_ESCAPE; + _glfw.null.keycodes[GLFW_NULL_SC_ENTER] = GLFW_KEY_ENTER; + _glfw.null.keycodes[GLFW_NULL_SC_TAB] = GLFW_KEY_TAB; + _glfw.null.keycodes[GLFW_NULL_SC_BACKSPACE] = GLFW_KEY_BACKSPACE; + _glfw.null.keycodes[GLFW_NULL_SC_INSERT] = GLFW_KEY_INSERT; + _glfw.null.keycodes[GLFW_NULL_SC_DELETE] = GLFW_KEY_DELETE; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT] = GLFW_KEY_RIGHT; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT] = GLFW_KEY_LEFT; + _glfw.null.keycodes[GLFW_NULL_SC_DOWN] = GLFW_KEY_DOWN; + _glfw.null.keycodes[GLFW_NULL_SC_UP] = GLFW_KEY_UP; + _glfw.null.keycodes[GLFW_NULL_SC_PAGE_UP] = GLFW_KEY_PAGE_UP; + _glfw.null.keycodes[GLFW_NULL_SC_PAGE_DOWN] = GLFW_KEY_PAGE_DOWN; + _glfw.null.keycodes[GLFW_NULL_SC_HOME] = GLFW_KEY_HOME; + _glfw.null.keycodes[GLFW_NULL_SC_END] = GLFW_KEY_END; + _glfw.null.keycodes[GLFW_NULL_SC_CAPS_LOCK] = GLFW_KEY_CAPS_LOCK; + _glfw.null.keycodes[GLFW_NULL_SC_SCROLL_LOCK] = GLFW_KEY_SCROLL_LOCK; + _glfw.null.keycodes[GLFW_NULL_SC_NUM_LOCK] = GLFW_KEY_NUM_LOCK; + _glfw.null.keycodes[GLFW_NULL_SC_PRINT_SCREEN] = GLFW_KEY_PRINT_SCREEN; + _glfw.null.keycodes[GLFW_NULL_SC_PAUSE] = GLFW_KEY_PAUSE; + _glfw.null.keycodes[GLFW_NULL_SC_F1] = GLFW_KEY_F1; + _glfw.null.keycodes[GLFW_NULL_SC_F2] = GLFW_KEY_F2; + _glfw.null.keycodes[GLFW_NULL_SC_F3] = GLFW_KEY_F3; + _glfw.null.keycodes[GLFW_NULL_SC_F4] = GLFW_KEY_F4; + _glfw.null.keycodes[GLFW_NULL_SC_F5] = GLFW_KEY_F5; + _glfw.null.keycodes[GLFW_NULL_SC_F6] = GLFW_KEY_F6; + _glfw.null.keycodes[GLFW_NULL_SC_F7] = GLFW_KEY_F7; + _glfw.null.keycodes[GLFW_NULL_SC_F8] = GLFW_KEY_F8; + _glfw.null.keycodes[GLFW_NULL_SC_F9] = GLFW_KEY_F9; + _glfw.null.keycodes[GLFW_NULL_SC_F10] = GLFW_KEY_F10; + _glfw.null.keycodes[GLFW_NULL_SC_F11] = GLFW_KEY_F11; + _glfw.null.keycodes[GLFW_NULL_SC_F12] = GLFW_KEY_F12; + _glfw.null.keycodes[GLFW_NULL_SC_F13] = GLFW_KEY_F13; + _glfw.null.keycodes[GLFW_NULL_SC_F14] = GLFW_KEY_F14; + _glfw.null.keycodes[GLFW_NULL_SC_F15] = GLFW_KEY_F15; + _glfw.null.keycodes[GLFW_NULL_SC_F16] = GLFW_KEY_F16; + _glfw.null.keycodes[GLFW_NULL_SC_F17] = GLFW_KEY_F17; + _glfw.null.keycodes[GLFW_NULL_SC_F18] = GLFW_KEY_F18; + _glfw.null.keycodes[GLFW_NULL_SC_F19] = GLFW_KEY_F19; + _glfw.null.keycodes[GLFW_NULL_SC_F20] = GLFW_KEY_F20; + _glfw.null.keycodes[GLFW_NULL_SC_F21] = GLFW_KEY_F21; + _glfw.null.keycodes[GLFW_NULL_SC_F22] = GLFW_KEY_F22; + _glfw.null.keycodes[GLFW_NULL_SC_F23] = GLFW_KEY_F23; + _glfw.null.keycodes[GLFW_NULL_SC_F24] = GLFW_KEY_F24; + _glfw.null.keycodes[GLFW_NULL_SC_F25] = GLFW_KEY_F25; + _glfw.null.keycodes[GLFW_NULL_SC_KP_0] = GLFW_KEY_KP_0; + _glfw.null.keycodes[GLFW_NULL_SC_KP_1] = GLFW_KEY_KP_1; + _glfw.null.keycodes[GLFW_NULL_SC_KP_2] = GLFW_KEY_KP_2; + _glfw.null.keycodes[GLFW_NULL_SC_KP_3] = GLFW_KEY_KP_3; + _glfw.null.keycodes[GLFW_NULL_SC_KP_4] = GLFW_KEY_KP_4; + _glfw.null.keycodes[GLFW_NULL_SC_KP_5] = GLFW_KEY_KP_5; + _glfw.null.keycodes[GLFW_NULL_SC_KP_6] = GLFW_KEY_KP_6; + _glfw.null.keycodes[GLFW_NULL_SC_KP_7] = GLFW_KEY_KP_7; + _glfw.null.keycodes[GLFW_NULL_SC_KP_8] = GLFW_KEY_KP_8; + _glfw.null.keycodes[GLFW_NULL_SC_KP_9] = GLFW_KEY_KP_9; + _glfw.null.keycodes[GLFW_NULL_SC_KP_DECIMAL] = GLFW_KEY_KP_DECIMAL; + _glfw.null.keycodes[GLFW_NULL_SC_KP_DIVIDE] = GLFW_KEY_KP_DIVIDE; + _glfw.null.keycodes[GLFW_NULL_SC_KP_MULTIPLY] = GLFW_KEY_KP_MULTIPLY; + _glfw.null.keycodes[GLFW_NULL_SC_KP_SUBTRACT] = GLFW_KEY_KP_SUBTRACT; + _glfw.null.keycodes[GLFW_NULL_SC_KP_ADD] = GLFW_KEY_KP_ADD; + _glfw.null.keycodes[GLFW_NULL_SC_KP_ENTER] = GLFW_KEY_KP_ENTER; + _glfw.null.keycodes[GLFW_NULL_SC_KP_EQUAL] = GLFW_KEY_KP_EQUAL; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT_SHIFT] = GLFW_KEY_LEFT_SHIFT; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT_CONTROL] = GLFW_KEY_LEFT_CONTROL; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT_ALT] = GLFW_KEY_LEFT_ALT; + _glfw.null.keycodes[GLFW_NULL_SC_LEFT_SUPER] = GLFW_KEY_LEFT_SUPER; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_SHIFT] = GLFW_KEY_RIGHT_SHIFT; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_CONTROL] = GLFW_KEY_RIGHT_CONTROL; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_ALT] = GLFW_KEY_RIGHT_ALT; + _glfw.null.keycodes[GLFW_NULL_SC_RIGHT_SUPER] = GLFW_KEY_RIGHT_SUPER; + _glfw.null.keycodes[GLFW_NULL_SC_MENU] = GLFW_KEY_MENU; + + for (scancode = GLFW_NULL_SC_FIRST; scancode < GLFW_NULL_SC_LAST; scancode++) + { + if (_glfw.null.keycodes[scancode] > 0) + _glfw.null.scancodes[_glfw.null.keycodes[scancode]] = scancode; + } + _glfwPollMonitorsNull(); return GLFW_TRUE; } diff --git a/src/external/glfw/src/null_joystick.c b/src/external/glfw/src/null_joystick.c index 1fe50721b..ec1f6b554 100644 --- a/src/external/glfw/src/null_joystick.c +++ b/src/external/glfw/src/null_joystick.c @@ -23,8 +23,6 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" diff --git a/src/external/glfw/src/null_monitor.c b/src/external/glfw/src/null_monitor.c index 63a1cd205..d818f4528 100644 --- a/src/external/glfw/src/null_monitor.c +++ b/src/external/glfw/src/null_monitor.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" @@ -111,9 +109,10 @@ GLFWvidmode* _glfwGetVideoModesNull(_GLFWmonitor* monitor, int* found) return mode; } -void _glfwGetVideoModeNull(_GLFWmonitor* monitor, GLFWvidmode* mode) +GLFWbool _glfwGetVideoModeNull(_GLFWmonitor* monitor, GLFWvidmode* mode) { *mode = getVideoMode(); + return GLFW_TRUE; } GLFWbool _glfwGetGammaRampNull(_GLFWmonitor* monitor, GLFWgammaramp* ramp) @@ -130,7 +129,7 @@ GLFWbool _glfwGetGammaRampNull(_GLFWmonitor* monitor, GLFWgammaramp* ramp) float value; value = i / (float) (monitor->null.ramp.size - 1); value = powf(value, 1.f / gamma) * 65535.f + 0.5f; - value = _glfw_fminf(value, 65535.f); + value = fminf(value, 65535.f); monitor->null.ramp.red[i] = (unsigned short) value; monitor->null.ramp.green[i] = (unsigned short) value; diff --git a/src/external/glfw/src/null_platform.h b/src/external/glfw/src/null_platform.h index b646acb30..4843a76a1 100644 --- a/src/external/glfw/src/null_platform.h +++ b/src/external/glfw/src/null_platform.h @@ -33,6 +33,128 @@ #define GLFW_NULL_CURSOR_STATE #define GLFW_NULL_LIBRARY_CONTEXT_STATE +#define GLFW_NULL_SC_FIRST GLFW_NULL_SC_SPACE +#define GLFW_NULL_SC_SPACE 1 +#define GLFW_NULL_SC_APOSTROPHE 2 +#define GLFW_NULL_SC_COMMA 3 +#define GLFW_NULL_SC_MINUS 4 +#define GLFW_NULL_SC_PERIOD 5 +#define GLFW_NULL_SC_SLASH 6 +#define GLFW_NULL_SC_0 7 +#define GLFW_NULL_SC_1 8 +#define GLFW_NULL_SC_2 9 +#define GLFW_NULL_SC_3 10 +#define GLFW_NULL_SC_4 11 +#define GLFW_NULL_SC_5 12 +#define GLFW_NULL_SC_6 13 +#define GLFW_NULL_SC_7 14 +#define GLFW_NULL_SC_8 15 +#define GLFW_NULL_SC_9 16 +#define GLFW_NULL_SC_SEMICOLON 17 +#define GLFW_NULL_SC_EQUAL 18 +#define GLFW_NULL_SC_LEFT_BRACKET 19 +#define GLFW_NULL_SC_BACKSLASH 20 +#define GLFW_NULL_SC_RIGHT_BRACKET 21 +#define GLFW_NULL_SC_GRAVE_ACCENT 22 +#define GLFW_NULL_SC_WORLD_1 23 +#define GLFW_NULL_SC_WORLD_2 24 +#define GLFW_NULL_SC_ESCAPE 25 +#define GLFW_NULL_SC_ENTER 26 +#define GLFW_NULL_SC_TAB 27 +#define GLFW_NULL_SC_BACKSPACE 28 +#define GLFW_NULL_SC_INSERT 29 +#define GLFW_NULL_SC_DELETE 30 +#define GLFW_NULL_SC_RIGHT 31 +#define GLFW_NULL_SC_LEFT 32 +#define GLFW_NULL_SC_DOWN 33 +#define GLFW_NULL_SC_UP 34 +#define GLFW_NULL_SC_PAGE_UP 35 +#define GLFW_NULL_SC_PAGE_DOWN 36 +#define GLFW_NULL_SC_HOME 37 +#define GLFW_NULL_SC_END 38 +#define GLFW_NULL_SC_CAPS_LOCK 39 +#define GLFW_NULL_SC_SCROLL_LOCK 40 +#define GLFW_NULL_SC_NUM_LOCK 41 +#define GLFW_NULL_SC_PRINT_SCREEN 42 +#define GLFW_NULL_SC_PAUSE 43 +#define GLFW_NULL_SC_A 44 +#define GLFW_NULL_SC_B 45 +#define GLFW_NULL_SC_C 46 +#define GLFW_NULL_SC_D 47 +#define GLFW_NULL_SC_E 48 +#define GLFW_NULL_SC_F 49 +#define GLFW_NULL_SC_G 50 +#define GLFW_NULL_SC_H 51 +#define GLFW_NULL_SC_I 52 +#define GLFW_NULL_SC_J 53 +#define GLFW_NULL_SC_K 54 +#define GLFW_NULL_SC_L 55 +#define GLFW_NULL_SC_M 56 +#define GLFW_NULL_SC_N 57 +#define GLFW_NULL_SC_O 58 +#define GLFW_NULL_SC_P 59 +#define GLFW_NULL_SC_Q 60 +#define GLFW_NULL_SC_R 61 +#define GLFW_NULL_SC_S 62 +#define GLFW_NULL_SC_T 63 +#define GLFW_NULL_SC_U 64 +#define GLFW_NULL_SC_V 65 +#define GLFW_NULL_SC_W 66 +#define GLFW_NULL_SC_X 67 +#define GLFW_NULL_SC_Y 68 +#define GLFW_NULL_SC_Z 69 +#define GLFW_NULL_SC_F1 70 +#define GLFW_NULL_SC_F2 71 +#define GLFW_NULL_SC_F3 72 +#define GLFW_NULL_SC_F4 73 +#define GLFW_NULL_SC_F5 74 +#define GLFW_NULL_SC_F6 75 +#define GLFW_NULL_SC_F7 76 +#define GLFW_NULL_SC_F8 77 +#define GLFW_NULL_SC_F9 78 +#define GLFW_NULL_SC_F10 79 +#define GLFW_NULL_SC_F11 80 +#define GLFW_NULL_SC_F12 81 +#define GLFW_NULL_SC_F13 82 +#define GLFW_NULL_SC_F14 83 +#define GLFW_NULL_SC_F15 84 +#define GLFW_NULL_SC_F16 85 +#define GLFW_NULL_SC_F17 86 +#define GLFW_NULL_SC_F18 87 +#define GLFW_NULL_SC_F19 88 +#define GLFW_NULL_SC_F20 89 +#define GLFW_NULL_SC_F21 90 +#define GLFW_NULL_SC_F22 91 +#define GLFW_NULL_SC_F23 92 +#define GLFW_NULL_SC_F24 93 +#define GLFW_NULL_SC_F25 94 +#define GLFW_NULL_SC_KP_0 95 +#define GLFW_NULL_SC_KP_1 96 +#define GLFW_NULL_SC_KP_2 97 +#define GLFW_NULL_SC_KP_3 98 +#define GLFW_NULL_SC_KP_4 99 +#define GLFW_NULL_SC_KP_5 100 +#define GLFW_NULL_SC_KP_6 101 +#define GLFW_NULL_SC_KP_7 102 +#define GLFW_NULL_SC_KP_8 103 +#define GLFW_NULL_SC_KP_9 104 +#define GLFW_NULL_SC_KP_DECIMAL 105 +#define GLFW_NULL_SC_KP_DIVIDE 106 +#define GLFW_NULL_SC_KP_MULTIPLY 107 +#define GLFW_NULL_SC_KP_SUBTRACT 108 +#define GLFW_NULL_SC_KP_ADD 109 +#define GLFW_NULL_SC_KP_ENTER 110 +#define GLFW_NULL_SC_KP_EQUAL 111 +#define GLFW_NULL_SC_LEFT_SHIFT 112 +#define GLFW_NULL_SC_LEFT_CONTROL 113 +#define GLFW_NULL_SC_LEFT_ALT 114 +#define GLFW_NULL_SC_LEFT_SUPER 115 +#define GLFW_NULL_SC_RIGHT_SHIFT 116 +#define GLFW_NULL_SC_RIGHT_CONTROL 117 +#define GLFW_NULL_SC_RIGHT_ALT 118 +#define GLFW_NULL_SC_RIGHT_SUPER 119 +#define GLFW_NULL_SC_MENU 120 +#define GLFW_NULL_SC_LAST GLFW_NULL_SC_MENU // Null-specific per-window data // @@ -42,7 +164,6 @@ typedef struct _GLFWwindowNull int ypos; int width; int height; - char* title; GLFWbool visible; GLFWbool iconified; GLFWbool maximized; @@ -68,6 +189,8 @@ typedef struct _GLFWlibraryNull int ycursor; char* clipboardString; _GLFWwindow* focusedWindow; + uint16_t keycodes[GLFW_NULL_SC_LAST + 1]; + uint8_t scancodes[GLFW_KEY_LAST + 1]; } _GLFWlibraryNull; void _glfwPollMonitorsNull(void); @@ -81,7 +204,7 @@ void _glfwGetMonitorPosNull(_GLFWmonitor* monitor, int* xpos, int* ypos); void _glfwGetMonitorContentScaleNull(_GLFWmonitor* monitor, float* xscale, float* yscale); void _glfwGetMonitorWorkareaNull(_GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); GLFWvidmode* _glfwGetVideoModesNull(_GLFWmonitor* monitor, int* found); -void _glfwGetVideoModeNull(_GLFWmonitor* monitor, GLFWvidmode* mode); +GLFWbool _glfwGetVideoModeNull(_GLFWmonitor* monitor, GLFWvidmode* mode); GLFWbool _glfwGetGammaRampNull(_GLFWmonitor* monitor, GLFWgammaramp* ramp); void _glfwSetGammaRampNull(_GLFWmonitor* monitor, const GLFWgammaramp* ramp); @@ -115,7 +238,6 @@ void _glfwSetRawMouseMotionNull(_GLFWwindow *window, GLFWbool enabled); GLFWbool _glfwRawMouseMotionSupportedNull(void); void _glfwShowWindowNull(_GLFWwindow* window); void _glfwRequestWindowAttentionNull(_GLFWwindow* window); -void _glfwRequestWindowAttentionNull(_GLFWwindow* window); void _glfwHideWindowNull(_GLFWwindow* window); void _glfwFocusWindowNull(_GLFWwindow* window); GLFWbool _glfwWindowFocusedNull(_GLFWwindow* window); diff --git a/src/external/glfw/src/null_window.c b/src/external/glfw/src/null_window.c index 5cdf3e236..1db08114f 100644 --- a/src/external/glfw/src/null_window.c +++ b/src/external/glfw/src/null_window.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" @@ -260,8 +258,9 @@ void _glfwSetWindowSizeNull(_GLFWwindow* window, int width, int height) { window->null.width = width; window->null.height = height; - _glfwInputWindowSize(window, width, height); _glfwInputFramebufferSize(window, width, height); + _glfwInputWindowDamage(window); + _glfwInputWindowSize(window, width, height); } } @@ -568,7 +567,7 @@ EGLNativeWindowType _glfwGetEGLNativeWindowNull(_GLFWwindow* window) const char* _glfwGetScancodeNameNull(int scancode) { - if (scancode < GLFW_KEY_SPACE || scancode > GLFW_KEY_LAST) + if (scancode < GLFW_NULL_SC_FIRST || scancode > GLFW_NULL_SC_LAST) { _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); return NULL; @@ -576,117 +575,117 @@ const char* _glfwGetScancodeNameNull(int scancode) switch (scancode) { - case GLFW_KEY_APOSTROPHE: + case GLFW_NULL_SC_APOSTROPHE: return "'"; - case GLFW_KEY_COMMA: + case GLFW_NULL_SC_COMMA: return ","; - case GLFW_KEY_MINUS: - case GLFW_KEY_KP_SUBTRACT: + case GLFW_NULL_SC_MINUS: + case GLFW_NULL_SC_KP_SUBTRACT: return "-"; - case GLFW_KEY_PERIOD: - case GLFW_KEY_KP_DECIMAL: + case GLFW_NULL_SC_PERIOD: + case GLFW_NULL_SC_KP_DECIMAL: return "."; - case GLFW_KEY_SLASH: - case GLFW_KEY_KP_DIVIDE: + case GLFW_NULL_SC_SLASH: + case GLFW_NULL_SC_KP_DIVIDE: return "/"; - case GLFW_KEY_SEMICOLON: + case GLFW_NULL_SC_SEMICOLON: return ";"; - case GLFW_KEY_EQUAL: - case GLFW_KEY_KP_EQUAL: + case GLFW_NULL_SC_EQUAL: + case GLFW_NULL_SC_KP_EQUAL: return "="; - case GLFW_KEY_LEFT_BRACKET: + case GLFW_NULL_SC_LEFT_BRACKET: return "["; - case GLFW_KEY_RIGHT_BRACKET: + case GLFW_NULL_SC_RIGHT_BRACKET: return "]"; - case GLFW_KEY_KP_MULTIPLY: + case GLFW_NULL_SC_KP_MULTIPLY: return "*"; - case GLFW_KEY_KP_ADD: + case GLFW_NULL_SC_KP_ADD: return "+"; - case GLFW_KEY_BACKSLASH: - case GLFW_KEY_WORLD_1: - case GLFW_KEY_WORLD_2: + case GLFW_NULL_SC_BACKSLASH: + case GLFW_NULL_SC_WORLD_1: + case GLFW_NULL_SC_WORLD_2: return "\\"; - case GLFW_KEY_0: - case GLFW_KEY_KP_0: + case GLFW_NULL_SC_0: + case GLFW_NULL_SC_KP_0: return "0"; - case GLFW_KEY_1: - case GLFW_KEY_KP_1: + case GLFW_NULL_SC_1: + case GLFW_NULL_SC_KP_1: return "1"; - case GLFW_KEY_2: - case GLFW_KEY_KP_2: + case GLFW_NULL_SC_2: + case GLFW_NULL_SC_KP_2: return "2"; - case GLFW_KEY_3: - case GLFW_KEY_KP_3: + case GLFW_NULL_SC_3: + case GLFW_NULL_SC_KP_3: return "3"; - case GLFW_KEY_4: - case GLFW_KEY_KP_4: + case GLFW_NULL_SC_4: + case GLFW_NULL_SC_KP_4: return "4"; - case GLFW_KEY_5: - case GLFW_KEY_KP_5: + case GLFW_NULL_SC_5: + case GLFW_NULL_SC_KP_5: return "5"; - case GLFW_KEY_6: - case GLFW_KEY_KP_6: + case GLFW_NULL_SC_6: + case GLFW_NULL_SC_KP_6: return "6"; - case GLFW_KEY_7: - case GLFW_KEY_KP_7: + case GLFW_NULL_SC_7: + case GLFW_NULL_SC_KP_7: return "7"; - case GLFW_KEY_8: - case GLFW_KEY_KP_8: + case GLFW_NULL_SC_8: + case GLFW_NULL_SC_KP_8: return "8"; - case GLFW_KEY_9: - case GLFW_KEY_KP_9: + case GLFW_NULL_SC_9: + case GLFW_NULL_SC_KP_9: return "9"; - case GLFW_KEY_A: + case GLFW_NULL_SC_A: return "a"; - case GLFW_KEY_B: + case GLFW_NULL_SC_B: return "b"; - case GLFW_KEY_C: + case GLFW_NULL_SC_C: return "c"; - case GLFW_KEY_D: + case GLFW_NULL_SC_D: return "d"; - case GLFW_KEY_E: + case GLFW_NULL_SC_E: return "e"; - case GLFW_KEY_F: + case GLFW_NULL_SC_F: return "f"; - case GLFW_KEY_G: + case GLFW_NULL_SC_G: return "g"; - case GLFW_KEY_H: + case GLFW_NULL_SC_H: return "h"; - case GLFW_KEY_I: + case GLFW_NULL_SC_I: return "i"; - case GLFW_KEY_J: + case GLFW_NULL_SC_J: return "j"; - case GLFW_KEY_K: + case GLFW_NULL_SC_K: return "k"; - case GLFW_KEY_L: + case GLFW_NULL_SC_L: return "l"; - case GLFW_KEY_M: + case GLFW_NULL_SC_M: return "m"; - case GLFW_KEY_N: + case GLFW_NULL_SC_N: return "n"; - case GLFW_KEY_O: + case GLFW_NULL_SC_O: return "o"; - case GLFW_KEY_P: + case GLFW_NULL_SC_P: return "p"; - case GLFW_KEY_Q: + case GLFW_NULL_SC_Q: return "q"; - case GLFW_KEY_R: + case GLFW_NULL_SC_R: return "r"; - case GLFW_KEY_S: + case GLFW_NULL_SC_S: return "s"; - case GLFW_KEY_T: + case GLFW_NULL_SC_T: return "t"; - case GLFW_KEY_U: + case GLFW_NULL_SC_U: return "u"; - case GLFW_KEY_V: + case GLFW_NULL_SC_V: return "v"; - case GLFW_KEY_W: + case GLFW_NULL_SC_W: return "w"; - case GLFW_KEY_X: + case GLFW_NULL_SC_X: return "x"; - case GLFW_KEY_Y: + case GLFW_NULL_SC_Y: return "y"; - case GLFW_KEY_Z: + case GLFW_NULL_SC_Z: return "z"; } @@ -695,7 +694,7 @@ const char* _glfwGetScancodeNameNull(int scancode) int _glfwGetKeyScancodeNull(int key) { - return key; + return _glfw.null.scancodes[key]; } void _glfwGetRequiredInstanceExtensionsNull(char** extensions) diff --git a/src/external/glfw/src/osmesa_context.c b/src/external/glfw/src/osmesa_context.c index 38adabbc0..2f12adf2b 100644 --- a/src/external/glfw/src/osmesa_context.c +++ b/src/external/glfw/src/osmesa_context.c @@ -24,16 +24,13 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== + +#include "internal.h" #include #include #include -#include "internal.h" - - static void makeContextCurrentOSMesa(_GLFWwindow* window) { if (window) diff --git a/src/external/glfw/src/platform.c b/src/external/glfw/src/platform.c index 24b6ac9bb..af1b0f446 100644 --- a/src/external/glfw/src/platform.c +++ b/src/external/glfw/src/platform.c @@ -24,11 +24,16 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#include +#include + +// These construct a string literal from individual numeric constants +#define _GLFW_CONCAT_VERSION(m, n, r) #m "." #n "." #r +#define _GLFW_MAKE_VERSION(m, n, r) _GLFW_CONCAT_VERSION(m, n, r) + ////////////////////////////////////////////////////////////////////////// ////// GLFW internal API ////// ////////////////////////////////////////////////////////////////////////// @@ -45,12 +50,12 @@ static const struct #if defined(_GLFW_COCOA) { GLFW_PLATFORM_COCOA, _glfwConnectCocoa }, #endif -#if defined(_GLFW_X11) - { GLFW_PLATFORM_X11, _glfwConnectX11 }, -#endif #if defined(_GLFW_WAYLAND) { GLFW_PLATFORM_WAYLAND, _glfwConnectWayland }, #endif +#if defined(_GLFW_X11) + { GLFW_PLATFORM_X11, _glfwConnectX11 }, +#endif }; GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform) @@ -71,13 +76,29 @@ GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform) // Only allow the Null platform if specifically requested if (desiredID == GLFW_PLATFORM_NULL) - return GLFW_FALSE; //_glfwConnectNull(desiredID, platform); // @raysan5 + return _glfwConnectNull(desiredID, platform); else if (count == 0) { _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "This binary only supports the Null platform"); return GLFW_FALSE; } +#if defined(_GLFW_WAYLAND) && defined(_GLFW_X11) + if (desiredID == GLFW_ANY_PLATFORM) + { + const char* const session = getenv("XDG_SESSION_TYPE"); + if (session) + { + // Only follow XDG_SESSION_TYPE if it is set correctly and the + // environment looks plausble; otherwise fall back to detection + if (strcmp(session, "wayland") == 0 && getenv("WAYLAND_DISPLAY")) + desiredID = GLFW_PLATFORM_WAYLAND; + else if (strcmp(session, "x11") == 0 && getenv("DISPLAY")) + desiredID = GLFW_PLATFORM_X11; + } + } +#endif + if (desiredID == GLFW_ANY_PLATFORM) { // If there is exactly one platform available for auto-selection, let it emit the @@ -146,7 +167,9 @@ GLFWAPI int glfwPlatformSupported(int platformID) GLFWAPI const char* glfwGetVersionString(void) { - return _GLFW_VERSION_NUMBER + return _GLFW_MAKE_VERSION(GLFW_VERSION_MAJOR, + GLFW_VERSION_MINOR, + GLFW_VERSION_REVISION) #if defined(_GLFW_WIN32) " Win32 WGL" #endif diff --git a/src/external/glfw/src/platform.h b/src/external/glfw/src/platform.h index 0c593676c..75652dcc5 100644 --- a/src/external/glfw/src/platform.h +++ b/src/external/glfw/src/platform.h @@ -25,10 +25,26 @@ // //======================================================================== +#if defined(GLFW_BUILD_WIN32_TIMER) || \ + defined(GLFW_BUILD_WIN32_MODULE) || \ + defined(GLFW_BUILD_WIN32_THREAD) || \ + defined(GLFW_BUILD_COCOA_TIMER) || \ + defined(GLFW_BUILD_POSIX_TIMER) || \ + defined(GLFW_BUILD_POSIX_MODULE) || \ + defined(GLFW_BUILD_POSIX_THREAD) || \ + defined(GLFW_BUILD_POSIX_POLL) || \ + defined(GLFW_BUILD_LINUX_JOYSTICK) + #error "You must not define these; define zero or more _GLFW_ macros instead" +#endif + #include "null_platform.h" +#define GLFW_EXPOSE_NATIVE_EGL +#define GLFW_EXPOSE_NATIVE_OSMESA #if defined(_GLFW_WIN32) #include "win32_platform.h" + #define GLFW_EXPOSE_NATIVE_WIN32 + #define GLFW_EXPOSE_NATIVE_WGL #else #define GLFW_WIN32_WINDOW_STATE #define GLFW_WIN32_MONITOR_STATE @@ -40,6 +56,8 @@ #if defined(_GLFW_COCOA) #include "cocoa_platform.h" + #define GLFW_EXPOSE_NATIVE_COCOA + #define GLFW_EXPOSE_NATIVE_NSGL #else #define GLFW_COCOA_WINDOW_STATE #define GLFW_COCOA_MONITOR_STATE @@ -51,6 +69,7 @@ #if defined(_GLFW_WAYLAND) #include "wl_platform.h" + #define GLFW_EXPOSE_NATIVE_WAYLAND #else #define GLFW_WAYLAND_WINDOW_STATE #define GLFW_WAYLAND_MONITOR_STATE @@ -60,6 +79,8 @@ #if defined(_GLFW_X11) #include "x11_platform.h" + #define GLFW_EXPOSE_NATIVE_X11 + #define GLFW_EXPOSE_NATIVE_GLX #else #define GLFW_X11_WINDOW_STATE #define GLFW_X11_MONITOR_STATE @@ -86,6 +107,10 @@ #endif #if (defined(_GLFW_X11) || defined(_GLFW_WAYLAND)) && defined(__linux__) + #define GLFW_BUILD_LINUX_JOYSTICK +#endif + +#if defined(GLFW_BUILD_LINUX_JOYSTICK) #include "linux_joystick.h" #else #define GLFW_LINUX_JOYSTICK_STATE @@ -141,23 +166,47 @@ GLFW_GLX_LIBRARY_CONTEXT_STATE #if defined(_WIN32) + #define GLFW_BUILD_WIN32_THREAD +#else + #define GLFW_BUILD_POSIX_THREAD +#endif + +#if defined(GLFW_BUILD_WIN32_THREAD) #include "win32_thread.h" #define GLFW_PLATFORM_TLS_STATE GLFW_WIN32_TLS_STATE #define GLFW_PLATFORM_MUTEX_STATE GLFW_WIN32_MUTEX_STATE -#else +#elif defined(GLFW_BUILD_POSIX_THREAD) #include "posix_thread.h" #define GLFW_PLATFORM_TLS_STATE GLFW_POSIX_TLS_STATE #define GLFW_PLATFORM_MUTEX_STATE GLFW_POSIX_MUTEX_STATE #endif #if defined(_WIN32) + #define GLFW_BUILD_WIN32_TIMER +#elif defined(__APPLE__) + #define GLFW_BUILD_COCOA_TIMER +#else + #define GLFW_BUILD_POSIX_TIMER +#endif + +#if defined(GLFW_BUILD_WIN32_TIMER) #include "win32_time.h" #define GLFW_PLATFORM_LIBRARY_TIMER_STATE GLFW_WIN32_LIBRARY_TIMER_STATE -#elif defined(__APPLE__) +#elif defined(GLFW_BUILD_COCOA_TIMER) #include "cocoa_time.h" #define GLFW_PLATFORM_LIBRARY_TIMER_STATE GLFW_COCOA_LIBRARY_TIMER_STATE -#else +#elif defined(GLFW_BUILD_POSIX_TIMER) #include "posix_time.h" #define GLFW_PLATFORM_LIBRARY_TIMER_STATE GLFW_POSIX_LIBRARY_TIMER_STATE #endif +#if defined(_WIN32) + #define GLFW_BUILD_WIN32_MODULE +#else + #define GLFW_BUILD_POSIX_MODULE +#endif + +#if defined(_GLFW_WAYLAND) || defined(_GLFW_X11) + #define GLFW_BUILD_POSIX_POLL +#endif + diff --git a/src/external/glfw/src/posix_module.c b/src/external/glfw/src/posix_module.c index 7079e5b45..7d81c6724 100644 --- a/src/external/glfw/src/posix_module.c +++ b/src/external/glfw/src/posix_module.c @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_POSIX_MODULE) + #include ////////////////////////////////////////////////////////////////////////// @@ -49,3 +49,5 @@ GLFWproc _glfwPlatformGetModuleSymbol(void* module, const char* name) return dlsym(module, name); } +#endif // GLFW_BUILD_POSIX_MODULE + diff --git a/src/external/glfw/src/posix_poll.c b/src/external/glfw/src/posix_poll.c index 676a8a510..b53e36e80 100644 --- a/src/external/glfw/src/posix_poll.c +++ b/src/external/glfw/src/posix_poll.c @@ -23,13 +23,13 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #define _GNU_SOURCE #include "internal.h" +#if defined(GLFW_BUILD_POSIX_POLL) + #include #include #include @@ -79,3 +79,5 @@ GLFWbool _glfwPollPOSIX(struct pollfd* fds, nfds_t count, double* timeout) } } +#endif // GLFW_BUILD_POSIX_POLL + diff --git a/src/external/glfw/src/posix_poll.h b/src/external/glfw/src/posix_poll.h index 1effd1cd3..4bdd2448d 100644 --- a/src/external/glfw/src/posix_poll.h +++ b/src/external/glfw/src/posix_poll.h @@ -23,8 +23,6 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include diff --git a/src/external/glfw/src/posix_thread.c b/src/external/glfw/src/posix_thread.c index 023614578..3c355a53a 100644 --- a/src/external/glfw/src/posix_thread.c +++ b/src/external/glfw/src/posix_thread.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_POSIX_THREAD) + #include #include @@ -103,3 +103,5 @@ void _glfwPlatformUnlockMutex(_GLFWmutex* mutex) pthread_mutex_unlock(&mutex->posix.handle); } +#endif // GLFW_BUILD_POSIX_THREAD + diff --git a/src/external/glfw/src/posix_time.c b/src/external/glfw/src/posix_time.c index f134be47e..a17240847 100644 --- a/src/external/glfw/src/posix_time.c +++ b/src/external/glfw/src/posix_time.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_POSIX_TIMER) + #include #include @@ -61,3 +61,5 @@ uint64_t _glfwPlatformGetTimerFrequency(void) return _glfw.timer.posix.frequency; } +#endif // GLFW_BUILD_POSIX_TIMER + diff --git a/src/external/glfw/src/vulkan.c b/src/external/glfw/src/vulkan.c index 64a4650fc..d9fabdea4 100644 --- a/src/external/glfw/src/vulkan.c +++ b/src/external/glfw/src/vulkan.c @@ -24,8 +24,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" diff --git a/src/external/glfw/src/wgl_context.c b/src/external/glfw/src/wgl_context.c index 4a5e77a81..8a23ffc41 100644 --- a/src/external/glfw/src/wgl_context.c +++ b/src/external/glfw/src/wgl_context.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(_GLFW_WIN32) + #include #include @@ -115,6 +115,23 @@ static int choosePixelFormatWGL(_GLFWwindow* window, if (_glfw.wgl.EXT_colorspace) ADD_ATTRIB(WGL_COLORSPACE_EXT); } + + // NOTE: In a Parallels VM WGL_ARB_pixel_format returns fewer pixel formats than + // DescribePixelFormat, violating the guarantees of the extension spec + // HACK: Iterate through the minimum of both counts + + const int attrib = WGL_NUMBER_PIXEL_FORMATS_ARB; + int extensionCount; + + if (!wglGetPixelFormatAttribivARB(window->context.wgl.dc, + 1, 0, 1, &attrib, &extensionCount)) + { + _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, + "WGL: Failed to retrieve pixel format attribute"); + return 0; + } + + nativeCount = _glfw_min(nativeCount, extensionCount); } usableConfigs = _glfw_calloc(nativeCount, sizeof(_GLFWfbconfig)); @@ -330,6 +347,7 @@ static void swapBuffersWGL(_GLFWwindow* window) static void swapIntervalWGL(int interval) { _GLFWwindow* window = _glfwPlatformGetTls(&_glfw.contextSlot); + assert(window != NULL); window->context.wgl.interval = interval; @@ -776,3 +794,5 @@ GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* handle) return window->context.wgl.handle; } +#endif // _GLFW_WIN32 + diff --git a/src/external/glfw/src/win32_init.c b/src/external/glfw/src/win32_init.c index 8704150c5..824e383ce 100644 --- a/src/external/glfw/src/win32_init.c +++ b/src/external/glfw/src/win32_init.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(_GLFW_WIN32) + #include static const GUID _glfw_GUID_DEVINTERFACE_HID = @@ -382,7 +382,7 @@ static GLFWbool createHelperWindow(void) if (!_glfw.win32.helperWindowClass) { _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, - "WIn32: Failed to register helper window class"); + "Win32: Failed to register helper window class"); return GLFW_FALSE; } @@ -430,7 +430,6 @@ static GLFWbool createHelperWindow(void) return GLFW_TRUE; } - ////////////////////////////////////////////////////////////////////////// ////// GLFW internal API ////// ////////////////////////////////////////////////////////////////////////// @@ -603,78 +602,78 @@ GLFWbool _glfwConnectWin32(int platformID, _GLFWplatform* platform) { const _GLFWplatform win32 = { - GLFW_PLATFORM_WIN32, - _glfwInitWin32, - _glfwTerminateWin32, - _glfwGetCursorPosWin32, - _glfwSetCursorPosWin32, - _glfwSetCursorModeWin32, - _glfwSetRawMouseMotionWin32, - _glfwRawMouseMotionSupportedWin32, - _glfwCreateCursorWin32, - _glfwCreateStandardCursorWin32, - _glfwDestroyCursorWin32, - _glfwSetCursorWin32, - _glfwGetScancodeNameWin32, - _glfwGetKeyScancodeWin32, - _glfwSetClipboardStringWin32, - _glfwGetClipboardStringWin32, - _glfwInitJoysticksWin32, - _glfwTerminateJoysticksWin32, - _glfwPollJoystickWin32, - _glfwGetMappingNameWin32, - _glfwUpdateGamepadGUIDWin32, - _glfwFreeMonitorWin32, - _glfwGetMonitorPosWin32, - _glfwGetMonitorContentScaleWin32, - _glfwGetMonitorWorkareaWin32, - _glfwGetVideoModesWin32, - _glfwGetVideoModeWin32, - _glfwGetGammaRampWin32, - _glfwSetGammaRampWin32, - _glfwCreateWindowWin32, - _glfwDestroyWindowWin32, - _glfwSetWindowTitleWin32, - _glfwSetWindowIconWin32, - _glfwGetWindowPosWin32, - _glfwSetWindowPosWin32, - _glfwGetWindowSizeWin32, - _glfwSetWindowSizeWin32, - _glfwSetWindowSizeLimitsWin32, - _glfwSetWindowAspectRatioWin32, - _glfwGetFramebufferSizeWin32, - _glfwGetWindowFrameSizeWin32, - _glfwGetWindowContentScaleWin32, - _glfwIconifyWindowWin32, - _glfwRestoreWindowWin32, - _glfwMaximizeWindowWin32, - _glfwShowWindowWin32, - _glfwHideWindowWin32, - _glfwRequestWindowAttentionWin32, - _glfwFocusWindowWin32, - _glfwSetWindowMonitorWin32, - _glfwWindowFocusedWin32, - _glfwWindowIconifiedWin32, - _glfwWindowVisibleWin32, - _glfwWindowMaximizedWin32, - _glfwWindowHoveredWin32, - _glfwFramebufferTransparentWin32, - _glfwGetWindowOpacityWin32, - _glfwSetWindowResizableWin32, - _glfwSetWindowDecoratedWin32, - _glfwSetWindowFloatingWin32, - _glfwSetWindowOpacityWin32, - _glfwSetWindowMousePassthroughWin32, - _glfwPollEventsWin32, - _glfwWaitEventsWin32, - _glfwWaitEventsTimeoutWin32, - _glfwPostEmptyEventWin32, - _glfwGetEGLPlatformWin32, - _glfwGetEGLNativeDisplayWin32, - _glfwGetEGLNativeWindowWin32, - _glfwGetRequiredInstanceExtensionsWin32, - _glfwGetPhysicalDevicePresentationSupportWin32, - _glfwCreateWindowSurfaceWin32, + .platformID = GLFW_PLATFORM_WIN32, + .init = _glfwInitWin32, + .terminate = _glfwTerminateWin32, + .getCursorPos = _glfwGetCursorPosWin32, + .setCursorPos = _glfwSetCursorPosWin32, + .setCursorMode = _glfwSetCursorModeWin32, + .setRawMouseMotion = _glfwSetRawMouseMotionWin32, + .rawMouseMotionSupported = _glfwRawMouseMotionSupportedWin32, + .createCursor = _glfwCreateCursorWin32, + .createStandardCursor = _glfwCreateStandardCursorWin32, + .destroyCursor = _glfwDestroyCursorWin32, + .setCursor = _glfwSetCursorWin32, + .getScancodeName = _glfwGetScancodeNameWin32, + .getKeyScancode = _glfwGetKeyScancodeWin32, + .setClipboardString = _glfwSetClipboardStringWin32, + .getClipboardString = _glfwGetClipboardStringWin32, + .initJoysticks = _glfwInitJoysticksWin32, + .terminateJoysticks = _glfwTerminateJoysticksWin32, + .pollJoystick = _glfwPollJoystickWin32, + .getMappingName = _glfwGetMappingNameWin32, + .updateGamepadGUID = _glfwUpdateGamepadGUIDWin32, + .freeMonitor = _glfwFreeMonitorWin32, + .getMonitorPos = _glfwGetMonitorPosWin32, + .getMonitorContentScale = _glfwGetMonitorContentScaleWin32, + .getMonitorWorkarea = _glfwGetMonitorWorkareaWin32, + .getVideoModes = _glfwGetVideoModesWin32, + .getVideoMode = _glfwGetVideoModeWin32, + .getGammaRamp = _glfwGetGammaRampWin32, + .setGammaRamp = _glfwSetGammaRampWin32, + .createWindow = _glfwCreateWindowWin32, + .destroyWindow = _glfwDestroyWindowWin32, + .setWindowTitle = _glfwSetWindowTitleWin32, + .setWindowIcon = _glfwSetWindowIconWin32, + .getWindowPos = _glfwGetWindowPosWin32, + .setWindowPos = _glfwSetWindowPosWin32, + .getWindowSize = _glfwGetWindowSizeWin32, + .setWindowSize = _glfwSetWindowSizeWin32, + .setWindowSizeLimits = _glfwSetWindowSizeLimitsWin32, + .setWindowAspectRatio = _glfwSetWindowAspectRatioWin32, + .getFramebufferSize = _glfwGetFramebufferSizeWin32, + .getWindowFrameSize = _glfwGetWindowFrameSizeWin32, + .getWindowContentScale = _glfwGetWindowContentScaleWin32, + .iconifyWindow = _glfwIconifyWindowWin32, + .restoreWindow = _glfwRestoreWindowWin32, + .maximizeWindow = _glfwMaximizeWindowWin32, + .showWindow = _glfwShowWindowWin32, + .hideWindow = _glfwHideWindowWin32, + .requestWindowAttention = _glfwRequestWindowAttentionWin32, + .focusWindow = _glfwFocusWindowWin32, + .setWindowMonitor = _glfwSetWindowMonitorWin32, + .windowFocused = _glfwWindowFocusedWin32, + .windowIconified = _glfwWindowIconifiedWin32, + .windowVisible = _glfwWindowVisibleWin32, + .windowMaximized = _glfwWindowMaximizedWin32, + .windowHovered = _glfwWindowHoveredWin32, + .framebufferTransparent = _glfwFramebufferTransparentWin32, + .getWindowOpacity = _glfwGetWindowOpacityWin32, + .setWindowResizable = _glfwSetWindowResizableWin32, + .setWindowDecorated = _glfwSetWindowDecoratedWin32, + .setWindowFloating = _glfwSetWindowFloatingWin32, + .setWindowOpacity = _glfwSetWindowOpacityWin32, + .setWindowMousePassthrough = _glfwSetWindowMousePassthroughWin32, + .pollEvents = _glfwPollEventsWin32, + .waitEvents = _glfwWaitEventsWin32, + .waitEventsTimeout = _glfwWaitEventsTimeoutWin32, + .postEmptyEvent = _glfwPostEmptyEventWin32, + .getEGLPlatform = _glfwGetEGLPlatformWin32, + .getEGLNativeDisplay = _glfwGetEGLNativeDisplayWin32, + .getEGLNativeWindow = _glfwGetEGLNativeWindowWin32, + .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsWin32, + .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportWin32, + .createWindowSurface = _glfwCreateWindowSurfaceWin32 }; *platform = win32; @@ -705,6 +704,9 @@ int _glfwInitWin32(void) void _glfwTerminateWin32(void) { + if (_glfw.win32.blankCursor) + DestroyIcon((HICON) _glfw.win32.blankCursor); + if (_glfw.win32.deviceNotificationHandle) UnregisterDeviceNotification(_glfw.win32.deviceNotificationHandle); @@ -725,3 +727,5 @@ void _glfwTerminateWin32(void) freeLibraries(); } +#endif // _GLFW_WIN32 + diff --git a/src/external/glfw/src/win32_joystick.c b/src/external/glfw/src/win32_joystick.c index 3a28943b0..59389a902 100644 --- a/src/external/glfw/src/win32_joystick.c +++ b/src/external/glfw/src/win32_joystick.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(_GLFW_WIN32) + #include #include @@ -734,6 +734,13 @@ GLFWbool _glfwPollJoystickWin32(_GLFWjoystick* js, int mode) if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT) dpad |= GLFW_HAT_LEFT; + // Treat invalid combinations as neither being pressed + // while preserving what data can be preserved + if ((dpad & GLFW_HAT_RIGHT) && (dpad & GLFW_HAT_LEFT)) + dpad &= ~(GLFW_HAT_RIGHT | GLFW_HAT_LEFT); + if ((dpad & GLFW_HAT_UP) && (dpad & GLFW_HAT_DOWN)) + dpad &= ~(GLFW_HAT_UP | GLFW_HAT_DOWN); + _glfwInputJoystickHat(js, 0, dpad); } @@ -756,3 +763,5 @@ void _glfwUpdateGamepadGUIDWin32(char* guid) } } +#endif // _GLFW_WIN32 + diff --git a/src/external/glfw/src/win32_joystick.h b/src/external/glfw/src/win32_joystick.h index d7c2bb6f7..9ab6438b5 100644 --- a/src/external/glfw/src/win32_joystick.h +++ b/src/external/glfw/src/win32_joystick.h @@ -27,8 +27,6 @@ #define GLFW_WIN32_JOYSTICK_STATE _GLFWjoystickWin32 win32; #define GLFW_WIN32_LIBRARY_JOYSTICK_STATE -#define GLFW_BUILD_WIN32_MAPPINGS - // Joystick element (axis, button or slider) // typedef struct _GLFWjoyobjectWin32 diff --git a/src/external/glfw/src/win32_module.c b/src/external/glfw/src/win32_module.c index 35bdd71d5..47c8dff6d 100644 --- a/src/external/glfw/src/win32_module.c +++ b/src/external/glfw/src/win32_module.c @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_WIN32_MODULE) + ////////////////////////////////////////////////////////////////////////// ////// GLFW platform API ////// ////////////////////////////////////////////////////////////////////////// @@ -47,3 +47,5 @@ GLFWproc _glfwPlatformGetModuleSymbol(void* module, const char* name) return (GLFWproc) GetProcAddress((HMODULE) module, name); } +#endif // GLFW_BUILD_WIN32_MODULE + diff --git a/src/external/glfw/src/win32_monitor.c b/src/external/glfw/src/win32_monitor.c index 57b44af3e..87c85b94d 100644 --- a/src/external/glfw/src/win32_monitor.c +++ b/src/external/glfw/src/win32_monitor.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(_GLFW_WIN32) + #include #include #include @@ -470,13 +470,17 @@ GLFWvidmode* _glfwGetVideoModesWin32(_GLFWmonitor* monitor, int* count) return result; } -void _glfwGetVideoModeWin32(_GLFWmonitor* monitor, GLFWvidmode* mode) +GLFWbool _glfwGetVideoModeWin32(_GLFWmonitor* monitor, GLFWvidmode* mode) { DEVMODEW dm; ZeroMemory(&dm, sizeof(dm)); dm.dmSize = sizeof(dm); - EnumDisplaySettingsW(monitor->win32.adapterName, ENUM_CURRENT_SETTINGS, &dm); + if (!EnumDisplaySettingsW(monitor->win32.adapterName, ENUM_CURRENT_SETTINGS, &dm)) + { + _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to query display settings"); + return GLFW_FALSE; + } mode->width = dm.dmPelsWidth; mode->height = dm.dmPelsHeight; @@ -485,6 +489,8 @@ void _glfwGetVideoModeWin32(_GLFWmonitor* monitor, GLFWvidmode* mode) &mode->redBits, &mode->greenBits, &mode->blueBits); + + return GLFW_TRUE; } GLFWbool _glfwGetGammaRampWin32(_GLFWmonitor* monitor, GLFWgammaramp* ramp) @@ -535,6 +541,13 @@ GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(NULL); + + if (_glfw.platform.platformID != GLFW_PLATFORM_WIN32) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Win32: Platform not initialized"); + return NULL; + } + return monitor->win32.publicAdapterName; } @@ -542,6 +555,15 @@ GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(NULL); + + if (_glfw.platform.platformID != GLFW_PLATFORM_WIN32) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Win32: Platform not initialized"); + return NULL; + } + return monitor->win32.publicDisplayName; } +#endif // _GLFW_WIN32 + diff --git a/src/external/glfw/src/win32_platform.h b/src/external/glfw/src/win32_platform.h index 82b34bb9d..7e3d8845c 100644 --- a/src/external/glfw/src/win32_platform.h +++ b/src/external/glfw/src/win32_platform.h @@ -424,6 +424,7 @@ typedef struct _GLFWwindowWin32 GLFWbool transparent; GLFWbool scaleToMonitor; GLFWbool keymenu; + GLFWbool showDefault; // Cached size used to filter out duplicate events int width, height; @@ -457,6 +458,8 @@ typedef struct _GLFWlibraryWin32 RAWINPUT* rawInput; int rawInputSize; UINT mouseTrailSize; + // The cursor handle to use to hide the cursor (NULL or a transparent cursor) + HCURSOR blankCursor; struct { HINSTANCE instance; @@ -606,7 +609,7 @@ void _glfwGetMonitorPosWin32(_GLFWmonitor* monitor, int* xpos, int* ypos); void _glfwGetMonitorContentScaleWin32(_GLFWmonitor* monitor, float* xscale, float* yscale); void _glfwGetMonitorWorkareaWin32(_GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); GLFWvidmode* _glfwGetVideoModesWin32(_GLFWmonitor* monitor, int* count); -void _glfwGetVideoModeWin32(_GLFWmonitor* monitor, GLFWvidmode* mode); +GLFWbool _glfwGetVideoModeWin32(_GLFWmonitor* monitor, GLFWvidmode* mode); GLFWbool _glfwGetGammaRampWin32(_GLFWmonitor* monitor, GLFWgammaramp* ramp); void _glfwSetGammaRampWin32(_GLFWmonitor* monitor, const GLFWgammaramp* ramp); diff --git a/src/external/glfw/src/win32_thread.c b/src/external/glfw/src/win32_thread.c index 35b8f99eb..212e666c2 100644 --- a/src/external/glfw/src/win32_thread.c +++ b/src/external/glfw/src/win32_thread.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_WIN32_THREAD) + #include @@ -96,3 +96,5 @@ void _glfwPlatformUnlockMutex(_GLFWmutex* mutex) LeaveCriticalSection(&mutex->win32.section); } +#endif // GLFW_BUILD_WIN32_THREAD + diff --git a/src/external/glfw/src/win32_thread.h b/src/external/glfw/src/win32_thread.h index 4b5a696f8..dd5948f07 100644 --- a/src/external/glfw/src/win32_thread.h +++ b/src/external/glfw/src/win32_thread.h @@ -25,6 +25,11 @@ // //======================================================================== +// This is a workaround for the fact that glfw3.h needs to export APIENTRY (for +// example to allow applications to correctly declare a GL_KHR_debug callback) +// but windows.h assumes no one will define APIENTRY before it does +#undef APIENTRY + #include #define GLFW_WIN32_TLS_STATE _GLFWtlsWin32 win32; diff --git a/src/external/glfw/src/win32_time.c b/src/external/glfw/src/win32_time.c index a1c641419..a38e15ddd 100644 --- a/src/external/glfw/src/win32_time.c +++ b/src/external/glfw/src/win32_time.c @@ -24,11 +24,10 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(GLFW_BUILD_WIN32_TIMER) ////////////////////////////////////////////////////////////////////////// ////// GLFW platform API ////// @@ -51,3 +50,5 @@ uint64_t _glfwPlatformGetTimerFrequency(void) return _glfw.timer.win32.frequency; } +#endif // GLFW_BUILD_WIN32_TIMER + diff --git a/src/external/glfw/src/win32_time.h b/src/external/glfw/src/win32_time.h index da5afa41e..ef57a5a6e 100644 --- a/src/external/glfw/src/win32_time.h +++ b/src/external/glfw/src/win32_time.h @@ -25,6 +25,11 @@ // //======================================================================== +// This is a workaround for the fact that glfw3.h needs to export APIENTRY (for +// example to allow applications to correctly declare a GL_KHR_debug callback) +// but windows.h assumes no one will define APIENTRY before it does +#undef APIENTRY + #include #define GLFW_WIN32_LIBRARY_TIMER_STATE _GLFWtimerWin32 win32; diff --git a/src/external/glfw/src/win32_window.c b/src/external/glfw/src/win32_window.c index 69fb64228..e6a9496cd 100644 --- a/src/external/glfw/src/win32_window.c +++ b/src/external/glfw/src/win32_window.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" +#if defined(_GLFW_WIN32) + #include #include #include @@ -184,53 +184,38 @@ static HICON createIcon(const GLFWimage* image, int xhot, int yhot, GLFWbool ico return handle; } -// Translate content area size to full window size according to styles and DPI -// -static void getFullWindowSize(DWORD style, DWORD exStyle, - int contentWidth, int contentHeight, - int* fullWidth, int* fullHeight, - UINT dpi) -{ - RECT rect = { 0, 0, contentWidth, contentHeight }; - - if (_glfwIsWindows10Version1607OrGreaterWin32()) - AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, dpi); - else - AdjustWindowRectEx(&rect, style, FALSE, exStyle); - - *fullWidth = rect.right - rect.left; - *fullHeight = rect.bottom - rect.top; -} - // Enforce the content area aspect ratio based on which edge is being dragged // static void applyAspectRatio(_GLFWwindow* window, int edge, RECT* area) { - int xoff, yoff; - UINT dpi = USER_DEFAULT_SCREEN_DPI; + RECT frame = {0}; const float ratio = (float) window->numer / (float) window->denom; + const DWORD style = getWindowStyle(window); + const DWORD exStyle = getWindowExStyle(window); if (_glfwIsWindows10Version1607OrGreaterWin32()) - dpi = GetDpiForWindow(window->win32.handle); - - getFullWindowSize(getWindowStyle(window), getWindowExStyle(window), - 0, 0, &xoff, &yoff, dpi); + { + AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, + GetDpiForWindow(window->win32.handle)); + } + else + AdjustWindowRectEx(&frame, style, FALSE, exStyle); if (edge == WMSZ_LEFT || edge == WMSZ_BOTTOMLEFT || edge == WMSZ_RIGHT || edge == WMSZ_BOTTOMRIGHT) { - area->bottom = area->top + yoff + - (int) ((area->right - area->left - xoff) / ratio); + area->bottom = area->top + (frame.bottom - frame.top) + + (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); } else if (edge == WMSZ_TOPLEFT || edge == WMSZ_TOPRIGHT) { - area->top = area->bottom - yoff - - (int) ((area->right - area->left - xoff) / ratio); + area->top = area->bottom - (frame.bottom - frame.top) - + (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); } else if (edge == WMSZ_TOP || edge == WMSZ_BOTTOM) { - area->right = area->left + xoff + - (int) ((area->bottom - area->top - yoff) * ratio); + area->right = area->left + (frame.right - frame.left) + + (int) (((area->bottom - area->top) - (frame.bottom - frame.top)) * ratio); } } @@ -247,7 +232,12 @@ static void updateCursorImage(_GLFWwindow* window) SetCursor(LoadCursorW(NULL, IDC_ARROW)); } else - SetCursor(NULL); + { + // NOTE: Via Remote Desktop, setting the cursor to NULL does not hide it. + // HACK: When running locally, it is set to NULL, but when connected via Remote + // Desktop, this is a transparent cursor. + SetCursor(_glfw.win32.blankCursor); + } } // Sets the cursor clip rect to the window content area @@ -939,8 +929,28 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l data = _glfw.win32.rawInput; if (data->data.mouse.usFlags & MOUSE_MOVE_ABSOLUTE) { - dx = data->data.mouse.lLastX - window->win32.lastCursorPosX; - dy = data->data.mouse.lLastY - window->win32.lastCursorPosY; + POINT pos = {0}; + int width, height; + + if (data->data.mouse.usFlags & MOUSE_VIRTUAL_DESKTOP) + { + pos.x += GetSystemMetrics(SM_XVIRTUALSCREEN); + pos.y += GetSystemMetrics(SM_YVIRTUALSCREEN); + width = GetSystemMetrics(SM_CXVIRTUALSCREEN); + height = GetSystemMetrics(SM_CYVIRTUALSCREEN); + } + else + { + width = GetSystemMetrics(SM_CXSCREEN); + height = GetSystemMetrics(SM_CYSCREEN); + } + + pos.x += (int) ((data->data.mouse.lLastX / 65535.f) * width); + pos.y += (int) ((data->data.mouse.lLastY / 65535.f) * height); + ScreenToClient(window->win32.handle, &pos); + + dx = pos.x - window->win32.lastCursorPosX; + dy = pos.y - window->win32.lastCursorPosY; } else { @@ -1080,31 +1090,34 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l case WM_GETMINMAXINFO: { - int xoff, yoff; - UINT dpi = USER_DEFAULT_SCREEN_DPI; + RECT frame = {0}; MINMAXINFO* mmi = (MINMAXINFO*) lParam; + const DWORD style = getWindowStyle(window); + const DWORD exStyle = getWindowExStyle(window); if (window->monitor) break; if (_glfwIsWindows10Version1607OrGreaterWin32()) - dpi = GetDpiForWindow(window->win32.handle); - - getFullWindowSize(getWindowStyle(window), getWindowExStyle(window), - 0, 0, &xoff, &yoff, dpi); + { + AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, + GetDpiForWindow(window->win32.handle)); + } + else + AdjustWindowRectEx(&frame, style, FALSE, exStyle); if (window->minwidth != GLFW_DONT_CARE && window->minheight != GLFW_DONT_CARE) { - mmi->ptMinTrackSize.x = window->minwidth + xoff; - mmi->ptMinTrackSize.y = window->minheight + yoff; + mmi->ptMinTrackSize.x = window->minwidth + frame.right - frame.left; + mmi->ptMinTrackSize.y = window->minheight + frame.bottom - frame.top; } if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE) { - mmi->ptMaxTrackSize.x = window->maxwidth + xoff; - mmi->ptMaxTrackSize.y = window->maxheight + yoff; + mmi->ptMaxTrackSize.x = window->maxwidth + frame.right - frame.left; + mmi->ptMaxTrackSize.y = window->maxheight + frame.bottom - frame.top; } if (!window->decorated) @@ -1263,7 +1276,7 @@ static int createNativeWindow(_GLFWwindow* window, const _GLFWwndconfig* wndconfig, const _GLFWfbconfig* fbconfig) { - int xpos, ypos, fullWidth, fullHeight; + int frameX, frameY, frameWidth, frameHeight; WCHAR* wideTitle; DWORD style = getWindowStyle(window); DWORD exStyle = getWindowExStyle(window); @@ -1301,6 +1314,34 @@ static int createNativeWindow(_GLFWwindow* window, } } + if (GetSystemMetrics(SM_REMOTESESSION)) + { + // NOTE: On Remote Desktop, setting the cursor to NULL does not hide it + // HACK: Create a transparent cursor and always set that instead of NULL + // When not on Remote Desktop, this handle is NULL and normal hiding is used + if (!_glfw.win32.blankCursor) + { + const int cursorWidth = GetSystemMetrics(SM_CXCURSOR); + const int cursorHeight = GetSystemMetrics(SM_CYCURSOR); + + unsigned char* cursorPixels = _glfw_calloc(cursorWidth * cursorHeight, 4); + if (!cursorPixels) + return GLFW_FALSE; + + // NOTE: Windows checks whether the image is fully transparent and if so + // just ignores the alpha channel and makes the whole cursor opaque + // HACK: Make one pixel slightly less transparent + cursorPixels[3] = 1; + + const GLFWimage cursorImage = { cursorWidth, cursorHeight, cursorPixels }; + _glfw.win32.blankCursor = createIcon(&cursorImage, 0, 0, FALSE); + _glfw_free(cursorPixels); + + if (!_glfw.win32.blankCursor) + return GLFW_FALSE; + } + } + if (window->monitor) { MONITORINFO mi = { sizeof(mi) }; @@ -1309,10 +1350,10 @@ static int createNativeWindow(_GLFWwindow* window, // NOTE: This window placement is temporary and approximate, as the // correct position and size cannot be known until the monitor // video mode has been picked in _glfwSetVideoModeWin32 - xpos = mi.rcMonitor.left; - ypos = mi.rcMonitor.top; - fullWidth = mi.rcMonitor.right - mi.rcMonitor.left; - fullHeight = mi.rcMonitor.bottom - mi.rcMonitor.top; + frameX = mi.rcMonitor.left; + frameY = mi.rcMonitor.top; + frameWidth = mi.rcMonitor.right - mi.rcMonitor.left; + frameHeight = mi.rcMonitor.bottom - mi.rcMonitor.top; } else { @@ -1326,17 +1367,17 @@ static int createNativeWindow(_GLFWwindow* window, if (wndconfig->xpos == GLFW_ANY_POSITION && wndconfig->ypos == GLFW_ANY_POSITION) { - xpos = CW_USEDEFAULT; - ypos = CW_USEDEFAULT; + frameX = CW_USEDEFAULT; + frameY = CW_USEDEFAULT; } else { - xpos = wndconfig->xpos + rect.left; - ypos = wndconfig->ypos + rect.top; + frameX = wndconfig->xpos + rect.left; + frameY = wndconfig->ypos + rect.top; } - fullWidth = rect.right - rect.left; - fullHeight = rect.bottom - rect.top; + frameWidth = rect.right - rect.left; + frameHeight = rect.bottom - rect.top; } wideTitle = _glfwCreateWideStringFromUTF8Win32(wndconfig->title); @@ -1347,8 +1388,8 @@ static int createNativeWindow(_GLFWwindow* window, MAKEINTATOM(_glfw.win32.mainWindowClass), wideTitle, style, - xpos, ypos, - fullWidth, fullHeight, + frameX, frameY, + frameWidth, frameHeight, NULL, // No parent window NULL, // No window menu _glfw.win32.instance, @@ -1377,6 +1418,7 @@ static int createNativeWindow(_GLFWwindow* window, window->win32.scaleToMonitor = wndconfig->scaleToMonitor; window->win32.keymenu = wndconfig->win32.keymenu; + window->win32.showDefault = wndconfig->win32.showDefault; if (!window->monitor) { @@ -1759,7 +1801,23 @@ void _glfwMaximizeWindowWin32(_GLFWwindow* window) void _glfwShowWindowWin32(_GLFWwindow* window) { - ShowWindow(window->win32.handle, SW_SHOWNA); + int showCommand = SW_SHOWNA; + + if (window->win32.showDefault) + { + // NOTE: GLFW windows currently do not seem to match the Windows 10 definition of + // a main window, so even SW_SHOWDEFAULT does nothing + // This definition is undocumented and can change (source: Raymond Chen) + // HACK: Apply the STARTUPINFO show command manually if available + STARTUPINFOW si = { sizeof(si) }; + GetStartupInfoW(&si); + if (si.dwFlags & STARTF_USESHOWWINDOW) + showCommand = si.wShowWindow; + + window->win32.showDefault = GLFW_FALSE; + } + + ShowWindow(window->win32.handle, showCommand); } void _glfwHideWindowWin32(_GLFWwindow* window) @@ -2114,6 +2172,7 @@ void _glfwPollEventsWin32(void) // NOTE: Re-center the cursor only if it has moved since the last call, // to avoid breaking glfwWaitEvents with WM_MOUSEMOVE + // The re-center is required in order to prevent the mouse cursor stopping at the edges of the screen. if (window->win32.lastCursorPosX != width / 2 || window->win32.lastCursorPosY != height / 2) { @@ -2131,7 +2190,7 @@ void _glfwWaitEventsWin32(void) void _glfwWaitEventsTimeoutWin32(double timeout) { - MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLEVENTS); + MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLINPUT); _glfwPollEventsWin32(); } @@ -2209,14 +2268,17 @@ void _glfwSetCursorModeWin32(_GLFWwindow* window, int mode) const char* _glfwGetScancodeNameWin32(int scancode) { - if (scancode < 0 || scancode > (KF_EXTENDED | 0xff) || - _glfw.win32.keycodes[scancode] == GLFW_KEY_UNKNOWN) + if (scancode < 0 || scancode > (KF_EXTENDED | 0xff)) { _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); return NULL; } - return _glfw.win32.keynames[_glfw.win32.keycodes[scancode]]; + const int key = _glfw.win32.keycodes[scancode]; + if (key == GLFW_KEY_UNKNOWN) + return NULL; + + return _glfw.win32.keynames[key]; } int _glfwGetKeyScancodeWin32(int key) @@ -2303,7 +2365,7 @@ void _glfwSetCursorWin32(_GLFWwindow* window, _GLFWcursor* cursor) void _glfwSetClipboardStringWin32(const char* string) { - int characterCount; + int characterCount, tries = 0; HANDLE object; WCHAR* buffer; @@ -2331,12 +2393,20 @@ void _glfwSetClipboardStringWin32(const char* string) MultiByteToWideChar(CP_UTF8, 0, string, -1, buffer, characterCount); GlobalUnlock(object); - if (!OpenClipboard(_glfw.win32.helperWindowHandle)) + // NOTE: Retry clipboard opening a few times as some other application may have it + // open and also the Windows Clipboard History reads it after each update + while (!OpenClipboard(_glfw.win32.helperWindowHandle)) { - _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, - "Win32: Failed to open clipboard"); - GlobalFree(object); - return; + Sleep(1); + tries++; + + if (tries == 3) + { + _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, + "Win32: Failed to open clipboard"); + GlobalFree(object); + return; + } } EmptyClipboard(); @@ -2348,12 +2418,21 @@ const char* _glfwGetClipboardStringWin32(void) { HANDLE object; WCHAR* buffer; + int tries = 0; - if (!OpenClipboard(_glfw.win32.helperWindowHandle)) + // NOTE: Retry clipboard opening a few times as some other application may have it + // open and also the Windows Clipboard History reads it after each update + while (!OpenClipboard(_glfw.win32.helperWindowHandle)) { - _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, - "Win32: Failed to open clipboard"); - return NULL; + Sleep(1); + tries++; + + if (tries == 3) + { + _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, + "Win32: Failed to open clipboard"); + return NULL; + } } object = GetClipboardData(CF_UNICODETEXT); @@ -2510,3 +2589,5 @@ GLFWAPI HWND glfwGetWin32Window(GLFWwindow* handle) return window->win32.handle; } +#endif // _GLFW_WIN32 + diff --git a/src/external/glfw/src/window.c b/src/external/glfw/src/window.c index 1c8519ff7..1463d1694 100644 --- a/src/external/glfw/src/window.c +++ b/src/external/glfw/src/window.c @@ -25,8 +25,6 @@ // distribution. // //======================================================================== -// Please use C89 style variable declarations in this file because VS 2010 -//======================================================================== #include "internal.h" @@ -244,6 +242,7 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, window->maxheight = GLFW_DONT_CARE; window->numer = GLFW_DONT_CARE; window->denom = GLFW_DONT_CARE; + window->title = _glfw_strdup(title); if (!_glfw.platform.createWindow(window, &wndconfig, &ctxconfig, &fbconfig)) { @@ -276,6 +275,7 @@ void glfwDefaultWindowHints(void) _glfw.hints.window.focusOnShow = GLFW_TRUE; _glfw.hints.window.xpos = GLFW_ANY_POSITION; _glfw.hints.window.ypos = GLFW_ANY_POSITION; + _glfw.hints.window.scaleFramebuffer = GLFW_TRUE; // The default is 24 bits of color, 24 bits of depth and 8 bits of stencil, // double buffered @@ -290,9 +290,6 @@ void glfwDefaultWindowHints(void) // The default is to select the highest available refresh rate _glfw.hints.refreshRate = GLFW_DONT_CARE; - - // The default is to use full Retina resolution framebuffers - _glfw.hints.window.ns.retina = GLFW_TRUE; } GLFWAPI void glfwWindowHint(int hint, int value) @@ -376,18 +373,22 @@ GLFWAPI void glfwWindowHint(int hint, int value) case GLFW_POSITION_Y: _glfw.hints.window.ypos = value; return; - case GLFW_COCOA_RETINA_FRAMEBUFFER: - _glfw.hints.window.ns.retina = value ? GLFW_TRUE : GLFW_FALSE; - return; case GLFW_WIN32_KEYBOARD_MENU: _glfw.hints.window.win32.keymenu = value ? GLFW_TRUE : GLFW_FALSE; return; + case GLFW_WIN32_SHOWDEFAULT: + _glfw.hints.window.win32.showDefault = value ? GLFW_TRUE : GLFW_FALSE; + return; case GLFW_COCOA_GRAPHICS_SWITCHING: _glfw.hints.context.nsgl.offline = value ? GLFW_TRUE : GLFW_FALSE; return; case GLFW_SCALE_TO_MONITOR: _glfw.hints.window.scaleToMonitor = value ? GLFW_TRUE : GLFW_FALSE; return; + case GLFW_SCALE_FRAMEBUFFER: + case GLFW_COCOA_RETINA_FRAMEBUFFER: + _glfw.hints.window.scaleFramebuffer = value ? GLFW_TRUE : GLFW_FALSE; + return; case GLFW_CENTER_CURSOR: _glfw.hints.window.centerCursor = value ? GLFW_TRUE : GLFW_FALSE; return; @@ -494,6 +495,7 @@ GLFWAPI void glfwDestroyWindow(GLFWwindow* handle) *prev = window->next; } + _glfw_free(window->title); _glfw_free(window); } @@ -515,6 +517,16 @@ GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* handle, int value) window->shouldClose = value; } +GLFWAPI const char* glfwGetWindowTitle(GLFWwindow* handle) +{ + _GLFWwindow* window = (_GLFWwindow*) handle; + assert(window != NULL); + + _GLFW_REQUIRE_INIT_OR_RETURN(NULL); + + return window->title; +} + GLFWAPI void glfwSetWindowTitle(GLFWwindow* handle, const char* title) { _GLFWwindow* window = (_GLFWwindow*) handle; @@ -522,7 +534,12 @@ GLFWAPI void glfwSetWindowTitle(GLFWwindow* handle, const char* title) assert(title != NULL); _GLFW_REQUIRE_INIT(); + + char* prev = window->title; + window->title = _glfw_strdup(title); + _glfw.platform.setWindowTitle(window, title); + _glfw_free(prev); } GLFWAPI void glfwSetWindowIcon(GLFWwindow* handle, @@ -742,7 +759,7 @@ GLFWAPI float glfwGetWindowOpacity(GLFWwindow* handle) _GLFWwindow* window = (_GLFWwindow*) handle; assert(window != NULL); - _GLFW_REQUIRE_INIT_OR_RETURN(1.f); + _GLFW_REQUIRE_INIT_OR_RETURN(0.f); return _glfw.platform.getWindowOpacity(window); } diff --git a/src/external/glfw/src/wl_init.c b/src/external/glfw/src/wl_init.c index 8cbcc6e8e..3aff476d3 100644 --- a/src/external/glfw/src/wl_init.c +++ b/src/external/glfw/src/wl_init.c @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_WAYLAND) + #include #include #include @@ -38,14 +38,17 @@ #include #include #include +#include #include "wayland-client-protocol.h" -#include "wayland-xdg-shell-client-protocol.h" -#include "wayland-xdg-decoration-client-protocol.h" -#include "wayland-viewporter-client-protocol.h" -#include "wayland-relative-pointer-unstable-v1-client-protocol.h" -#include "wayland-pointer-constraints-unstable-v1-client-protocol.h" -#include "wayland-idle-inhibit-unstable-v1-client-protocol.h" +#include "xdg-shell-client-protocol.h" +#include "xdg-decoration-unstable-v1-client-protocol.h" +#include "viewporter-client-protocol.h" +#include "relative-pointer-unstable-v1-client-protocol.h" +#include "pointer-constraints-unstable-v1-client-protocol.h" +#include "fractional-scale-v1-client-protocol.h" +#include "xdg-activation-v1-client-protocol.h" +#include "idle-inhibit-unstable-v1-client-protocol.h" // NOTE: Versions of wayland-scanner prior to 1.17.91 named every global array of // wl_interface pointers 'types', making it impossible to combine several unmodified @@ -57,27 +60,35 @@ #undef types #define types _glfw_xdg_shell_types -#include "wayland-xdg-shell-client-protocol-code.h" +#include "xdg-shell-client-protocol-code.h" #undef types #define types _glfw_xdg_decoration_types -#include "wayland-xdg-decoration-client-protocol-code.h" +#include "xdg-decoration-unstable-v1-client-protocol-code.h" #undef types #define types _glfw_viewporter_types -#include "wayland-viewporter-client-protocol-code.h" +#include "viewporter-client-protocol-code.h" #undef types #define types _glfw_relative_pointer_types -#include "wayland-relative-pointer-unstable-v1-client-protocol-code.h" +#include "relative-pointer-unstable-v1-client-protocol-code.h" #undef types #define types _glfw_pointer_constraints_types -#include "wayland-pointer-constraints-unstable-v1-client-protocol-code.h" +#include "pointer-constraints-unstable-v1-client-protocol-code.h" +#undef types + +#define types _glfw_fractional_scale_types +#include "fractional-scale-v1-client-protocol-code.h" +#undef types + +#define types _glfw_xdg_activation_types +#include "xdg-activation-v1-client-protocol-code.h" #undef types #define types _glfw_idle_inhibit_types -#include "wayland-idle-inhibit-unstable-v1-client-protocol-code.h" +#include "idle-inhibit-unstable-v1-client-protocol-code.h" #undef types static void wmBaseHandlePing(void* userData, @@ -100,10 +111,9 @@ static void registryHandleGlobal(void* userData, { if (strcmp(interface, "wl_compositor") == 0) { - _glfw.wl.compositorVersion = _glfw_min(3, version); _glfw.wl.compositor = wl_registry_bind(registry, name, &wl_compositor_interface, - _glfw.wl.compositorVersion); + _glfw_min(3, version)); } else if (strcmp(interface, "wl_subcompositor") == 0) { @@ -123,10 +133,9 @@ static void registryHandleGlobal(void* userData, { if (!_glfw.wl.seat) { - _glfw.wl.seatVersion = _glfw_min(4, version); _glfw.wl.seat = wl_registry_bind(registry, name, &wl_seat_interface, - _glfw.wl.seatVersion); + _glfw_min(4, version)); _glfwAddSeatListenerWayland(_glfw.wl.seat); } } @@ -178,6 +187,20 @@ static void registryHandleGlobal(void* userData, &zwp_idle_inhibit_manager_v1_interface, 1); } + else if (strcmp(interface, "xdg_activation_v1") == 0) + { + _glfw.wl.activationManager = + wl_registry_bind(registry, name, + &xdg_activation_v1_interface, + 1); + } + else if (strcmp(interface, "wp_fractional_scale_manager_v1") == 0) + { + _glfw.wl.fractionalScaleManager = + wl_registry_bind(registry, name, + &wp_fractional_scale_manager_v1_interface, + 1); + } } static void registryHandleGlobalRemove(void* userData, @@ -202,6 +225,36 @@ static const struct wl_registry_listener registryListener = registryHandleGlobalRemove }; +void libdecorHandleError(struct libdecor* context, + enum libdecor_error error, + const char* message) +{ + _glfwInputError(GLFW_PLATFORM_ERROR, + "Wayland: libdecor error %u: %s", + error, message); +} + +static const struct libdecor_interface libdecorInterface = +{ + libdecorHandleError +}; + +static void libdecorReadyCallback(void* userData, + struct wl_callback* callback, + uint32_t time) +{ + _glfw.wl.libdecor.ready = GLFW_TRUE; + + assert(_glfw.wl.libdecor.callback == callback); + wl_callback_destroy(_glfw.wl.libdecor.callback); + _glfw.wl.libdecor.callback = NULL; +} + +static const struct wl_callback_listener libdecorReadyListener = +{ + libdecorReadyCallback +}; + // Create key code translation tables // static void createKeyTables(void) @@ -337,7 +390,7 @@ static void createKeyTables(void) static GLFWbool loadCursorTheme(void) { - int cursorSize = 32; + int cursorSize = 16; const char* sizeString = getenv("XCURSOR_SIZE"); if (sizeString) @@ -376,86 +429,86 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplatform* platform) { const _GLFWplatform wayland = { - GLFW_PLATFORM_WAYLAND, - _glfwInitWayland, - _glfwTerminateWayland, - _glfwGetCursorPosWayland, - _glfwSetCursorPosWayland, - _glfwSetCursorModeWayland, - _glfwSetRawMouseMotionWayland, - _glfwRawMouseMotionSupportedWayland, - _glfwCreateCursorWayland, - _glfwCreateStandardCursorWayland, - _glfwDestroyCursorWayland, - _glfwSetCursorWayland, - _glfwGetScancodeNameWayland, - _glfwGetKeyScancodeWayland, - _glfwSetClipboardStringWayland, - _glfwGetClipboardStringWayland, -#if defined(__linux__) - _glfwInitJoysticksLinux, - _glfwTerminateJoysticksLinux, - _glfwPollJoystickLinux, - _glfwGetMappingNameLinux, - _glfwUpdateGamepadGUIDLinux, + .platformID = GLFW_PLATFORM_WAYLAND, + .init = _glfwInitWayland, + .terminate = _glfwTerminateWayland, + .getCursorPos = _glfwGetCursorPosWayland, + .setCursorPos = _glfwSetCursorPosWayland, + .setCursorMode = _glfwSetCursorModeWayland, + .setRawMouseMotion = _glfwSetRawMouseMotionWayland, + .rawMouseMotionSupported = _glfwRawMouseMotionSupportedWayland, + .createCursor = _glfwCreateCursorWayland, + .createStandardCursor = _glfwCreateStandardCursorWayland, + .destroyCursor = _glfwDestroyCursorWayland, + .setCursor = _glfwSetCursorWayland, + .getScancodeName = _glfwGetScancodeNameWayland, + .getKeyScancode = _glfwGetKeyScancodeWayland, + .setClipboardString = _glfwSetClipboardStringWayland, + .getClipboardString = _glfwGetClipboardStringWayland, +#if defined(GLFW_BUILD_LINUX_JOYSTICK) + .initJoysticks = _glfwInitJoysticksLinux, + .terminateJoysticks = _glfwTerminateJoysticksLinux, + .pollJoystick = _glfwPollJoystickLinux, + .getMappingName = _glfwGetMappingNameLinux, + .updateGamepadGUID = _glfwUpdateGamepadGUIDLinux, #else - _glfwInitJoysticksNull, - _glfwTerminateJoysticksNull, - _glfwPollJoystickNull, - _glfwGetMappingNameNull, - _glfwUpdateGamepadGUIDNull, + .initJoysticks = _glfwInitJoysticksNull, + .terminateJoysticks = _glfwTerminateJoysticksNull, + .pollJoystick = _glfwPollJoystickNull, + .getMappingName = _glfwGetMappingNameNull, + .updateGamepadGUID = _glfwUpdateGamepadGUIDNull, #endif - _glfwFreeMonitorWayland, - _glfwGetMonitorPosWayland, - _glfwGetMonitorContentScaleWayland, - _glfwGetMonitorWorkareaWayland, - _glfwGetVideoModesWayland, - _glfwGetVideoModeWayland, - _glfwGetGammaRampWayland, - _glfwSetGammaRampWayland, - _glfwCreateWindowWayland, - _glfwDestroyWindowWayland, - _glfwSetWindowTitleWayland, - _glfwSetWindowIconWayland, - _glfwGetWindowPosWayland, - _glfwSetWindowPosWayland, - _glfwGetWindowSizeWayland, - _glfwSetWindowSizeWayland, - _glfwSetWindowSizeLimitsWayland, - _glfwSetWindowAspectRatioWayland, - _glfwGetFramebufferSizeWayland, - _glfwGetWindowFrameSizeWayland, - _glfwGetWindowContentScaleWayland, - _glfwIconifyWindowWayland, - _glfwRestoreWindowWayland, - _glfwMaximizeWindowWayland, - _glfwShowWindowWayland, - _glfwHideWindowWayland, - _glfwRequestWindowAttentionWayland, - _glfwFocusWindowWayland, - _glfwSetWindowMonitorWayland, - _glfwWindowFocusedWayland, - _glfwWindowIconifiedWayland, - _glfwWindowVisibleWayland, - _glfwWindowMaximizedWayland, - _glfwWindowHoveredWayland, - _glfwFramebufferTransparentWayland, - _glfwGetWindowOpacityWayland, - _glfwSetWindowResizableWayland, - _glfwSetWindowDecoratedWayland, - _glfwSetWindowFloatingWayland, - _glfwSetWindowOpacityWayland, - _glfwSetWindowMousePassthroughWayland, - _glfwPollEventsWayland, - _glfwWaitEventsWayland, - _glfwWaitEventsTimeoutWayland, - _glfwPostEmptyEventWayland, - _glfwGetEGLPlatformWayland, - _glfwGetEGLNativeDisplayWayland, - _glfwGetEGLNativeWindowWayland, - _glfwGetRequiredInstanceExtensionsWayland, - _glfwGetPhysicalDevicePresentationSupportWayland, - _glfwCreateWindowSurfaceWayland, + .freeMonitor = _glfwFreeMonitorWayland, + .getMonitorPos = _glfwGetMonitorPosWayland, + .getMonitorContentScale = _glfwGetMonitorContentScaleWayland, + .getMonitorWorkarea = _glfwGetMonitorWorkareaWayland, + .getVideoModes = _glfwGetVideoModesWayland, + .getVideoMode = _glfwGetVideoModeWayland, + .getGammaRamp = _glfwGetGammaRampWayland, + .setGammaRamp = _glfwSetGammaRampWayland, + .createWindow = _glfwCreateWindowWayland, + .destroyWindow = _glfwDestroyWindowWayland, + .setWindowTitle = _glfwSetWindowTitleWayland, + .setWindowIcon = _glfwSetWindowIconWayland, + .getWindowPos = _glfwGetWindowPosWayland, + .setWindowPos = _glfwSetWindowPosWayland, + .getWindowSize = _glfwGetWindowSizeWayland, + .setWindowSize = _glfwSetWindowSizeWayland, + .setWindowSizeLimits = _glfwSetWindowSizeLimitsWayland, + .setWindowAspectRatio = _glfwSetWindowAspectRatioWayland, + .getFramebufferSize = _glfwGetFramebufferSizeWayland, + .getWindowFrameSize = _glfwGetWindowFrameSizeWayland, + .getWindowContentScale = _glfwGetWindowContentScaleWayland, + .iconifyWindow = _glfwIconifyWindowWayland, + .restoreWindow = _glfwRestoreWindowWayland, + .maximizeWindow = _glfwMaximizeWindowWayland, + .showWindow = _glfwShowWindowWayland, + .hideWindow = _glfwHideWindowWayland, + .requestWindowAttention = _glfwRequestWindowAttentionWayland, + .focusWindow = _glfwFocusWindowWayland, + .setWindowMonitor = _glfwSetWindowMonitorWayland, + .windowFocused = _glfwWindowFocusedWayland, + .windowIconified = _glfwWindowIconifiedWayland, + .windowVisible = _glfwWindowVisibleWayland, + .windowMaximized = _glfwWindowMaximizedWayland, + .windowHovered = _glfwWindowHoveredWayland, + .framebufferTransparent = _glfwFramebufferTransparentWayland, + .getWindowOpacity = _glfwGetWindowOpacityWayland, + .setWindowResizable = _glfwSetWindowResizableWayland, + .setWindowDecorated = _glfwSetWindowDecoratedWayland, + .setWindowFloating = _glfwSetWindowFloatingWayland, + .setWindowOpacity = _glfwSetWindowOpacityWayland, + .setWindowMousePassthrough = _glfwSetWindowMousePassthroughWayland, + .pollEvents = _glfwPollEventsWayland, + .waitEvents = _glfwWaitEventsWayland, + .waitEventsTimeout = _glfwWaitEventsTimeoutWayland, + .postEmptyEvent = _glfwPostEmptyEventWayland, + .getEGLPlatform = _glfwGetEGLPlatformWayland, + .getEGLNativeDisplay = _glfwGetEGLNativeDisplayWayland, + .getEGLNativeWindow = _glfwGetEGLNativeWindowWayland, + .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsWayland, + .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportWayland, + .createWindowSurface = _glfwCreateWindowSurfaceWayland }; void* module = _glfwPlatformLoadModule("libwayland-client.so.0"); @@ -507,6 +560,8 @@ int _glfwInitWayland(void) _glfw.wl.keyRepeatTimerfd = -1; _glfw.wl.cursorTimerfd = -1; + _glfw.wl.tag = glfwGetVersionString(); + _glfw.wl.client.display_flush = (PFN_wl_display_flush) _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_display_flush"); _glfw.wl.client.display_cancel_read = (PFN_wl_display_cancel_read) @@ -537,6 +592,10 @@ int _glfwInitWayland(void) _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_proxy_get_user_data"); _glfw.wl.client.proxy_set_user_data = (PFN_wl_proxy_set_user_data) _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_proxy_set_user_data"); + _glfw.wl.client.proxy_get_tag = (PFN_wl_proxy_get_tag) + _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_proxy_get_tag"); + _glfw.wl.client.proxy_set_tag = (PFN_wl_proxy_set_tag) + _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_proxy_set_tag"); _glfw.wl.client.proxy_get_version = (PFN_wl_proxy_get_version) _glfwPlatformGetModuleSymbol(_glfw.wl.client.handle, "wl_proxy_get_version"); _glfw.wl.client.proxy_marshal_flags = (PFN_wl_proxy_marshal_flags) @@ -556,7 +615,9 @@ int _glfwInitWayland(void) !_glfw.wl.client.proxy_marshal_constructor || !_glfw.wl.client.proxy_marshal_constructor_versioned || !_glfw.wl.client.proxy_get_user_data || - !_glfw.wl.client.proxy_set_user_data) + !_glfw.wl.client.proxy_set_user_data || + !_glfw.wl.client.proxy_get_tag || + !_glfw.wl.client.proxy_set_tag) { _glfwInputError(GLFW_PLATFORM_ERROR, "Wayland: Failed to load libwayland-client entry point"); @@ -644,6 +705,119 @@ int _glfwInitWayland(void) _glfw.wl.xkb.compose_state_get_one_sym = (PFN_xkb_compose_state_get_one_sym) _glfwPlatformGetModuleSymbol(_glfw.wl.xkb.handle, "xkb_compose_state_get_one_sym"); + if (!_glfw.wl.xkb.context_new || + !_glfw.wl.xkb.context_unref || + !_glfw.wl.xkb.keymap_new_from_string || + !_glfw.wl.xkb.keymap_unref || + !_glfw.wl.xkb.keymap_mod_get_index || + !_glfw.wl.xkb.keymap_key_repeats || + !_glfw.wl.xkb.keymap_key_get_syms_by_level || + !_glfw.wl.xkb.state_new || + !_glfw.wl.xkb.state_unref || + !_glfw.wl.xkb.state_key_get_syms || + !_glfw.wl.xkb.state_update_mask || + !_glfw.wl.xkb.state_key_get_layout || + !_glfw.wl.xkb.state_mod_index_is_active || + !_glfw.wl.xkb.compose_table_new_from_locale || + !_glfw.wl.xkb.compose_table_unref || + !_glfw.wl.xkb.compose_state_new || + !_glfw.wl.xkb.compose_state_unref || + !_glfw.wl.xkb.compose_state_feed || + !_glfw.wl.xkb.compose_state_get_status || + !_glfw.wl.xkb.compose_state_get_one_sym) + { + _glfwInputError(GLFW_PLATFORM_ERROR, + "Wayland: Failed to load all entry points from libxkbcommon"); + return GLFW_FALSE; + } + + if (_glfw.hints.init.wl.libdecorMode == GLFW_WAYLAND_PREFER_LIBDECOR) + _glfw.wl.libdecor.handle = _glfwPlatformLoadModule("libdecor-0.so.0"); + + if (_glfw.wl.libdecor.handle) + { + _glfw.wl.libdecor.libdecor_new_ = (PFN_libdecor_new) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_new"); + _glfw.wl.libdecor.libdecor_unref_ = (PFN_libdecor_unref) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_unref"); + _glfw.wl.libdecor.libdecor_get_fd_ = (PFN_libdecor_get_fd) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_get_fd"); + _glfw.wl.libdecor.libdecor_dispatch_ = (PFN_libdecor_dispatch) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_dispatch"); + _glfw.wl.libdecor.libdecor_decorate_ = (PFN_libdecor_decorate) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_decorate"); + _glfw.wl.libdecor.libdecor_frame_unref_ = (PFN_libdecor_frame_unref) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_unref"); + _glfw.wl.libdecor.libdecor_frame_set_app_id_ = (PFN_libdecor_frame_set_app_id) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_app_id"); + _glfw.wl.libdecor.libdecor_frame_set_title_ = (PFN_libdecor_frame_set_title) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_title"); + _glfw.wl.libdecor.libdecor_frame_set_minimized_ = (PFN_libdecor_frame_set_minimized) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_minimized"); + _glfw.wl.libdecor.libdecor_frame_set_fullscreen_ = (PFN_libdecor_frame_set_fullscreen) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_fullscreen"); + _glfw.wl.libdecor.libdecor_frame_unset_fullscreen_ = (PFN_libdecor_frame_unset_fullscreen) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_unset_fullscreen"); + _glfw.wl.libdecor.libdecor_frame_map_ = (PFN_libdecor_frame_map) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_map"); + _glfw.wl.libdecor.libdecor_frame_commit_ = (PFN_libdecor_frame_commit) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_commit"); + _glfw.wl.libdecor.libdecor_frame_set_min_content_size_ = (PFN_libdecor_frame_set_min_content_size) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_min_content_size"); + _glfw.wl.libdecor.libdecor_frame_set_max_content_size_ = (PFN_libdecor_frame_set_max_content_size) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_max_content_size"); + _glfw.wl.libdecor.libdecor_frame_set_maximized_ = (PFN_libdecor_frame_set_maximized) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_maximized"); + _glfw.wl.libdecor.libdecor_frame_unset_maximized_ = (PFN_libdecor_frame_unset_maximized) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_unset_maximized"); + _glfw.wl.libdecor.libdecor_frame_set_capabilities_ = (PFN_libdecor_frame_set_capabilities) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_capabilities"); + _glfw.wl.libdecor.libdecor_frame_unset_capabilities_ = (PFN_libdecor_frame_unset_capabilities) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_unset_capabilities"); + _glfw.wl.libdecor.libdecor_frame_set_visibility_ = (PFN_libdecor_frame_set_visibility) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_set_visibility"); + _glfw.wl.libdecor.libdecor_frame_get_xdg_toplevel_ = (PFN_libdecor_frame_get_xdg_toplevel) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_frame_get_xdg_toplevel"); + _glfw.wl.libdecor.libdecor_configuration_get_content_size_ = (PFN_libdecor_configuration_get_content_size) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_configuration_get_content_size"); + _glfw.wl.libdecor.libdecor_configuration_get_window_state_ = (PFN_libdecor_configuration_get_window_state) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_configuration_get_window_state"); + _glfw.wl.libdecor.libdecor_state_new_ = (PFN_libdecor_state_new) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_state_new"); + _glfw.wl.libdecor.libdecor_state_free_ = (PFN_libdecor_state_free) + _glfwPlatformGetModuleSymbol(_glfw.wl.libdecor.handle, "libdecor_state_free"); + + if (!_glfw.wl.libdecor.libdecor_new_ || + !_glfw.wl.libdecor.libdecor_unref_ || + !_glfw.wl.libdecor.libdecor_get_fd_ || + !_glfw.wl.libdecor.libdecor_dispatch_ || + !_glfw.wl.libdecor.libdecor_decorate_ || + !_glfw.wl.libdecor.libdecor_frame_unref_ || + !_glfw.wl.libdecor.libdecor_frame_set_app_id_ || + !_glfw.wl.libdecor.libdecor_frame_set_title_ || + !_glfw.wl.libdecor.libdecor_frame_set_minimized_ || + !_glfw.wl.libdecor.libdecor_frame_set_fullscreen_ || + !_glfw.wl.libdecor.libdecor_frame_unset_fullscreen_ || + !_glfw.wl.libdecor.libdecor_frame_map_ || + !_glfw.wl.libdecor.libdecor_frame_commit_ || + !_glfw.wl.libdecor.libdecor_frame_set_min_content_size_ || + !_glfw.wl.libdecor.libdecor_frame_set_max_content_size_ || + !_glfw.wl.libdecor.libdecor_frame_set_maximized_ || + !_glfw.wl.libdecor.libdecor_frame_unset_maximized_ || + !_glfw.wl.libdecor.libdecor_frame_set_capabilities_ || + !_glfw.wl.libdecor.libdecor_frame_unset_capabilities_ || + !_glfw.wl.libdecor.libdecor_frame_set_visibility_ || + !_glfw.wl.libdecor.libdecor_frame_get_xdg_toplevel_ || + !_glfw.wl.libdecor.libdecor_configuration_get_content_size_ || + !_glfw.wl.libdecor.libdecor_configuration_get_window_state_ || + !_glfw.wl.libdecor.libdecor_state_new_ || + !_glfw.wl.libdecor.libdecor_state_free_) + { + _glfwPlatformFreeModule(_glfw.wl.libdecor.handle); + memset(&_glfw.wl.libdecor, 0, sizeof(_glfw.wl.libdecor)); + } + } + _glfw.wl.registry = wl_display_get_registry(_glfw.wl.display); wl_registry_add_listener(_glfw.wl.registry, ®istryListener, NULL); @@ -663,13 +837,27 @@ int _glfwInitWayland(void) // Sync so we got all initial output events wl_display_roundtrip(_glfw.wl.display); -#ifdef WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION - if (_glfw.wl.seatVersion >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION) + if (_glfw.wl.libdecor.handle) + { + _glfw.wl.libdecor.context = libdecor_new(_glfw.wl.display, &libdecorInterface); + if (_glfw.wl.libdecor.context) + { + // Perform an initial dispatch and flush to get the init started + libdecor_dispatch(_glfw.wl.libdecor.context, 0); + + // Create sync point to "know" when libdecor is ready for use + _glfw.wl.libdecor.callback = wl_display_sync(_glfw.wl.display); + wl_callback_add_listener(_glfw.wl.libdecor.callback, + &libdecorReadyListener, + NULL); + } + } + + if (wl_seat_get_version(_glfw.wl.seat) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION) { _glfw.wl.keyRepeatTimerfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC | TFD_NONBLOCK); } -#endif if (!_glfw.wl.wmBase) { @@ -704,6 +892,22 @@ void _glfwTerminateWayland(void) _glfwTerminateEGL(); _glfwTerminateOSMesa(); + if (_glfw.wl.libdecor.context) + { + // Allow libdecor to finish receiving all its requested globals + // and ensure the associated sync callback object is destroyed + while (!_glfw.wl.libdecor.ready) + _glfwWaitEventsWayland(); + + libdecor_unref(_glfw.wl.libdecor.context); + } + + if (_glfw.wl.libdecor.handle) + { + _glfwPlatformFreeModule(_glfw.wl.libdecor.handle); + _glfw.wl.libdecor.handle = NULL; + } + if (_glfw.wl.egl.handle) { _glfwPlatformFreeModule(_glfw.wl.egl.handle); @@ -775,6 +979,10 @@ void _glfwTerminateWayland(void) zwp_pointer_constraints_v1_destroy(_glfw.wl.pointerConstraints); if (_glfw.wl.idleInhibitManager) zwp_idle_inhibit_manager_v1_destroy(_glfw.wl.idleInhibitManager); + if (_glfw.wl.activationManager) + xdg_activation_v1_destroy(_glfw.wl.activationManager); + if (_glfw.wl.fractionalScaleManager) + wp_fractional_scale_manager_v1_destroy(_glfw.wl.fractionalScaleManager); if (_glfw.wl.registry) wl_registry_destroy(_glfw.wl.registry); if (_glfw.wl.display) @@ -791,3 +999,5 @@ void _glfwTerminateWayland(void) _glfw_free(_glfw.wl.clipboardString); } +#endif // _GLFW_WAYLAND + diff --git a/src/external/glfw/src/wl_monitor.c b/src/external/glfw/src/wl_monitor.c index 336681fdc..df30313ae 100644 --- a/src/external/glfw/src/wl_monitor.c +++ b/src/external/glfw/src/wl_monitor.c @@ -23,11 +23,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_WAYLAND) + #include #include #include @@ -116,19 +116,18 @@ static void outputHandleScale(void* userData, for (_GLFWwindow* window = _glfw.windowListHead; window; window = window->next) { - for (int i = 0; i < window->wl.monitorsCount; i++) + for (size_t i = 0; i < window->wl.outputScaleCount; i++) { - if (window->wl.monitors[i] == monitor) + if (window->wl.outputScales[i].output == monitor->wl.output) { - _glfwUpdateContentScaleWayland(window); + window->wl.outputScales[i].factor = monitor->wl.scale; + _glfwUpdateBufferScaleFromOutputsWayland(window); break; } } } } -#ifdef WL_OUTPUT_NAME_SINCE_VERSION - void outputHandleName(void* userData, struct wl_output* wl_output, const char* name) { struct _GLFWmonitor* monitor = userData; @@ -142,18 +141,14 @@ void outputHandleDescription(void* userData, { } -#endif // WL_OUTPUT_NAME_SINCE_VERSION - static const struct wl_output_listener outputListener = { outputHandleGeometry, outputHandleMode, outputHandleDone, outputHandleScale, -#ifdef WL_OUTPUT_NAME_SINCE_VERSION outputHandleName, outputHandleDescription, -#endif }; @@ -170,11 +165,7 @@ void _glfwAddOutputWayland(uint32_t name, uint32_t version) return; } -#ifdef WL_OUTPUT_NAME_SINCE_VERSION version = _glfw_min(version, WL_OUTPUT_NAME_SINCE_VERSION); -#else - version = 2; -#endif struct wl_output* output = wl_registry_bind(_glfw.wl.registry, name, @@ -189,6 +180,7 @@ void _glfwAddOutputWayland(uint32_t name, uint32_t version) monitor->wl.output = output; monitor->wl.name = name; + wl_proxy_set_tag((struct wl_proxy*) output, &_glfw.wl.tag); wl_output_add_listener(output, &outputListener, monitor); } @@ -240,9 +232,10 @@ GLFWvidmode* _glfwGetVideoModesWayland(_GLFWmonitor* monitor, int* found) return monitor->modes; } -void _glfwGetVideoModeWayland(_GLFWmonitor* monitor, GLFWvidmode* mode) +GLFWbool _glfwGetVideoModeWayland(_GLFWmonitor* monitor, GLFWvidmode* mode) { *mode = monitor->modes[monitor->wl.currentMode]; + return GLFW_TRUE; } GLFWbool _glfwGetGammaRampWayland(_GLFWmonitor* monitor, GLFWgammaramp* ramp) @@ -267,6 +260,15 @@ GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(NULL); + + if (_glfw.platform.platformID != GLFW_PLATFORM_WAYLAND) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Wayland: Platform not initialized"); + return NULL; + } + return monitor->wl.output; } +#endif // _GLFW_WAYLAND + diff --git a/src/external/glfw/src/wl_platform.h b/src/external/glfw/src/wl_platform.h index 238e1ed40..149cd241b 100644 --- a/src/external/glfw/src/wl_platform.h +++ b/src/external/glfw/src/wl_platform.h @@ -28,6 +28,8 @@ #include #include +#include + typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; typedef struct VkWaylandSurfaceCreateInfoKHR @@ -61,6 +63,8 @@ typedef struct wl_proxy* (* PFN_wl_proxy_marshal_constructor)(struct wl_proxy*,u typedef struct wl_proxy* (* PFN_wl_proxy_marshal_constructor_versioned)(struct wl_proxy*,uint32_t,const struct wl_interface*,uint32_t,...); typedef void* (* PFN_wl_proxy_get_user_data)(struct wl_proxy*); typedef void (* PFN_wl_proxy_set_user_data)(struct wl_proxy*,void*); +typedef void (* PFN_wl_proxy_set_tag)(struct wl_proxy*,const char*const*); +typedef const char* const* (* PFN_wl_proxy_get_tag)(struct wl_proxy*); typedef uint32_t (* PFN_wl_proxy_get_version)(struct wl_proxy*); typedef struct wl_proxy* (* PFN_wl_proxy_marshal_flags)(struct wl_proxy*,uint32_t,const struct wl_interface*,uint32_t,uint32_t,...); #define wl_display_flush _glfw.wl.client.display_flush @@ -78,10 +82,13 @@ typedef struct wl_proxy* (* PFN_wl_proxy_marshal_flags)(struct wl_proxy*,uint32_ #define wl_proxy_marshal_constructor_versioned _glfw.wl.client.proxy_marshal_constructor_versioned #define wl_proxy_get_user_data _glfw.wl.client.proxy_get_user_data #define wl_proxy_set_user_data _glfw.wl.client.proxy_set_user_data +#define wl_proxy_get_tag _glfw.wl.client.proxy_get_tag +#define wl_proxy_set_tag _glfw.wl.client.proxy_set_tag #define wl_proxy_get_version _glfw.wl.client.proxy_get_version #define wl_proxy_marshal_flags _glfw.wl.client.proxy_marshal_flags struct wl_shm; +struct wl_output; #define wl_display_interface _glfw_wl_display_interface #define wl_subcompositor_interface _glfw_wl_subcompositor_interface @@ -122,6 +129,10 @@ struct wl_shm; #define xdg_surface_interface _glfw_xdg_surface_interface #define xdg_toplevel_interface _glfw_xdg_toplevel_interface #define xdg_wm_base_interface _glfw_xdg_wm_base_interface +#define xdg_activation_v1_interface _glfw_xdg_activation_v1_interface +#define xdg_activation_token_v1_interface _glfw_xdg_activation_token_v1_interface +#define wl_surface_interface _glfw_wl_surface_interface +#define wp_fractional_scale_v1_interface _glfw_wp_fractional_scale_v1_interface #define GLFW_WAYLAND_WINDOW_STATE _GLFWwindowWayland wl; #define GLFW_WAYLAND_LIBRARY_WINDOW_STATE _GLFWlibraryWayland wl; @@ -198,21 +209,128 @@ typedef xkb_keysym_t (* PFN_xkb_compose_state_get_one_sym)(struct xkb_compose_st #define xkb_compose_state_get_status _glfw.wl.xkb.compose_state_get_status #define xkb_compose_state_get_one_sym _glfw.wl.xkb.compose_state_get_one_sym -typedef enum _GLFWdecorationSideWayland -{ - mainWindow, - topDecoration, - leftDecoration, - rightDecoration, - bottomDecoration, -} _GLFWdecorationSideWayland; +struct libdecor; +struct libdecor_frame; +struct libdecor_state; +struct libdecor_configuration; -typedef struct _GLFWdecorationWayland +enum libdecor_error +{ + LIBDECOR_ERROR_COMPOSITOR_INCOMPATIBLE, + LIBDECOR_ERROR_INVALID_FRAME_CONFIGURATION, +}; + +enum libdecor_window_state +{ + LIBDECOR_WINDOW_STATE_NONE = 0, + LIBDECOR_WINDOW_STATE_ACTIVE = 1, + LIBDECOR_WINDOW_STATE_MAXIMIZED = 2, + LIBDECOR_WINDOW_STATE_FULLSCREEN = 4, + LIBDECOR_WINDOW_STATE_TILED_LEFT = 8, + LIBDECOR_WINDOW_STATE_TILED_RIGHT = 16, + LIBDECOR_WINDOW_STATE_TILED_TOP = 32, + LIBDECOR_WINDOW_STATE_TILED_BOTTOM = 64 +}; + +enum libdecor_capabilities +{ + LIBDECOR_ACTION_MOVE = 1, + LIBDECOR_ACTION_RESIZE = 2, + LIBDECOR_ACTION_MINIMIZE = 4, + LIBDECOR_ACTION_FULLSCREEN = 8, + LIBDECOR_ACTION_CLOSE = 16 +}; + +struct libdecor_interface +{ + void (* error)(struct libdecor*,enum libdecor_error,const char*); + void (* reserved0)(void); + void (* reserved1)(void); + void (* reserved2)(void); + void (* reserved3)(void); + void (* reserved4)(void); + void (* reserved5)(void); + void (* reserved6)(void); + void (* reserved7)(void); + void (* reserved8)(void); + void (* reserved9)(void); +}; + +struct libdecor_frame_interface +{ + void (* configure)(struct libdecor_frame*,struct libdecor_configuration*,void*); + void (* close)(struct libdecor_frame*,void*); + void (* commit)(struct libdecor_frame*,void*); + void (* dismiss_popup)(struct libdecor_frame*,const char*,void*); + void (* reserved0)(void); + void (* reserved1)(void); + void (* reserved2)(void); + void (* reserved3)(void); + void (* reserved4)(void); + void (* reserved5)(void); + void (* reserved6)(void); + void (* reserved7)(void); + void (* reserved8)(void); + void (* reserved9)(void); +}; + +typedef struct libdecor* (* PFN_libdecor_new)(struct wl_display*,const struct libdecor_interface*); +typedef void (* PFN_libdecor_unref)(struct libdecor*); +typedef int (* PFN_libdecor_get_fd)(struct libdecor*); +typedef int (* PFN_libdecor_dispatch)(struct libdecor*,int); +typedef struct libdecor_frame* (* PFN_libdecor_decorate)(struct libdecor*,struct wl_surface*,const struct libdecor_frame_interface*,void*); +typedef void (* PFN_libdecor_frame_unref)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_set_app_id)(struct libdecor_frame*,const char*); +typedef void (* PFN_libdecor_frame_set_title)(struct libdecor_frame*,const char*); +typedef void (* PFN_libdecor_frame_set_minimized)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_set_fullscreen)(struct libdecor_frame*,struct wl_output*); +typedef void (* PFN_libdecor_frame_unset_fullscreen)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_map)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_commit)(struct libdecor_frame*,struct libdecor_state*,struct libdecor_configuration*); +typedef void (* PFN_libdecor_frame_set_min_content_size)(struct libdecor_frame*,int,int); +typedef void (* PFN_libdecor_frame_set_max_content_size)(struct libdecor_frame*,int,int); +typedef void (* PFN_libdecor_frame_set_maximized)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_unset_maximized)(struct libdecor_frame*); +typedef void (* PFN_libdecor_frame_set_capabilities)(struct libdecor_frame*,enum libdecor_capabilities); +typedef void (* PFN_libdecor_frame_unset_capabilities)(struct libdecor_frame*,enum libdecor_capabilities); +typedef void (* PFN_libdecor_frame_set_visibility)(struct libdecor_frame*,bool visible); +typedef struct xdg_toplevel* (* PFN_libdecor_frame_get_xdg_toplevel)(struct libdecor_frame*); +typedef bool (* PFN_libdecor_configuration_get_content_size)(struct libdecor_configuration*,struct libdecor_frame*,int*,int*); +typedef bool (* PFN_libdecor_configuration_get_window_state)(struct libdecor_configuration*,enum libdecor_window_state*); +typedef struct libdecor_state* (* PFN_libdecor_state_new)(int,int); +typedef void (* PFN_libdecor_state_free)(struct libdecor_state*); +#define libdecor_new _glfw.wl.libdecor.libdecor_new_ +#define libdecor_unref _glfw.wl.libdecor.libdecor_unref_ +#define libdecor_get_fd _glfw.wl.libdecor.libdecor_get_fd_ +#define libdecor_dispatch _glfw.wl.libdecor.libdecor_dispatch_ +#define libdecor_decorate _glfw.wl.libdecor.libdecor_decorate_ +#define libdecor_frame_unref _glfw.wl.libdecor.libdecor_frame_unref_ +#define libdecor_frame_set_app_id _glfw.wl.libdecor.libdecor_frame_set_app_id_ +#define libdecor_frame_set_title _glfw.wl.libdecor.libdecor_frame_set_title_ +#define libdecor_frame_set_minimized _glfw.wl.libdecor.libdecor_frame_set_minimized_ +#define libdecor_frame_set_fullscreen _glfw.wl.libdecor.libdecor_frame_set_fullscreen_ +#define libdecor_frame_unset_fullscreen _glfw.wl.libdecor.libdecor_frame_unset_fullscreen_ +#define libdecor_frame_map _glfw.wl.libdecor.libdecor_frame_map_ +#define libdecor_frame_commit _glfw.wl.libdecor.libdecor_frame_commit_ +#define libdecor_frame_set_min_content_size _glfw.wl.libdecor.libdecor_frame_set_min_content_size_ +#define libdecor_frame_set_max_content_size _glfw.wl.libdecor.libdecor_frame_set_max_content_size_ +#define libdecor_frame_set_maximized _glfw.wl.libdecor.libdecor_frame_set_maximized_ +#define libdecor_frame_unset_maximized _glfw.wl.libdecor.libdecor_frame_unset_maximized_ +#define libdecor_frame_set_capabilities _glfw.wl.libdecor.libdecor_frame_set_capabilities_ +#define libdecor_frame_unset_capabilities _glfw.wl.libdecor.libdecor_frame_unset_capabilities_ +#define libdecor_frame_set_visibility _glfw.wl.libdecor.libdecor_frame_set_visibility_ +#define libdecor_frame_get_xdg_toplevel _glfw.wl.libdecor.libdecor_frame_get_xdg_toplevel_ +#define libdecor_configuration_get_content_size _glfw.wl.libdecor.libdecor_configuration_get_content_size_ +#define libdecor_configuration_get_window_state _glfw.wl.libdecor.libdecor_configuration_get_window_state_ +#define libdecor_state_new _glfw.wl.libdecor.libdecor_state_new_ +#define libdecor_state_free _glfw.wl.libdecor.libdecor_state_free_ + +typedef struct _GLFWfallbackEdgeWayland { struct wl_surface* surface; struct wl_subsurface* subsurface; struct wp_viewport* viewport; -} _GLFWdecorationWayland; +} _GLFWfallbackEdgeWayland; typedef struct _GLFWofferWayland { @@ -221,17 +339,25 @@ typedef struct _GLFWofferWayland GLFWbool text_uri_list; } _GLFWofferWayland; +typedef struct _GLFWscaleWayland +{ + struct wl_output* output; + int32_t factor; +} _GLFWscaleWayland; + // Wayland-specific per-window data // typedef struct _GLFWwindowWayland { int width, height; + int fbWidth, fbHeight; GLFWbool visible; GLFWbool maximized; GLFWbool activated; GLFWbool fullscreen; GLFWbool hovered; GLFWbool transparent; + GLFWbool scaleFramebuffer; struct wl_surface* surface; struct wl_callback* callback; @@ -254,30 +380,39 @@ typedef struct _GLFWwindowWayland uint32_t decorationMode; } xdg; + struct { + struct libdecor_frame* frame; + } libdecor; + _GLFWcursor* currentCursor; double cursorPosX, cursorPosY; - char* title; char* appId; // We need to track the monitors the window spans on to calculate the // optimal scaling factor. - int scale; - _GLFWmonitor** monitors; - int monitorsCount; - int monitorsSize; + int32_t bufferScale; + _GLFWscaleWayland* outputScales; + size_t outputScaleCount; + size_t outputScaleSize; + + struct wp_viewport* scalingViewport; + uint32_t scalingNumerator; + struct wp_fractional_scale_v1* fractionalScale; struct zwp_relative_pointer_v1* relativePointer; struct zwp_locked_pointer_v1* lockedPointer; struct zwp_confined_pointer_v1* confinedPointer; - struct zwp_idle_inhibitor_v1* idleInhibitor; + struct zwp_idle_inhibitor_v1* idleInhibitor; + struct xdg_activation_token_v1* activationToken; struct { - struct wl_buffer* buffer; - _GLFWdecorationWayland top, left, right, bottom; - _GLFWdecorationSideWayland focus; - } decorations; + GLFWbool decorations; + struct wl_buffer* buffer; + _GLFWfallbackEdgeWayland top, left, right, bottom; + struct wl_surface* focus; + } fallback; } _GLFWwindowWayland; // Wayland-specific global data @@ -300,6 +435,8 @@ typedef struct _GLFWlibraryWayland struct zwp_relative_pointer_manager_v1* relativePointerManager; struct zwp_pointer_constraints_v1* pointerConstraints; struct zwp_idle_inhibit_manager_v1* idleInhibitManager; + struct xdg_activation_v1* activationManager; + struct wp_fractional_scale_manager_v1* fractionalScaleManager; _GLFWofferWayland* offers; unsigned int offerCount; @@ -311,8 +448,7 @@ typedef struct _GLFWlibraryWayland _GLFWwindow* dragFocus; uint32_t dragSerial; - int compositorVersion; - int seatVersion; + const char* tag; struct wl_cursor_theme* cursorTheme; struct wl_cursor_theme* cursorThemeHiDPI; @@ -391,6 +527,8 @@ typedef struct _GLFWlibraryWayland PFN_wl_proxy_marshal_constructor_versioned proxy_marshal_constructor_versioned; PFN_wl_proxy_get_user_data proxy_get_user_data; PFN_wl_proxy_set_user_data proxy_set_user_data; + PFN_wl_proxy_get_tag proxy_get_tag; + PFN_wl_proxy_set_tag proxy_set_tag; PFN_wl_proxy_get_version proxy_get_version; PFN_wl_proxy_marshal_flags proxy_marshal_flags; } client; @@ -411,6 +549,38 @@ typedef struct _GLFWlibraryWayland PFN_wl_egl_window_destroy window_destroy; PFN_wl_egl_window_resize window_resize; } egl; + + struct { + void* handle; + struct libdecor* context; + struct wl_callback* callback; + GLFWbool ready; + PFN_libdecor_new libdecor_new_; + PFN_libdecor_unref libdecor_unref_; + PFN_libdecor_get_fd libdecor_get_fd_; + PFN_libdecor_dispatch libdecor_dispatch_; + PFN_libdecor_decorate libdecor_decorate_; + PFN_libdecor_frame_unref libdecor_frame_unref_; + PFN_libdecor_frame_set_app_id libdecor_frame_set_app_id_; + PFN_libdecor_frame_set_title libdecor_frame_set_title_; + PFN_libdecor_frame_set_minimized libdecor_frame_set_minimized_; + PFN_libdecor_frame_set_fullscreen libdecor_frame_set_fullscreen_; + PFN_libdecor_frame_unset_fullscreen libdecor_frame_unset_fullscreen_; + PFN_libdecor_frame_map libdecor_frame_map_; + PFN_libdecor_frame_commit libdecor_frame_commit_; + PFN_libdecor_frame_set_min_content_size libdecor_frame_set_min_content_size_; + PFN_libdecor_frame_set_max_content_size libdecor_frame_set_max_content_size_; + PFN_libdecor_frame_set_maximized libdecor_frame_set_maximized_; + PFN_libdecor_frame_unset_maximized libdecor_frame_unset_maximized_; + PFN_libdecor_frame_set_capabilities libdecor_frame_set_capabilities_; + PFN_libdecor_frame_unset_capabilities libdecor_frame_unset_capabilities_; + PFN_libdecor_frame_set_visibility libdecor_frame_set_visibility_; + PFN_libdecor_frame_get_xdg_toplevel libdecor_frame_get_xdg_toplevel_; + PFN_libdecor_configuration_get_content_size libdecor_configuration_get_content_size_; + PFN_libdecor_configuration_get_window_state libdecor_configuration_get_window_state_; + PFN_libdecor_state_new libdecor_state_new_; + PFN_libdecor_state_free libdecor_state_free_; + } libdecor; } _GLFWlibraryWayland; // Wayland-specific per-monitor data @@ -423,7 +593,7 @@ typedef struct _GLFWmonitorWayland int x; int y; - int scale; + int32_t scale; } _GLFWmonitorWayland; // Wayland-specific per-cursor data @@ -509,12 +679,12 @@ void _glfwGetMonitorPosWayland(_GLFWmonitor* monitor, int* xpos, int* ypos); void _glfwGetMonitorContentScaleWayland(_GLFWmonitor* monitor, float* xscale, float* yscale); void _glfwGetMonitorWorkareaWayland(_GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); GLFWvidmode* _glfwGetVideoModesWayland(_GLFWmonitor* monitor, int* count); -void _glfwGetVideoModeWayland(_GLFWmonitor* monitor, GLFWvidmode* mode); +GLFWbool _glfwGetVideoModeWayland(_GLFWmonitor* monitor, GLFWvidmode* mode); GLFWbool _glfwGetGammaRampWayland(_GLFWmonitor* monitor, GLFWgammaramp* ramp); void _glfwSetGammaRampWayland(_GLFWmonitor* monitor, const GLFWgammaramp* ramp); void _glfwAddOutputWayland(uint32_t name, uint32_t version); -void _glfwUpdateContentScaleWayland(_GLFWwindow* window); +void _glfwUpdateBufferScaleFromOutputsWayland(_GLFWwindow* window); void _glfwAddSeatListenerWayland(struct wl_seat* seat); void _glfwAddDataDeviceListenerWayland(struct wl_data_device* device); diff --git a/src/external/glfw/src/wl_window.c b/src/external/glfw/src/wl_window.c index 76d5f15bc..5b491ffbb 100644 --- a/src/external/glfw/src/wl_window.c +++ b/src/external/glfw/src/wl_window.c @@ -23,13 +23,13 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #define _GNU_SOURCE #include "internal.h" +#if defined(_GLFW_WAYLAND) + #include #include #include @@ -40,14 +40,17 @@ #include #include #include +#include #include "wayland-client-protocol.h" -#include "wayland-xdg-shell-client-protocol.h" -#include "wayland-xdg-decoration-client-protocol.h" -#include "wayland-viewporter-client-protocol.h" -#include "wayland-relative-pointer-unstable-v1-client-protocol.h" -#include "wayland-pointer-constraints-unstable-v1-client-protocol.h" -#include "wayland-idle-inhibit-unstable-v1-client-protocol.h" +#include "xdg-shell-client-protocol.h" +#include "xdg-decoration-unstable-v1-client-protocol.h" +#include "viewporter-client-protocol.h" +#include "relative-pointer-unstable-v1-client-protocol.h" +#include "pointer-constraints-unstable-v1-client-protocol.h" +#include "xdg-activation-v1-client-protocol.h" +#include "idle-inhibit-unstable-v1-client-protocol.h" +#include "fractional-scale-v1-client-protocol.h" #define GLFW_BORDER_SIZE 4 #define GLFW_CAPTION_HEIGHT 24 @@ -190,26 +193,28 @@ static struct wl_buffer* createShmBuffer(const GLFWimage* image) return buffer; } -static void createFallbackDecoration(_GLFWdecorationWayland* decoration, - struct wl_surface* parent, - struct wl_buffer* buffer, - int x, int y, - int width, int height) +static void createFallbackEdge(_GLFWwindow* window, + _GLFWfallbackEdgeWayland* edge, + struct wl_surface* parent, + struct wl_buffer* buffer, + int x, int y, + int width, int height) { - decoration->surface = wl_compositor_create_surface(_glfw.wl.compositor); - decoration->subsurface = - wl_subcompositor_get_subsurface(_glfw.wl.subcompositor, - decoration->surface, parent); - wl_subsurface_set_position(decoration->subsurface, x, y); - decoration->viewport = wp_viewporter_get_viewport(_glfw.wl.viewporter, - decoration->surface); - wp_viewport_set_destination(decoration->viewport, width, height); - wl_surface_attach(decoration->surface, buffer, 0, 0); + edge->surface = wl_compositor_create_surface(_glfw.wl.compositor); + wl_surface_set_user_data(edge->surface, window); + wl_proxy_set_tag((struct wl_proxy*) edge->surface, &_glfw.wl.tag); + edge->subsurface = wl_subcompositor_get_subsurface(_glfw.wl.subcompositor, + edge->surface, parent); + wl_subsurface_set_position(edge->subsurface, x, y); + edge->viewport = wp_viewporter_get_viewport(_glfw.wl.viewporter, + edge->surface); + wp_viewport_set_destination(edge->viewport, width, height); + wl_surface_attach(edge->surface, buffer, 0, 0); struct wl_region* region = wl_compositor_create_region(_glfw.wl.compositor); wl_region_add(region, 0, 0, width, height); - wl_surface_set_opaque_region(decoration->surface, region); - wl_surface_commit(decoration->surface); + wl_surface_set_opaque_region(edge->surface, region); + wl_surface_commit(edge->surface); wl_region_destroy(region); } @@ -221,48 +226,53 @@ static void createFallbackDecorations(_GLFWwindow* window) if (!_glfw.wl.viewporter) return; - if (!window->wl.decorations.buffer) - window->wl.decorations.buffer = createShmBuffer(&image); - if (!window->wl.decorations.buffer) + if (!window->wl.fallback.buffer) + window->wl.fallback.buffer = createShmBuffer(&image); + if (!window->wl.fallback.buffer) return; - createFallbackDecoration(&window->wl.decorations.top, window->wl.surface, - window->wl.decorations.buffer, - 0, -GLFW_CAPTION_HEIGHT, - window->wl.width, GLFW_CAPTION_HEIGHT); - createFallbackDecoration(&window->wl.decorations.left, window->wl.surface, - window->wl.decorations.buffer, - -GLFW_BORDER_SIZE, -GLFW_CAPTION_HEIGHT, - GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); - createFallbackDecoration(&window->wl.decorations.right, window->wl.surface, - window->wl.decorations.buffer, - window->wl.width, -GLFW_CAPTION_HEIGHT, - GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); - createFallbackDecoration(&window->wl.decorations.bottom, window->wl.surface, - window->wl.decorations.buffer, - -GLFW_BORDER_SIZE, window->wl.height, - window->wl.width + GLFW_BORDER_SIZE * 2, GLFW_BORDER_SIZE); + createFallbackEdge(window, &window->wl.fallback.top, window->wl.surface, + window->wl.fallback.buffer, + 0, -GLFW_CAPTION_HEIGHT, + window->wl.width, GLFW_CAPTION_HEIGHT); + createFallbackEdge(window, &window->wl.fallback.left, window->wl.surface, + window->wl.fallback.buffer, + -GLFW_BORDER_SIZE, -GLFW_CAPTION_HEIGHT, + GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); + createFallbackEdge(window, &window->wl.fallback.right, window->wl.surface, + window->wl.fallback.buffer, + window->wl.width, -GLFW_CAPTION_HEIGHT, + GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); + createFallbackEdge(window, &window->wl.fallback.bottom, window->wl.surface, + window->wl.fallback.buffer, + -GLFW_BORDER_SIZE, window->wl.height, + window->wl.width + GLFW_BORDER_SIZE * 2, GLFW_BORDER_SIZE); + + window->wl.fallback.decorations = GLFW_TRUE; } -static void destroyFallbackDecoration(_GLFWdecorationWayland* decoration) +static void destroyFallbackEdge(_GLFWfallbackEdgeWayland* edge) { - if (decoration->subsurface) - wl_subsurface_destroy(decoration->subsurface); - if (decoration->surface) - wl_surface_destroy(decoration->surface); - if (decoration->viewport) - wp_viewport_destroy(decoration->viewport); - decoration->surface = NULL; - decoration->subsurface = NULL; - decoration->viewport = NULL; + if (edge->subsurface) + wl_subsurface_destroy(edge->subsurface); + if (edge->surface) + wl_surface_destroy(edge->surface); + if (edge->viewport) + wp_viewport_destroy(edge->viewport); + + edge->surface = NULL; + edge->subsurface = NULL; + edge->viewport = NULL; } static void destroyFallbackDecorations(_GLFWwindow* window) { - destroyFallbackDecoration(&window->wl.decorations.top); - destroyFallbackDecoration(&window->wl.decorations.left); - destroyFallbackDecoration(&window->wl.decorations.right); - destroyFallbackDecoration(&window->wl.decorations.bottom); + window->wl.fallback.decorations = GLFW_FALSE; + + destroyFallbackEdge(&window->wl.fallback.top); + destroyFallbackEdge(&window->wl.fallback.left); + destroyFallbackEdge(&window->wl.fallback.right); + destroyFallbackEdge(&window->wl.fallback.bottom); } static void xdgDecorationHandleConfigure(void* userData, @@ -301,61 +311,114 @@ static void setContentAreaOpaque(_GLFWwindow* window) wl_region_destroy(region); } - -static void resizeWindow(_GLFWwindow* window) +static void resizeFramebuffer(_GLFWwindow* window) { - int scale = window->wl.scale; - int scaledWidth = window->wl.width * scale; - int scaledHeight = window->wl.height * scale; + if (window->wl.fractionalScale) + { + window->wl.fbWidth = (window->wl.width * window->wl.scalingNumerator) / 120; + window->wl.fbHeight = (window->wl.height * window->wl.scalingNumerator) / 120; + } + else + { + window->wl.fbWidth = window->wl.width * window->wl.bufferScale; + window->wl.fbHeight = window->wl.height * window->wl.bufferScale; + } if (window->wl.egl.window) - wl_egl_window_resize(window->wl.egl.window, scaledWidth, scaledHeight, 0, 0); + { + wl_egl_window_resize(window->wl.egl.window, + window->wl.fbWidth, + window->wl.fbHeight, + 0, 0); + } + if (!window->wl.transparent) setContentAreaOpaque(window); - _glfwInputFramebufferSize(window, scaledWidth, scaledHeight); - if (!window->wl.decorations.top.surface) - return; - - wp_viewport_set_destination(window->wl.decorations.top.viewport, - window->wl.width, GLFW_CAPTION_HEIGHT); - wl_surface_commit(window->wl.decorations.top.surface); - - wp_viewport_set_destination(window->wl.decorations.left.viewport, - GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); - wl_surface_commit(window->wl.decorations.left.surface); - - wl_subsurface_set_position(window->wl.decorations.right.subsurface, - window->wl.width, -GLFW_CAPTION_HEIGHT); - wp_viewport_set_destination(window->wl.decorations.right.viewport, - GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); - wl_surface_commit(window->wl.decorations.right.surface); - - wl_subsurface_set_position(window->wl.decorations.bottom.subsurface, - -GLFW_BORDER_SIZE, window->wl.height); - wp_viewport_set_destination(window->wl.decorations.bottom.viewport, - window->wl.width + GLFW_BORDER_SIZE * 2, GLFW_BORDER_SIZE); - wl_surface_commit(window->wl.decorations.bottom.surface); + _glfwInputFramebufferSize(window, window->wl.fbWidth, window->wl.fbHeight); } -void _glfwUpdateContentScaleWayland(_GLFWwindow* window) +static GLFWbool resizeWindow(_GLFWwindow* window, int width, int height) { - if (_glfw.wl.compositorVersion < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION) + width = _glfw_max(width, 1); + height = _glfw_max(height, 1); + + if (width == window->wl.width && height == window->wl.height) + return GLFW_FALSE; + + window->wl.width = width; + window->wl.height = height; + + resizeFramebuffer(window); + + if (window->wl.scalingViewport) + { + wp_viewport_set_destination(window->wl.scalingViewport, + window->wl.width, + window->wl.height); + } + + if (window->wl.fallback.decorations) + { + wp_viewport_set_destination(window->wl.fallback.top.viewport, + window->wl.width, + GLFW_CAPTION_HEIGHT); + wl_surface_commit(window->wl.fallback.top.surface); + + wp_viewport_set_destination(window->wl.fallback.left.viewport, + GLFW_BORDER_SIZE, + window->wl.height + GLFW_CAPTION_HEIGHT); + wl_surface_commit(window->wl.fallback.left.surface); + + wl_subsurface_set_position(window->wl.fallback.right.subsurface, + window->wl.width, -GLFW_CAPTION_HEIGHT); + wp_viewport_set_destination(window->wl.fallback.right.viewport, + GLFW_BORDER_SIZE, + window->wl.height + GLFW_CAPTION_HEIGHT); + wl_surface_commit(window->wl.fallback.right.surface); + + wl_subsurface_set_position(window->wl.fallback.bottom.subsurface, + -GLFW_BORDER_SIZE, window->wl.height); + wp_viewport_set_destination(window->wl.fallback.bottom.viewport, + window->wl.width + GLFW_BORDER_SIZE * 2, + GLFW_BORDER_SIZE); + wl_surface_commit(window->wl.fallback.bottom.surface); + } + + return GLFW_TRUE; +} + +void _glfwUpdateBufferScaleFromOutputsWayland(_GLFWwindow* window) +{ + if (wl_compositor_get_version(_glfw.wl.compositor) < + WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION) + { + return; + } + + if (!window->wl.scaleFramebuffer) + return; + + // When using fractional scaling, the buffer scale should remain at 1 + if (window->wl.fractionalScale) return; // Get the scale factor from the highest scale monitor. - int maxScale = 1; + int32_t maxScale = 1; - for (int i = 0; i < window->wl.monitorsCount; i++) - maxScale = _glfw_max(window->wl.monitors[i]->wl.scale, maxScale); + for (size_t i = 0; i < window->wl.outputScaleCount; i++) + maxScale = _glfw_max(window->wl.outputScales[i].factor, maxScale); // Only change the framebuffer size if the scale changed. - if (window->wl.scale != maxScale) + if (window->wl.bufferScale != maxScale) { - window->wl.scale = maxScale; + window->wl.bufferScale = maxScale; wl_surface_set_buffer_scale(window->wl.surface, maxScale); _glfwInputWindowContentScale(window, maxScale, maxScale); - resizeWindow(window); + resizeFramebuffer(window); + + if (window->wl.visible) + _glfwInputWindowDamage(window); } } @@ -363,40 +426,50 @@ static void surfaceHandleEnter(void* userData, struct wl_surface* surface, struct wl_output* output) { + if (wl_proxy_get_tag((struct wl_proxy*) output) != &_glfw.wl.tag) + return; + _GLFWwindow* window = userData; _GLFWmonitor* monitor = wl_output_get_user_data(output); + if (!window || !monitor) + return; - if (window->wl.monitorsCount + 1 > window->wl.monitorsSize) + if (window->wl.outputScaleCount + 1 > window->wl.outputScaleSize) { - ++window->wl.monitorsSize; - window->wl.monitors = - _glfw_realloc(window->wl.monitors, - window->wl.monitorsSize * sizeof(_GLFWmonitor*)); + window->wl.outputScaleSize++; + window->wl.outputScales = + _glfw_realloc(window->wl.outputScales, + window->wl.outputScaleSize * sizeof(_GLFWscaleWayland)); } - window->wl.monitors[window->wl.monitorsCount++] = monitor; + window->wl.outputScaleCount++; + window->wl.outputScales[window->wl.outputScaleCount - 1] = + (_GLFWscaleWayland) { output, monitor->wl.scale }; - _glfwUpdateContentScaleWayland(window); + _glfwUpdateBufferScaleFromOutputsWayland(window); } static void surfaceHandleLeave(void* userData, struct wl_surface* surface, struct wl_output* output) { + if (wl_proxy_get_tag((struct wl_proxy*) output) != &_glfw.wl.tag) + return; + _GLFWwindow* window = userData; - _GLFWmonitor* monitor = wl_output_get_user_data(output); - GLFWbool found = GLFW_FALSE; - for (int i = 0; i < window->wl.monitorsCount - 1; ++i) + for (size_t i = 0; i < window->wl.outputScaleCount; i++) { - if (monitor == window->wl.monitors[i]) - found = GLFW_TRUE; - if (found) - window->wl.monitors[i] = window->wl.monitors[i + 1]; + if (window->wl.outputScales[i].output == output) + { + window->wl.outputScales[i] = + window->wl.outputScales[window->wl.outputScaleCount - 1]; + window->wl.outputScaleCount--; + break; + } } - window->wl.monitors[--window->wl.monitorsCount] = NULL; - _glfwUpdateContentScaleWayland(window); + _glfwUpdateBufferScaleFromOutputsWayland(window); } static const struct wl_surface_listener surfaceListener = @@ -427,7 +500,12 @@ static void setIdleInhibitor(_GLFWwindow* window, GLFWbool enable) // static void acquireMonitor(_GLFWwindow* window) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + { + libdecor_frame_set_fullscreen(window->wl.libdecor.frame, + window->monitor->wl.output); + } + else if (window->wl.xdg.toplevel) { xdg_toplevel_set_fullscreen(window->wl.xdg.toplevel, window->monitor->wl.output); @@ -435,7 +513,7 @@ static void acquireMonitor(_GLFWwindow* window) setIdleInhibitor(window, GLFW_TRUE); - if (window->wl.decorations.top.surface) + if (window->wl.fallback.decorations) destroyFallbackDecorations(window); } @@ -443,18 +521,40 @@ static void acquireMonitor(_GLFWwindow* window) // static void releaseMonitor(_GLFWwindow* window) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + libdecor_frame_unset_fullscreen(window->wl.libdecor.frame); + else if (window->wl.xdg.toplevel) xdg_toplevel_unset_fullscreen(window->wl.xdg.toplevel); setIdleInhibitor(window, GLFW_FALSE); - if (window->wl.xdg.decorationMode != ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE) + if (!window->wl.libdecor.frame && + window->wl.xdg.decorationMode != ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE) { if (window->decorated) createFallbackDecorations(window); } } +void fractionalScaleHandlePreferredScale(void* userData, + struct wp_fractional_scale_v1* fractionalScale, + uint32_t numerator) +{ + _GLFWwindow* window = userData; + + window->wl.scalingNumerator = numerator; + _glfwInputWindowContentScale(window, numerator / 120.f, numerator / 120.f); + resizeFramebuffer(window); + + if (window->wl.visible) + _glfwInputWindowDamage(window); +} + +const struct wp_fractional_scale_v1_listener fractionalScaleListener = +{ + fractionalScaleHandlePreferredScale, +}; + static void xdgToplevelHandleConfigure(void* userData, struct xdg_toplevel* toplevel, int32_t width, @@ -488,7 +588,7 @@ static void xdgToplevelHandleConfigure(void* userData, if (width && height) { - if (window->wl.decorations.top.surface) + if (window->wl.fallback.decorations) { window->wl.pending.width = _glfw_max(0, width - GLFW_BORDER_SIZE * 2); window->wl.pending.height = @@ -562,13 +662,9 @@ static void xdgSurfaceHandleConfigure(void* userData, } } - if (width != window->wl.width || height != window->wl.height) + if (resizeWindow(window, width, height)) { - window->wl.width = width; - window->wl.height = height; - resizeWindow(window); - - _glfwInputWindowSize(window, width, height); + _glfwInputWindowSize(window, window->wl.width, window->wl.height); if (window->wl.visible) _glfwInputWindowDamage(window); @@ -591,7 +687,232 @@ static const struct xdg_surface_listener xdgSurfaceListener = xdgSurfaceHandleConfigure }; -static GLFWbool createShellObjects(_GLFWwindow* window) +void libdecorFrameHandleConfigure(struct libdecor_frame* frame, + struct libdecor_configuration* config, + void* userData) +{ + _GLFWwindow* window = userData; + int width, height; + + enum libdecor_window_state windowState; + GLFWbool fullscreen, activated, maximized; + + if (libdecor_configuration_get_window_state(config, &windowState)) + { + fullscreen = (windowState & LIBDECOR_WINDOW_STATE_FULLSCREEN) != 0; + activated = (windowState & LIBDECOR_WINDOW_STATE_ACTIVE) != 0; + maximized = (windowState & LIBDECOR_WINDOW_STATE_MAXIMIZED) != 0; + } + else + { + fullscreen = window->wl.fullscreen; + activated = window->wl.activated; + maximized = window->wl.maximized; + } + + if (!libdecor_configuration_get_content_size(config, frame, &width, &height)) + { + width = window->wl.width; + height = window->wl.height; + } + + if (!maximized && !fullscreen) + { + if (window->numer != GLFW_DONT_CARE && window->denom != GLFW_DONT_CARE) + { + const float aspectRatio = (float) width / (float) height; + const float targetRatio = (float) window->numer / (float) window->denom; + if (aspectRatio < targetRatio) + height = width / targetRatio; + else if (aspectRatio > targetRatio) + width = height * targetRatio; + } + } + + struct libdecor_state* frameState = libdecor_state_new(width, height); + libdecor_frame_commit(frame, frameState, config); + libdecor_state_free(frameState); + + if (window->wl.activated != activated) + { + window->wl.activated = activated; + if (!window->wl.activated) + { + if (window->monitor && window->autoIconify) + libdecor_frame_set_minimized(window->wl.libdecor.frame); + } + } + + if (window->wl.maximized != maximized) + { + window->wl.maximized = maximized; + _glfwInputWindowMaximize(window, window->wl.maximized); + } + + window->wl.fullscreen = fullscreen; + + GLFWbool damaged = GLFW_FALSE; + + if (!window->wl.visible) + { + window->wl.visible = GLFW_TRUE; + damaged = GLFW_TRUE; + } + + if (resizeWindow(window, width, height)) + { + _glfwInputWindowSize(window, window->wl.width, window->wl.height); + damaged = GLFW_TRUE; + } + + if (damaged) + _glfwInputWindowDamage(window); + else + wl_surface_commit(window->wl.surface); +} + +void libdecorFrameHandleClose(struct libdecor_frame* frame, void* userData) +{ + _GLFWwindow* window = userData; + _glfwInputWindowCloseRequest(window); +} + +void libdecorFrameHandleCommit(struct libdecor_frame* frame, void* userData) +{ + _GLFWwindow* window = userData; + wl_surface_commit(window->wl.surface); +} + +void libdecorFrameHandleDismissPopup(struct libdecor_frame* frame, + const char* seatName, + void* userData) +{ +} + +static const struct libdecor_frame_interface libdecorFrameInterface = +{ + libdecorFrameHandleConfigure, + libdecorFrameHandleClose, + libdecorFrameHandleCommit, + libdecorFrameHandleDismissPopup +}; + +static GLFWbool createLibdecorFrame(_GLFWwindow* window) +{ + // Allow libdecor to finish initialization of itself and its plugin + while (!_glfw.wl.libdecor.ready) + _glfwWaitEventsWayland(); + + window->wl.libdecor.frame = libdecor_decorate(_glfw.wl.libdecor.context, + window->wl.surface, + &libdecorFrameInterface, + window); + if (!window->wl.libdecor.frame) + { + _glfwInputError(GLFW_PLATFORM_ERROR, + "Wayland: Failed to create libdecor frame"); + return GLFW_FALSE; + } + + struct libdecor_state* frameState = + libdecor_state_new(window->wl.width, window->wl.height); + libdecor_frame_commit(window->wl.libdecor.frame, frameState, NULL); + libdecor_state_free(frameState); + + if (strlen(window->wl.appId)) + libdecor_frame_set_app_id(window->wl.libdecor.frame, window->wl.appId); + + libdecor_frame_set_title(window->wl.libdecor.frame, window->title); + + if (window->minwidth != GLFW_DONT_CARE && + window->minheight != GLFW_DONT_CARE) + { + libdecor_frame_set_min_content_size(window->wl.libdecor.frame, + window->minwidth, + window->minheight); + } + + if (window->maxwidth != GLFW_DONT_CARE && + window->maxheight != GLFW_DONT_CARE) + { + libdecor_frame_set_max_content_size(window->wl.libdecor.frame, + window->maxwidth, + window->maxheight); + } + + if (!window->resizable) + { + libdecor_frame_unset_capabilities(window->wl.libdecor.frame, + LIBDECOR_ACTION_RESIZE); + } + + if (window->monitor) + { + libdecor_frame_set_fullscreen(window->wl.libdecor.frame, + window->monitor->wl.output); + setIdleInhibitor(window, GLFW_TRUE); + } + else + { + if (window->wl.maximized) + libdecor_frame_set_maximized(window->wl.libdecor.frame); + + if (!window->decorated) + libdecor_frame_set_visibility(window->wl.libdecor.frame, false); + + setIdleInhibitor(window, GLFW_FALSE); + } + + libdecor_frame_map(window->wl.libdecor.frame); + wl_display_roundtrip(_glfw.wl.display); + return GLFW_TRUE; +} + +static void updateXdgSizeLimits(_GLFWwindow* window) +{ + int minwidth, minheight, maxwidth, maxheight; + + if (window->resizable) + { + if (window->minwidth == GLFW_DONT_CARE || window->minheight == GLFW_DONT_CARE) + minwidth = minheight = 0; + else + { + minwidth = window->minwidth; + minheight = window->minheight; + + if (window->wl.fallback.decorations) + { + minwidth += GLFW_BORDER_SIZE * 2; + minheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; + } + } + + if (window->maxwidth == GLFW_DONT_CARE || window->maxheight == GLFW_DONT_CARE) + maxwidth = maxheight = 0; + else + { + maxwidth = window->maxwidth; + maxheight = window->maxheight; + + if (window->wl.fallback.decorations) + { + maxwidth += GLFW_BORDER_SIZE * 2; + maxheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; + } + } + } + else + { + minwidth = maxwidth = window->wl.width; + minheight = maxheight = window->wl.height; + } + + xdg_toplevel_set_min_size(window->wl.xdg.toplevel, minwidth, minheight); + xdg_toplevel_set_max_size(window->wl.xdg.toplevel, maxwidth, maxheight); +} + +static GLFWbool createXdgShellObjects(_GLFWwindow* window) { window->wl.xdg.surface = xdg_wm_base_get_xdg_surface(_glfw.wl.wmBase, window->wl.surface); @@ -617,8 +938,7 @@ static GLFWbool createShellObjects(_GLFWwindow* window) if (window->wl.appId) xdg_toplevel_set_app_id(window->wl.xdg.toplevel, window->wl.appId); - if (window->wl.title) - xdg_toplevel_set_title(window->wl.xdg.toplevel, window->wl.title); + xdg_toplevel_set_title(window->wl.xdg.toplevel, window->title); if (window->monitor) { @@ -631,70 +951,57 @@ static GLFWbool createShellObjects(_GLFWwindow* window) xdg_toplevel_set_maximized(window->wl.xdg.toplevel); setIdleInhibitor(window, GLFW_FALSE); + } - if (_glfw.wl.decorationManager) - { - window->wl.xdg.decoration = - zxdg_decoration_manager_v1_get_toplevel_decoration( - _glfw.wl.decorationManager, window->wl.xdg.toplevel); - zxdg_toplevel_decoration_v1_add_listener(window->wl.xdg.decoration, - &xdgDecorationListener, - window); + if (_glfw.wl.decorationManager) + { + window->wl.xdg.decoration = + zxdg_decoration_manager_v1_get_toplevel_decoration( + _glfw.wl.decorationManager, window->wl.xdg.toplevel); + zxdg_toplevel_decoration_v1_add_listener(window->wl.xdg.decoration, + &xdgDecorationListener, + window); - uint32_t mode; + uint32_t mode; - if (window->decorated) - mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE; - else - mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE; - - zxdg_toplevel_decoration_v1_set_mode(window->wl.xdg.decoration, mode); - } + if (window->decorated) + mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE; else - { - if (window->decorated) - createFallbackDecorations(window); - } - } + mode = ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE; - if (window->minwidth != GLFW_DONT_CARE && window->minheight != GLFW_DONT_CARE) + zxdg_toplevel_decoration_v1_set_mode(window->wl.xdg.decoration, mode); + } + else { - int minwidth = window->minwidth; - int minheight = window->minheight; - - if (window->wl.decorations.top.surface) - { - minwidth += GLFW_BORDER_SIZE * 2; - minheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; - } - - xdg_toplevel_set_min_size(window->wl.xdg.toplevel, minwidth, minheight); + if (window->decorated && !window->monitor) + createFallbackDecorations(window); } - if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE) - { - int maxwidth = window->maxwidth; - int maxheight = window->maxheight; - - if (window->wl.decorations.top.surface) - { - maxwidth += GLFW_BORDER_SIZE * 2; - maxheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; - } - - xdg_toplevel_set_max_size(window->wl.xdg.toplevel, maxwidth, maxheight); - } + updateXdgSizeLimits(window); wl_surface_commit(window->wl.surface); wl_display_roundtrip(_glfw.wl.display); - return GLFW_TRUE; } +static GLFWbool createShellObjects(_GLFWwindow* window) +{ + if (_glfw.wl.libdecor.context) + { + if (createLibdecorFrame(window)) + return GLFW_TRUE; + } + + return createXdgShellObjects(window); +} + static void destroyShellObjects(_GLFWwindow* window) { destroyFallbackDecorations(window); + if (window->wl.libdecor.frame) + libdecor_frame_unref(window->wl.libdecor.frame); + if (window->wl.xdg.decoration) zxdg_toplevel_decoration_v1_destroy(window->wl.xdg.decoration); @@ -704,6 +1011,7 @@ static void destroyShellObjects(_GLFWwindow* window) if (window->wl.xdg.surface) xdg_surface_destroy(window->wl.xdg.surface); + window->wl.libdecor.frame = NULL; window->wl.xdg.decoration = NULL; window->wl.xdg.decorationMode = 0; window->wl.xdg.toplevel = NULL; @@ -721,24 +1029,49 @@ static GLFWbool createNativeSurface(_GLFWwindow* window, return GLFW_FALSE; } + wl_proxy_set_tag((struct wl_proxy*) window->wl.surface, &_glfw.wl.tag); wl_surface_add_listener(window->wl.surface, &surfaceListener, window); - wl_surface_set_user_data(window->wl.surface, window); - window->wl.width = wndconfig->width; window->wl.height = wndconfig->height; - window->wl.scale = 1; - window->wl.title = _glfw_strdup(wndconfig->title); + window->wl.fbWidth = wndconfig->width; + window->wl.fbHeight = wndconfig->height; window->wl.appId = _glfw_strdup(wndconfig->wl.appId); + window->wl.bufferScale = 1; + window->wl.scalingNumerator = 120; + window->wl.scaleFramebuffer = wndconfig->scaleFramebuffer; + window->wl.maximized = wndconfig->maximized; window->wl.transparent = fbconfig->transparent; if (!window->wl.transparent) setContentAreaOpaque(window); + if (_glfw.wl.fractionalScaleManager) + { + if (window->wl.scaleFramebuffer) + { + window->wl.scalingViewport = + wp_viewporter_get_viewport(_glfw.wl.viewporter, window->wl.surface); + + wp_viewport_set_destination(window->wl.scalingViewport, + window->wl.width, + window->wl.height); + + window->wl.fractionalScale = + wp_fractional_scale_manager_v1_get_fractional_scale( + _glfw.wl.fractionalScaleManager, + window->wl.surface); + + wp_fractional_scale_v1_add_listener(window->wl.fractionalScale, + &fractionalScaleListener, + window); + } + } + return GLFW_TRUE; } @@ -756,7 +1089,7 @@ static void setCursorImage(_GLFWwindow* window, buffer = cursorWayland->buffer; else { - if (window->wl.scale > 1 && cursorWayland->cursorHiDPI) + if (window->wl.bufferScale > 1 && cursorWayland->cursorHiDPI) { wlCursor = cursorWayland->cursorHiDPI; scale = 2; @@ -792,7 +1125,7 @@ static void incrementCursorImage(_GLFWwindow* window) { _GLFWcursor* cursor; - if (!window || window->wl.decorations.focus != mainWindow) + if (!window || !window->wl.hovered) return; cursor = window->wl.currentCursor; @@ -871,18 +1204,31 @@ static void inputText(_GLFWwindow* window, uint32_t scancode) static void handleEvents(double* timeout) { +#if defined(GLFW_BUILD_LINUX_JOYSTICK) + if (_glfw.joysticksInitialized) + _glfwDetectJoystickConnectionLinux(); +#endif + GLFWbool event = GLFW_FALSE; + enum { DISPLAY_FD, KEYREPEAT_FD, CURSOR_FD, LIBDECOR_FD }; struct pollfd fds[] = { - { wl_display_get_fd(_glfw.wl.display), POLLIN }, - { _glfw.wl.keyRepeatTimerfd, POLLIN }, - { _glfw.wl.cursorTimerfd, POLLIN }, + [DISPLAY_FD] = { wl_display_get_fd(_glfw.wl.display), POLLIN }, + [KEYREPEAT_FD] = { _glfw.wl.keyRepeatTimerfd, POLLIN }, + [CURSOR_FD] = { _glfw.wl.cursorTimerfd, POLLIN }, + [LIBDECOR_FD] = { -1, POLLIN } }; + if (_glfw.wl.libdecor.context) + fds[LIBDECOR_FD].fd = libdecor_get_fd(_glfw.wl.libdecor.context); + while (!event) { while (wl_display_prepare_read(_glfw.wl.display) != 0) - wl_display_dispatch_pending(_glfw.wl.display); + { + if (wl_display_dispatch_pending(_glfw.wl.display) > 0) + return; + } // If an error other than EAGAIN happens, we have likely been disconnected // from the Wayland session; try to handle that the best we can. @@ -900,13 +1246,13 @@ static void handleEvents(double* timeout) return; } - if (!_glfwPollPOSIX(fds, 3, timeout)) + if (!_glfwPollPOSIX(fds, sizeof(fds) / sizeof(fds[0]), timeout)) { wl_display_cancel_read(_glfw.wl.display); return; } - if (fds[0].revents & POLLIN) + if (fds[DISPLAY_FD].revents & POLLIN) { wl_display_read_events(_glfw.wl.display); if (wl_display_dispatch_pending(_glfw.wl.display) > 0) @@ -915,7 +1261,7 @@ static void handleEvents(double* timeout) else wl_display_cancel_read(_glfw.wl.display); - if (fds[1].revents & POLLIN) + if (fds[KEYREPEAT_FD].revents & POLLIN) { uint64_t repeats; @@ -935,15 +1281,18 @@ static void handleEvents(double* timeout) } } - if (fds[2].revents & POLLIN) + if (fds[CURSOR_FD].revents & POLLIN) { uint64_t repeats; if (read(_glfw.wl.cursorTimerfd, &repeats, sizeof(repeats)) == 8) - { incrementCursorImage(_glfw.wl.pointerFocus); + } + + if (fds[LIBDECOR_FD].revents & POLLIN) + { + if (libdecor_dispatch(_glfw.wl.libdecor.context, 0) > 0) event = GLFW_TRUE; - } } } } @@ -1012,40 +1361,6 @@ static char* readDataOfferAsString(struct wl_data_offer* offer, const char* mime return string; } -static _GLFWwindow* findWindowFromDecorationSurface(struct wl_surface* surface, - _GLFWdecorationSideWayland* which) -{ - _GLFWdecorationSideWayland focus; - _GLFWwindow* window = _glfw.windowListHead; - if (!which) - which = &focus; - while (window) - { - if (surface == window->wl.decorations.top.surface) - { - *which = topDecoration; - break; - } - if (surface == window->wl.decorations.left.surface) - { - *which = leftDecoration; - break; - } - if (surface == window->wl.decorations.right.surface) - { - *which = rightDecoration; - break; - } - if (surface == window->wl.decorations.bottom.surface) - { - *which = bottomDecoration; - break; - } - window = window->next; - } - return window; -} - static void pointerHandleEnter(void* userData, struct wl_pointer* pointer, uint32_t serial, @@ -1057,24 +1372,26 @@ static void pointerHandleEnter(void* userData, if (!surface) return; - _GLFWdecorationSideWayland focus = mainWindow; + if (wl_proxy_get_tag((struct wl_proxy*) surface) != &_glfw.wl.tag) + return; + _GLFWwindow* window = wl_surface_get_user_data(surface); - if (!window) - { - window = findWindowFromDecorationSurface(surface, &focus); - if (!window) - return; - } - window->wl.decorations.focus = focus; _glfw.wl.serial = serial; _glfw.wl.pointerEnterSerial = serial; _glfw.wl.pointerFocus = window; - window->wl.hovered = GLFW_TRUE; - - _glfwSetCursorWayland(window, window->wl.currentCursor); - _glfwInputCursorEnter(window, GLFW_TRUE); + if (surface == window->wl.surface) + { + window->wl.hovered = GLFW_TRUE; + _glfwSetCursorWayland(window, window->wl.currentCursor); + _glfwInputCursorEnter(window, GLFW_TRUE); + } + else + { + if (window->wl.fallback.decorations) + window->wl.fallback.focus = surface; + } } static void pointerHandleLeave(void* userData, @@ -1082,62 +1399,30 @@ static void pointerHandleLeave(void* userData, uint32_t serial, struct wl_surface* surface) { - _GLFWwindow* window = _glfw.wl.pointerFocus; - - if (!window) + if (!surface) return; - window->wl.hovered = GLFW_FALSE; + if (wl_proxy_get_tag((struct wl_proxy*) surface) != &_glfw.wl.tag) + return; + + _GLFWwindow* window = _glfw.wl.pointerFocus; + if (!window) + return; _glfw.wl.serial = serial; _glfw.wl.pointerFocus = NULL; _glfw.wl.cursorPreviousName = NULL; - _glfwInputCursorEnter(window, GLFW_FALSE); -} -static void setCursor(_GLFWwindow* window, const char* name) -{ - struct wl_buffer* buffer; - struct wl_cursor* cursor; - struct wl_cursor_image* image; - struct wl_surface* surface = _glfw.wl.cursorSurface; - struct wl_cursor_theme* theme = _glfw.wl.cursorTheme; - int scale = 1; - - if (window->wl.scale > 1 && _glfw.wl.cursorThemeHiDPI) + if (window->wl.hovered) { - // We only support up to scale=2 for now, since libwayland-cursor - // requires us to load a different theme for each size. - scale = 2; - theme = _glfw.wl.cursorThemeHiDPI; + window->wl.hovered = GLFW_FALSE; + _glfwInputCursorEnter(window, GLFW_FALSE); } - - cursor = wl_cursor_theme_get_cursor(theme, name); - if (!cursor) + else { - _glfwInputError(GLFW_CURSOR_UNAVAILABLE, - "Wayland: Standard cursor shape unavailable"); - return; + if (window->wl.fallback.decorations) + window->wl.fallback.focus = NULL; } - // TODO: handle animated cursors too. - image = cursor->images[0]; - - if (!image) - return; - - buffer = wl_cursor_image_get_buffer(image); - if (!buffer) - return; - wl_pointer_set_cursor(_glfw.wl.pointer, _glfw.wl.pointerEnterSerial, - surface, - image->hotspot_x / scale, - image->hotspot_y / scale); - wl_surface_set_buffer_scale(surface, scale); - wl_surface_attach(surface, buffer, 0, 0); - wl_surface_damage(surface, 0, 0, - image->width, image->height); - wl_surface_commit(surface); - _glfw.wl.cursorPreviousName = name; } static void pointerHandleMotion(void* userData, @@ -1147,56 +1432,99 @@ static void pointerHandleMotion(void* userData, wl_fixed_t sy) { _GLFWwindow* window = _glfw.wl.pointerFocus; - const char* cursorName = NULL; - double x, y; - if (!window) return; if (window->cursorMode == GLFW_CURSOR_DISABLED) return; - x = wl_fixed_to_double(sx); - y = wl_fixed_to_double(sy); - window->wl.cursorPosX = x; - window->wl.cursorPosY = y; - switch (window->wl.decorations.focus) + const double xpos = wl_fixed_to_double(sx); + const double ypos = wl_fixed_to_double(sy); + window->wl.cursorPosX = xpos; + window->wl.cursorPosY = ypos; + + if (window->wl.hovered) { - case mainWindow: - _glfw.wl.cursorPreviousName = NULL; - _glfwInputCursorPos(window, x, y); - return; - case topDecoration: - if (y < GLFW_BORDER_SIZE) - cursorName = "n-resize"; - else - cursorName = "left_ptr"; - break; - case leftDecoration: - if (y < GLFW_BORDER_SIZE) - cursorName = "nw-resize"; - else - cursorName = "w-resize"; - break; - case rightDecoration: - if (y < GLFW_BORDER_SIZE) - cursorName = "ne-resize"; - else - cursorName = "e-resize"; - break; - case bottomDecoration: - if (x < GLFW_BORDER_SIZE) - cursorName = "sw-resize"; - else if (x > window->wl.width + GLFW_BORDER_SIZE) - cursorName = "se-resize"; - else - cursorName = "s-resize"; - break; - default: - assert(0); + _glfw.wl.cursorPreviousName = NULL; + _glfwInputCursorPos(window, xpos, ypos); + return; + } + + if (window->wl.fallback.decorations) + { + const char* cursorName = "left_ptr"; + + if (window->resizable) + { + if (window->wl.fallback.focus == window->wl.fallback.top.surface) + { + if (ypos < GLFW_BORDER_SIZE) + cursorName = "n-resize"; + } + else if (window->wl.fallback.focus == window->wl.fallback.left.surface) + { + if (ypos < GLFW_BORDER_SIZE) + cursorName = "nw-resize"; + else + cursorName = "w-resize"; + } + else if (window->wl.fallback.focus == window->wl.fallback.right.surface) + { + if (ypos < GLFW_BORDER_SIZE) + cursorName = "ne-resize"; + else + cursorName = "e-resize"; + } + else if (window->wl.fallback.focus == window->wl.fallback.bottom.surface) + { + if (xpos < GLFW_BORDER_SIZE) + cursorName = "sw-resize"; + else if (xpos > window->wl.width + GLFW_BORDER_SIZE) + cursorName = "se-resize"; + else + cursorName = "s-resize"; + } + } + + if (_glfw.wl.cursorPreviousName != cursorName) + { + struct wl_surface* surface = _glfw.wl.cursorSurface; + struct wl_cursor_theme* theme = _glfw.wl.cursorTheme; + int scale = 1; + + if (window->wl.bufferScale > 1 && _glfw.wl.cursorThemeHiDPI) + { + // We only support up to scale=2 for now, since libwayland-cursor + // requires us to load a different theme for each size. + scale = 2; + theme = _glfw.wl.cursorThemeHiDPI; + } + + struct wl_cursor* cursor = wl_cursor_theme_get_cursor(theme, cursorName); + if (!cursor) + return; + + // TODO: handle animated cursors too. + struct wl_cursor_image* image = cursor->images[0]; + if (!image) + return; + + struct wl_buffer* buffer = wl_cursor_image_get_buffer(image); + if (!buffer) + return; + + wl_pointer_set_cursor(_glfw.wl.pointer, _glfw.wl.pointerEnterSerial, + surface, + image->hotspot_x / scale, + image->hotspot_y / scale); + wl_surface_set_buffer_scale(surface, scale); + wl_surface_attach(surface, buffer, 0, 0); + wl_surface_damage(surface, 0, 0, image->width, image->height); + wl_surface_commit(surface); + + _glfw.wl.cursorPreviousName = cursorName; + } } - if (_glfw.wl.cursorPreviousName != cursorName) - setCursor(window, cursorName); } static void pointerHandleButton(void* userData, @@ -1207,81 +1535,74 @@ static void pointerHandleButton(void* userData, uint32_t state) { _GLFWwindow* window = _glfw.wl.pointerFocus; - int glfwButton; - uint32_t edges = XDG_TOPLEVEL_RESIZE_EDGE_NONE; - if (!window) return; - if (button == BTN_LEFT) + + if (window->wl.hovered) { - switch (window->wl.decorations.focus) + _glfw.wl.serial = serial; + + _glfwInputMouseClick(window, + button - BTN_LEFT, + state == WL_POINTER_BUTTON_STATE_PRESSED, + _glfw.wl.xkb.modifiers); + return; + } + + if (window->wl.fallback.decorations) + { + if (button == BTN_LEFT) { - case mainWindow: - break; - case topDecoration: + uint32_t edges = XDG_TOPLEVEL_RESIZE_EDGE_NONE; + + if (window->wl.fallback.focus == window->wl.fallback.top.surface) + { if (window->wl.cursorPosY < GLFW_BORDER_SIZE) edges = XDG_TOPLEVEL_RESIZE_EDGE_TOP; else xdg_toplevel_move(window->wl.xdg.toplevel, _glfw.wl.seat, serial); - break; - case leftDecoration: + } + else if (window->wl.fallback.focus == window->wl.fallback.left.surface) + { if (window->wl.cursorPosY < GLFW_BORDER_SIZE) edges = XDG_TOPLEVEL_RESIZE_EDGE_TOP_LEFT; else edges = XDG_TOPLEVEL_RESIZE_EDGE_LEFT; - break; - case rightDecoration: + } + else if (window->wl.fallback.focus == window->wl.fallback.right.surface) + { if (window->wl.cursorPosY < GLFW_BORDER_SIZE) edges = XDG_TOPLEVEL_RESIZE_EDGE_TOP_RIGHT; else edges = XDG_TOPLEVEL_RESIZE_EDGE_RIGHT; - break; - case bottomDecoration: + } + else if (window->wl.fallback.focus == window->wl.fallback.bottom.surface) + { if (window->wl.cursorPosX < GLFW_BORDER_SIZE) edges = XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_LEFT; else if (window->wl.cursorPosX > window->wl.width + GLFW_BORDER_SIZE) edges = XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT; else edges = XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM; - break; - default: - assert(0); + } + + if (edges != XDG_TOPLEVEL_RESIZE_EDGE_NONE) + { + xdg_toplevel_resize(window->wl.xdg.toplevel, _glfw.wl.seat, + serial, edges); + } } - if (edges != XDG_TOPLEVEL_RESIZE_EDGE_NONE) + else if (button == BTN_RIGHT) { - xdg_toplevel_resize(window->wl.xdg.toplevel, _glfw.wl.seat, - serial, edges); - return; + if (window->wl.xdg.toplevel) + { + xdg_toplevel_show_window_menu(window->wl.xdg.toplevel, + _glfw.wl.seat, serial, + window->wl.cursorPosX, + window->wl.cursorPosY); + } } } - else if (button == BTN_RIGHT) - { - if (window->wl.decorations.focus != mainWindow && window->wl.xdg.toplevel) - { - xdg_toplevel_show_window_menu(window->wl.xdg.toplevel, - _glfw.wl.seat, serial, - window->wl.cursorPosX, - window->wl.cursorPosY); - return; - } - } - - // Don’t pass the button to the user if it was related to a decoration. - if (window->wl.decorations.focus != mainWindow) - return; - - _glfw.wl.serial = serial; - - /* Makes left, right and middle 0, 1 and 2. Overall order follows evdev - * codes. */ - glfwButton = button - BTN_LEFT; - - _glfwInputMouseClick(window, - glfwButton, - state == WL_POINTER_BUTTON_STATE_PRESSED - ? GLFW_PRESS - : GLFW_RELEASE, - _glfw.wl.xkb.modifiers); } static void pointerHandleAxis(void* userData, @@ -1291,24 +1612,14 @@ static void pointerHandleAxis(void* userData, wl_fixed_t value) { _GLFWwindow* window = _glfw.wl.pointerFocus; - double x = 0.0, y = 0.0; - // Wayland scroll events are in pointer motion coordinate space (think two - // finger scroll). The factor 10 is commonly used to convert to "scroll - // step means 1.0. - const double scrollFactor = 1.0 / 10.0; - if (!window) return; - assert(axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL || - axis == WL_POINTER_AXIS_VERTICAL_SCROLL); - + // NOTE: 10 units of motion per mouse wheel step seems to be a common ratio if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL) - x = -wl_fixed_to_double(value) * scrollFactor; + _glfwInputScroll(window, -wl_fixed_to_double(value) / 10.0, 0.0); else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL) - y = -wl_fixed_to_double(value) * scrollFactor; - - _glfwInputScroll(window, x, y); + _glfwInputScroll(window, 0.0, -wl_fixed_to_double(value) / 10.0); } static const struct wl_pointer_listener pointerListener = @@ -1421,13 +1732,12 @@ static void keyboardHandleEnter(void* userData, if (!surface) return; + if (wl_proxy_get_tag((struct wl_proxy*) surface) != &_glfw.wl.tag) + return; + _GLFWwindow* window = wl_surface_get_user_data(surface); - if (!window) - { - window = findWindowFromDecorationSurface(surface, NULL); - if (!window) - return; - } + if (surface != window->wl.surface) + return; _glfw.wl.serial = serial; _glfw.wl.keyboardFocus = window; @@ -1545,7 +1855,6 @@ static void keyboardHandleModifiers(void* userData, } } -#ifdef WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION static void keyboardHandleRepeatInfo(void* userData, struct wl_keyboard* keyboard, int32_t rate, @@ -1557,7 +1866,6 @@ static void keyboardHandleRepeatInfo(void* userData, _glfw.wl.keyRepeatRate = rate; _glfw.wl.keyRepeatDelay = delay; } -#endif static const struct wl_keyboard_listener keyboardListener = { @@ -1566,9 +1874,7 @@ static const struct wl_keyboard_listener keyboardListener = keyboardHandleLeave, keyboardHandleKey, keyboardHandleModifiers, -#ifdef WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION keyboardHandleRepeatInfo, -#endif }; static void seatHandleCapabilities(void* userData, @@ -1638,7 +1944,8 @@ static void dataDeviceHandleDataOffer(void* userData, struct wl_data_offer* offer) { _GLFWofferWayland* offers = - _glfw_realloc(_glfw.wl.offers, _glfw.wl.offerCount + 1); + _glfw_realloc(_glfw.wl.offers, + sizeof(_GLFWofferWayland) * (_glfw.wl.offerCount + 1)); if (!offers) { _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); @@ -1674,9 +1981,12 @@ static void dataDeviceHandleEnter(void* userData, _GLFWwindow* window = NULL; if (surface) - window = wl_surface_get_user_data(surface); + { + if (wl_proxy_get_tag((struct wl_proxy*) surface) == &_glfw.wl.tag) + window = wl_surface_get_user_data(surface); + } - if (window && _glfw.wl.offers[i].text_uri_list) + if (surface == window->wl.surface && _glfw.wl.offers[i].text_uri_list) { _glfw.wl.dragOffer = offer; _glfw.wl.dragFocus = window; @@ -1689,6 +1999,9 @@ static void dataDeviceHandleEnter(void* userData, } } + if (wl_proxy_get_tag((struct wl_proxy*) surface) != &_glfw.wl.tag) + return; + if (_glfw.wl.dragOffer) wl_data_offer_accept(offer, serial, "text/uri-list"); else @@ -1776,6 +2089,25 @@ const struct wl_data_device_listener dataDeviceListener = dataDeviceHandleSelection, }; +static void xdgActivationHandleDone(void* userData, + struct xdg_activation_token_v1* activationToken, + const char* token) +{ + _GLFWwindow* window = userData; + + if (activationToken != window->wl.activationToken) + return; + + xdg_activation_v1_activate(_glfw.wl.activationManager, token, window->wl.surface); + xdg_activation_token_v1_destroy(window->wl.activationToken); + window->wl.activationToken = NULL; +} + +static const struct xdg_activation_token_v1_listener xdgActivationListener = +{ + xdgActivationHandleDone +}; + void _glfwAddSeatListenerWayland(struct wl_seat* seat) { wl_seat_add_listener(seat, &seatListener, NULL); @@ -1805,8 +2137,8 @@ GLFWbool _glfwCreateWindowWayland(_GLFWwindow* window, ctxconfig->source == GLFW_NATIVE_CONTEXT_API) { window->wl.egl.window = wl_egl_window_create(window->wl.surface, - wndconfig->width, - wndconfig->height); + window->wl.fbWidth, + window->wl.fbHeight); if (!window->wl.egl.window) { _glfwInputError(GLFW_PLATFORM_ERROR, @@ -1851,6 +2183,9 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window) if (window == _glfw.wl.keyboardFocus) _glfw.wl.keyboardFocus = NULL; + if (window->wl.activationToken) + xdg_activation_token_v1_destroy(window->wl.activationToken); + if (window->wl.idleInhibitor) zwp_idle_inhibitor_v1_destroy(window->wl.idleInhibitor); @@ -1868,8 +2203,8 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window) destroyShellObjects(window); - if (window->wl.decorations.buffer) - wl_buffer_destroy(window->wl.decorations.buffer); + if (window->wl.fallback.buffer) + wl_buffer_destroy(window->wl.fallback.buffer); if (window->wl.egl.window) wl_egl_window_destroy(window->wl.egl.window); @@ -1877,18 +2212,15 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window) if (window->wl.surface) wl_surface_destroy(window->wl.surface); - _glfw_free(window->wl.title); _glfw_free(window->wl.appId); - _glfw_free(window->wl.monitors); + _glfw_free(window->wl.outputScales); } void _glfwSetWindowTitleWayland(_GLFWwindow* window, const char* title) { - char* copy = _glfw_strdup(title); - _glfw_free(window->wl.title); - window->wl.title = copy; - - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + libdecor_frame_set_title(window->wl.libdecor.frame, title); + else if (window->wl.xdg.toplevel) xdg_toplevel_set_title(window->wl.xdg.toplevel, title); } @@ -1932,9 +2264,19 @@ void _glfwSetWindowSizeWayland(_GLFWwindow* window, int width, int height) } else { - window->wl.width = width; - window->wl.height = height; - resizeWindow(window); + if (!resizeWindow(window, width, height)) + return; + + if (window->wl.libdecor.frame) + { + struct libdecor_state* frameState = + libdecor_state_new(window->wl.width, window->wl.height); + libdecor_frame_commit(window->wl.libdecor.frame, frameState, NULL); + libdecor_state_free(frameState); + } + + if (window->wl.visible) + _glfwInputWindowDamage(window); } } @@ -1942,34 +2284,21 @@ void _glfwSetWindowSizeLimitsWayland(_GLFWwindow* window, int minwidth, int minheight, int maxwidth, int maxheight) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) { if (minwidth == GLFW_DONT_CARE || minheight == GLFW_DONT_CARE) minwidth = minheight = 0; - else - { - if (window->wl.decorations.top.surface) - { - minwidth += GLFW_BORDER_SIZE * 2; - minheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; - } - } if (maxwidth == GLFW_DONT_CARE || maxheight == GLFW_DONT_CARE) maxwidth = maxheight = 0; - else - { - if (window->wl.decorations.top.surface) - { - maxwidth += GLFW_BORDER_SIZE * 2; - maxheight += GLFW_CAPTION_HEIGHT + GLFW_BORDER_SIZE; - } - } - xdg_toplevel_set_min_size(window->wl.xdg.toplevel, minwidth, minheight); - xdg_toplevel_set_max_size(window->wl.xdg.toplevel, maxwidth, maxheight); - wl_surface_commit(window->wl.surface); + libdecor_frame_set_min_content_size(window->wl.libdecor.frame, + minwidth, minheight); + libdecor_frame_set_max_content_size(window->wl.libdecor.frame, + maxwidth, maxheight); } + else if (window->wl.xdg.toplevel) + updateXdgSizeLimits(window); } void _glfwSetWindowAspectRatioWayland(_GLFWwindow* window, int numer, int denom) @@ -1977,33 +2306,48 @@ void _glfwSetWindowAspectRatioWayland(_GLFWwindow* window, int numer, int denom) if (window->wl.maximized || window->wl.fullscreen) return; + int width = window->wl.width, height = window->wl.height; + if (numer != GLFW_DONT_CARE && denom != GLFW_DONT_CARE) { - const float aspectRatio = (float) window->wl.width / (float) window->wl.height; + const float aspectRatio = (float) width / (float) height; const float targetRatio = (float) numer / (float) denom; if (aspectRatio < targetRatio) - window->wl.height = window->wl.width / targetRatio; + height /= targetRatio; else if (aspectRatio > targetRatio) - window->wl.width = window->wl.height * targetRatio; + width *= targetRatio; + } - resizeWindow(window); + if (resizeWindow(window, width, height)) + { + if (window->wl.libdecor.frame) + { + struct libdecor_state* frameState = + libdecor_state_new(window->wl.width, window->wl.height); + libdecor_frame_commit(window->wl.libdecor.frame, frameState, NULL); + libdecor_state_free(frameState); + } + + _glfwInputWindowSize(window, window->wl.width, window->wl.height); + + if (window->wl.visible) + _glfwInputWindowDamage(window); } } void _glfwGetFramebufferSizeWayland(_GLFWwindow* window, int* width, int* height) { - _glfwGetWindowSizeWayland(window, width, height); if (width) - *width *= window->wl.scale; + *width = window->wl.fbWidth; if (height) - *height *= window->wl.scale; + *height = window->wl.fbHeight; } void _glfwGetWindowFrameSizeWayland(_GLFWwindow* window, int* left, int* top, int* right, int* bottom) { - if (window->decorated && !window->monitor && window->wl.decorations.top.surface) + if (window->wl.fallback.decorations) { if (top) *top = GLFW_CAPTION_HEIGHT; @@ -2019,15 +2363,27 @@ void _glfwGetWindowFrameSizeWayland(_GLFWwindow* window, void _glfwGetWindowContentScaleWayland(_GLFWwindow* window, float* xscale, float* yscale) { - if (xscale) - *xscale = (float) window->wl.scale; - if (yscale) - *yscale = (float) window->wl.scale; + if (window->wl.fractionalScale) + { + if (xscale) + *xscale = (float) window->wl.scalingNumerator / 120.f; + if (yscale) + *yscale = (float) window->wl.scalingNumerator / 120.f; + } + else + { + if (xscale) + *xscale = (float) window->wl.bufferScale; + if (yscale) + *yscale = (float) window->wl.bufferScale; + } } void _glfwIconifyWindowWayland(_GLFWwindow* window) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + libdecor_frame_set_minimized(window->wl.libdecor.frame); + else if (window->wl.xdg.toplevel) xdg_toplevel_set_minimized(window->wl.xdg.toplevel); } @@ -2044,7 +2400,9 @@ void _glfwRestoreWindowWayland(_GLFWwindow* window) if (window->wl.maximized) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + libdecor_frame_unset_maximized(window->wl.libdecor.frame); + else if (window->wl.xdg.toplevel) xdg_toplevel_unset_maximized(window->wl.xdg.toplevel); else window->wl.maximized = GLFW_FALSE; @@ -2054,7 +2412,9 @@ void _glfwRestoreWindowWayland(_GLFWwindow* window) void _glfwMaximizeWindowWayland(_GLFWwindow* window) { - if (window->wl.xdg.toplevel) + if (window->wl.libdecor.frame) + libdecor_frame_set_maximized(window->wl.libdecor.frame); + else if (window->wl.xdg.toplevel) xdg_toplevel_set_maximized(window->wl.xdg.toplevel); else window->wl.maximized = GLFW_TRUE; @@ -2062,7 +2422,7 @@ void _glfwMaximizeWindowWayland(_GLFWwindow* window) void _glfwShowWindowWayland(_GLFWwindow* window) { - if (!window->wl.xdg.toplevel) + if (!window->wl.libdecor.frame && !window->wl.xdg.toplevel) { // NOTE: The XDG surface and role are created here so command-line applications // with off-screen windows do not appear in for example the Unity dock @@ -2084,15 +2444,54 @@ void _glfwHideWindowWayland(_GLFWwindow* window) void _glfwRequestWindowAttentionWayland(_GLFWwindow* window) { - // TODO - _glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, - "Wayland: Window attention request not implemented yet"); + if (!_glfw.wl.activationManager) + return; + + // We're about to overwrite this with a new request + if (window->wl.activationToken) + xdg_activation_token_v1_destroy(window->wl.activationToken); + + window->wl.activationToken = + xdg_activation_v1_get_activation_token(_glfw.wl.activationManager); + xdg_activation_token_v1_add_listener(window->wl.activationToken, + &xdgActivationListener, + window); + + xdg_activation_token_v1_commit(window->wl.activationToken); } void _glfwFocusWindowWayland(_GLFWwindow* window) { - _glfwInputError(GLFW_FEATURE_UNAVAILABLE, - "Wayland: The platform does not support setting the input focus"); + if (!_glfw.wl.activationManager) + return; + + if (window->wl.activationToken) + xdg_activation_token_v1_destroy(window->wl.activationToken); + + window->wl.activationToken = + xdg_activation_v1_get_activation_token(_glfw.wl.activationManager); + xdg_activation_token_v1_add_listener(window->wl.activationToken, + &xdgActivationListener, + window); + + xdg_activation_token_v1_set_serial(window->wl.activationToken, + _glfw.wl.serial, + _glfw.wl.seat); + + _GLFWwindow* requester = _glfw.wl.keyboardFocus; + if (requester) + { + xdg_activation_token_v1_set_surface(window->wl.activationToken, + requester->wl.surface); + + if (requester->wl.appId) + { + xdg_activation_token_v1_set_app_id(window->wl.activationToken, + requester->wl.appId); + } + } + + xdg_activation_token_v1_commit(window->wl.activationToken); } void _glfwSetWindowMonitorWayland(_GLFWwindow* window, @@ -2154,14 +2553,30 @@ GLFWbool _glfwFramebufferTransparentWayland(_GLFWwindow* window) void _glfwSetWindowResizableWayland(_GLFWwindow* window, GLFWbool enabled) { - // TODO - _glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, - "Wayland: Window attribute setting not implemented yet"); + if (window->wl.libdecor.frame) + { + if (enabled) + { + libdecor_frame_set_capabilities(window->wl.libdecor.frame, + LIBDECOR_ACTION_RESIZE); + } + else + { + libdecor_frame_unset_capabilities(window->wl.libdecor.frame, + LIBDECOR_ACTION_RESIZE); + } + } + else if (window->wl.xdg.toplevel) + updateXdgSizeLimits(window); } void _glfwSetWindowDecoratedWayland(_GLFWwindow* window, GLFWbool enabled) { - if (window->wl.xdg.decoration) + if (window->wl.libdecor.frame) + { + libdecor_frame_set_visibility(window->wl.libdecor.frame, enabled); + } + else if (window->wl.xdg.decoration) { uint32_t mode; @@ -2172,7 +2587,7 @@ void _glfwSetWindowDecoratedWayland(_GLFWwindow* window, GLFWbool enabled) zxdg_toplevel_decoration_v1_set_mode(window->wl.xdg.decoration, mode); } - else + else if (window->wl.xdg.toplevel) { if (enabled) createFallbackDecorations(window); @@ -2196,7 +2611,7 @@ void _glfwSetWindowMousePassthroughWayland(_GLFWwindow* window, GLFWbool enabled wl_region_destroy(region); } else - wl_surface_set_input_region(window->wl.surface, 0); + wl_surface_set_input_region(window->wl.surface, NULL); } float _glfwGetWindowOpacityWayland(_GLFWwindow* window) @@ -2263,8 +2678,7 @@ void _glfwSetCursorModeWayland(_GLFWwindow* window, int mode) const char* _glfwGetScancodeNameWayland(int scancode) { - if (scancode < 0 || scancode > 255 || - _glfw.wl.keycodes[scancode] == GLFW_KEY_UNKNOWN) + if (scancode < 0 || scancode > 255) { _glfwInputError(GLFW_INVALID_VALUE, "Wayland: Invalid scancode %i", @@ -2273,6 +2687,9 @@ const char* _glfwGetScancodeNameWayland(int scancode) } const int key = _glfw.wl.keycodes[scancode]; + if (key == GLFW_KEY_UNKNOWN) + return NULL; + const xkb_keycode_t keycode = scancode + 8; const xkb_layout_index_t layout = xkb_state_key_get_layout(_glfw.wl.xkb.state, keycode); @@ -2582,7 +2999,7 @@ void _glfwSetCursorWayland(_GLFWwindow* window, _GLFWcursor* cursor) // If we're not in the correct window just save the cursor // the next time the pointer enters the window the cursor will change - if (window != _glfw.wl.pointerFocus || window->wl.decorations.focus != mainWindow) + if (!window->wl.hovered) return; // Update pointer lock to match cursor mode @@ -2887,3 +3304,5 @@ GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* handle) return window->wl.surface; } +#endif // _GLFW_WAYLAND + diff --git a/src/external/glfw/src/x11_init.c b/src/external/glfw/src/x11_init.c index 11aeb9e52..e992f444e 100644 --- a/src/external/glfw/src/x11_init.c +++ b/src/external/glfw/src/x11_init.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_X11) + #include #include #include @@ -1166,86 +1166,86 @@ GLFWbool _glfwConnectX11(int platformID, _GLFWplatform* platform) { const _GLFWplatform x11 = { - GLFW_PLATFORM_X11, - _glfwInitX11, - _glfwTerminateX11, - _glfwGetCursorPosX11, - _glfwSetCursorPosX11, - _glfwSetCursorModeX11, - _glfwSetRawMouseMotionX11, - _glfwRawMouseMotionSupportedX11, - _glfwCreateCursorX11, - _glfwCreateStandardCursorX11, - _glfwDestroyCursorX11, - _glfwSetCursorX11, - _glfwGetScancodeNameX11, - _glfwGetKeyScancodeX11, - _glfwSetClipboardStringX11, - _glfwGetClipboardStringX11, -#if defined(__linux__) - _glfwInitJoysticksLinux, - _glfwTerminateJoysticksLinux, - _glfwPollJoystickLinux, - _glfwGetMappingNameLinux, - _glfwUpdateGamepadGUIDLinux, + .platformID = GLFW_PLATFORM_X11, + .init = _glfwInitX11, + .terminate = _glfwTerminateX11, + .getCursorPos = _glfwGetCursorPosX11, + .setCursorPos = _glfwSetCursorPosX11, + .setCursorMode = _glfwSetCursorModeX11, + .setRawMouseMotion = _glfwSetRawMouseMotionX11, + .rawMouseMotionSupported = _glfwRawMouseMotionSupportedX11, + .createCursor = _glfwCreateCursorX11, + .createStandardCursor = _glfwCreateStandardCursorX11, + .destroyCursor = _glfwDestroyCursorX11, + .setCursor = _glfwSetCursorX11, + .getScancodeName = _glfwGetScancodeNameX11, + .getKeyScancode = _glfwGetKeyScancodeX11, + .setClipboardString = _glfwSetClipboardStringX11, + .getClipboardString = _glfwGetClipboardStringX11, +#if defined(GLFW_BUILD_LINUX_JOYSTICK) + .initJoysticks = _glfwInitJoysticksLinux, + .terminateJoysticks = _glfwTerminateJoysticksLinux, + .pollJoystick = _glfwPollJoystickLinux, + .getMappingName = _glfwGetMappingNameLinux, + .updateGamepadGUID = _glfwUpdateGamepadGUIDLinux, #else - _glfwInitJoysticksNull, - _glfwTerminateJoysticksNull, - _glfwPollJoystickNull, - _glfwGetMappingNameNull, - _glfwUpdateGamepadGUIDNull, + .initJoysticks = _glfwInitJoysticksNull, + .terminateJoysticks = _glfwTerminateJoysticksNull, + .pollJoystick = _glfwPollJoystickNull, + .getMappingName = _glfwGetMappingNameNull, + .updateGamepadGUID = _glfwUpdateGamepadGUIDNull, #endif - _glfwFreeMonitorX11, - _glfwGetMonitorPosX11, - _glfwGetMonitorContentScaleX11, - _glfwGetMonitorWorkareaX11, - _glfwGetVideoModesX11, - _glfwGetVideoModeX11, - _glfwGetGammaRampX11, - _glfwSetGammaRampX11, - _glfwCreateWindowX11, - _glfwDestroyWindowX11, - _glfwSetWindowTitleX11, - _glfwSetWindowIconX11, - _glfwGetWindowPosX11, - _glfwSetWindowPosX11, - _glfwGetWindowSizeX11, - _glfwSetWindowSizeX11, - _glfwSetWindowSizeLimitsX11, - _glfwSetWindowAspectRatioX11, - _glfwGetFramebufferSizeX11, - _glfwGetWindowFrameSizeX11, - _glfwGetWindowContentScaleX11, - _glfwIconifyWindowX11, - _glfwRestoreWindowX11, - _glfwMaximizeWindowX11, - _glfwShowWindowX11, - _glfwHideWindowX11, - _glfwRequestWindowAttentionX11, - _glfwFocusWindowX11, - _glfwSetWindowMonitorX11, - _glfwWindowFocusedX11, - _glfwWindowIconifiedX11, - _glfwWindowVisibleX11, - _glfwWindowMaximizedX11, - _glfwWindowHoveredX11, - _glfwFramebufferTransparentX11, - _glfwGetWindowOpacityX11, - _glfwSetWindowResizableX11, - _glfwSetWindowDecoratedX11, - _glfwSetWindowFloatingX11, - _glfwSetWindowOpacityX11, - _glfwSetWindowMousePassthroughX11, - _glfwPollEventsX11, - _glfwWaitEventsX11, - _glfwWaitEventsTimeoutX11, - _glfwPostEmptyEventX11, - _glfwGetEGLPlatformX11, - _glfwGetEGLNativeDisplayX11, - _glfwGetEGLNativeWindowX11, - _glfwGetRequiredInstanceExtensionsX11, - _glfwGetPhysicalDevicePresentationSupportX11, - _glfwCreateWindowSurfaceX11, + .freeMonitor = _glfwFreeMonitorX11, + .getMonitorPos = _glfwGetMonitorPosX11, + .getMonitorContentScale = _glfwGetMonitorContentScaleX11, + .getMonitorWorkarea = _glfwGetMonitorWorkareaX11, + .getVideoModes = _glfwGetVideoModesX11, + .getVideoMode = _glfwGetVideoModeX11, + .getGammaRamp = _glfwGetGammaRampX11, + .setGammaRamp = _glfwSetGammaRampX11, + .createWindow = _glfwCreateWindowX11, + .destroyWindow = _glfwDestroyWindowX11, + .setWindowTitle = _glfwSetWindowTitleX11, + .setWindowIcon = _glfwSetWindowIconX11, + .getWindowPos = _glfwGetWindowPosX11, + .setWindowPos = _glfwSetWindowPosX11, + .getWindowSize = _glfwGetWindowSizeX11, + .setWindowSize = _glfwSetWindowSizeX11, + .setWindowSizeLimits = _glfwSetWindowSizeLimitsX11, + .setWindowAspectRatio = _glfwSetWindowAspectRatioX11, + .getFramebufferSize = _glfwGetFramebufferSizeX11, + .getWindowFrameSize = _glfwGetWindowFrameSizeX11, + .getWindowContentScale = _glfwGetWindowContentScaleX11, + .iconifyWindow = _glfwIconifyWindowX11, + .restoreWindow = _glfwRestoreWindowX11, + .maximizeWindow = _glfwMaximizeWindowX11, + .showWindow = _glfwShowWindowX11, + .hideWindow = _glfwHideWindowX11, + .requestWindowAttention = _glfwRequestWindowAttentionX11, + .focusWindow = _glfwFocusWindowX11, + .setWindowMonitor = _glfwSetWindowMonitorX11, + .windowFocused = _glfwWindowFocusedX11, + .windowIconified = _glfwWindowIconifiedX11, + .windowVisible = _glfwWindowVisibleX11, + .windowMaximized = _glfwWindowMaximizedX11, + .windowHovered = _glfwWindowHoveredX11, + .framebufferTransparent = _glfwFramebufferTransparentX11, + .getWindowOpacity = _glfwGetWindowOpacityX11, + .setWindowResizable = _glfwSetWindowResizableX11, + .setWindowDecorated = _glfwSetWindowDecoratedX11, + .setWindowFloating = _glfwSetWindowFloatingX11, + .setWindowOpacity = _glfwSetWindowOpacityX11, + .setWindowMousePassthrough = _glfwSetWindowMousePassthroughX11, + .pollEvents = _glfwPollEventsX11, + .waitEvents = _glfwWaitEventsX11, + .waitEventsTimeout = _glfwWaitEventsTimeoutX11, + .postEmptyEvent = _glfwPostEmptyEventX11, + .getEGLPlatform = _glfwGetEGLPlatformX11, + .getEGLNativeDisplay = _glfwGetEGLNativeDisplayX11, + .getEGLNativeWindow = _glfwGetEGLNativeWindowX11, + .getRequiredInstanceExtensions = _glfwGetRequiredInstanceExtensionsX11, + .getPhysicalDevicePresentationSupport = _glfwGetPhysicalDevicePresentationSupportX11, + .createWindowSurface = _glfwCreateWindowSurfaceX11 }; // HACK: If the application has left the locale as "C" then both wide @@ -1652,3 +1652,5 @@ void _glfwTerminateX11(void) } } +#endif // _GLFW_X11 + diff --git a/src/external/glfw/src/x11_monitor.c b/src/external/glfw/src/x11_monitor.c index b031c83c0..38af7e0c0 100644 --- a/src/external/glfw/src/x11_monitor.c +++ b/src/external/glfw/src/x11_monitor.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_X11) + #include #include #include @@ -491,24 +491,31 @@ GLFWvidmode* _glfwGetVideoModesX11(_GLFWmonitor* monitor, int* count) return result; } -void _glfwGetVideoModeX11(_GLFWmonitor* monitor, GLFWvidmode* mode) +GLFWbool _glfwGetVideoModeX11(_GLFWmonitor* monitor, GLFWvidmode* mode) { if (_glfw.x11.randr.available && !_glfw.x11.randr.monitorBroken) { XRRScreenResources* sr = XRRGetScreenResourcesCurrent(_glfw.x11.display, _glfw.x11.root); - XRRCrtcInfo* ci = XRRGetCrtcInfo(_glfw.x11.display, sr, monitor->x11.crtc); + const XRRModeInfo* mi = NULL; + XRRCrtcInfo* ci = XRRGetCrtcInfo(_glfw.x11.display, sr, monitor->x11.crtc); if (ci) { - const XRRModeInfo* mi = getModeInfo(sr, ci->mode); - if (mi) // mi can be NULL if the monitor has been disconnected + mi = getModeInfo(sr, ci->mode); + if (mi) *mode = vidmodeFromModeInfo(mi, ci); XRRFreeCrtcInfo(ci); } XRRFreeScreenResources(sr); + + if (!mi) + { + _glfwInputError(GLFW_PLATFORM_ERROR, "X11: Failed to query video mode"); + return GLFW_FALSE; + } } else { @@ -519,6 +526,8 @@ void _glfwGetVideoModeX11(_GLFWmonitor* monitor, GLFWvidmode* mode) _glfwSplitBPP(DefaultDepth(_glfw.x11.display, _glfw.x11.screen), &mode->redBits, &mode->greenBits, &mode->blueBits); } + + return GLFW_TRUE; } GLFWbool _glfwGetGammaRampX11(_GLFWmonitor* monitor, GLFWgammaramp* ramp) @@ -604,6 +613,13 @@ GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(None); + + if (_glfw.platform.platformID != GLFW_PLATFORM_X11) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "X11: Platform not initialized"); + return None; + } + return monitor->x11.crtc; } @@ -611,6 +627,15 @@ GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* handle) { _GLFWmonitor* monitor = (_GLFWmonitor*) handle; _GLFW_REQUIRE_INIT_OR_RETURN(None); + + if (_glfw.platform.platformID != GLFW_PLATFORM_X11) + { + _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "X11: Platform not initialized"); + return None; + } + return monitor->x11.output; } +#endif // _GLFW_X11 + diff --git a/src/external/glfw/src/x11_platform.h b/src/external/glfw/src/x11_platform.h index cdea39574..14e363d14 100644 --- a/src/external/glfw/src/x11_platform.h +++ b/src/external/glfw/src/x11_platform.h @@ -968,7 +968,7 @@ void _glfwGetMonitorPosX11(_GLFWmonitor* monitor, int* xpos, int* ypos); void _glfwGetMonitorContentScaleX11(_GLFWmonitor* monitor, float* xscale, float* yscale); void _glfwGetMonitorWorkareaX11(_GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height); GLFWvidmode* _glfwGetVideoModesX11(_GLFWmonitor* monitor, int* count); -void _glfwGetVideoModeX11(_GLFWmonitor* monitor, GLFWvidmode* mode); +GLFWbool _glfwGetVideoModeX11(_GLFWmonitor* monitor, GLFWvidmode* mode); GLFWbool _glfwGetGammaRampX11(_GLFWmonitor* monitor, GLFWgammaramp* ramp); void _glfwSetGammaRampX11(_GLFWmonitor* monitor, const GLFWgammaramp* ramp); diff --git a/src/external/glfw/src/x11_window.c b/src/external/glfw/src/x11_window.c index 8a689ed10..e0295465a 100644 --- a/src/external/glfw/src/x11_window.c +++ b/src/external/glfw/src/x11_window.c @@ -24,11 +24,11 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_X11) + #include #include @@ -79,24 +79,25 @@ static GLFWbool waitForX11Event(double* timeout) // static GLFWbool waitForAnyEvent(double* timeout) { - nfds_t count = 2; - struct pollfd fds[3] = + enum { XLIB_FD, PIPE_FD, INOTIFY_FD }; + struct pollfd fds[] = { - { ConnectionNumber(_glfw.x11.display), POLLIN }, - { _glfw.x11.emptyEventPipe[0], POLLIN } + [XLIB_FD] = { ConnectionNumber(_glfw.x11.display), POLLIN }, + [PIPE_FD] = { _glfw.x11.emptyEventPipe[0], POLLIN }, + [INOTIFY_FD] = { -1, POLLIN } }; -#if defined(__linux__) +#if defined(GLFW_BUILD_LINUX_JOYSTICK) if (_glfw.joysticksInitialized) - fds[count++] = (struct pollfd) { _glfw.linjs.inotify, POLLIN }; + fds[INOTIFY_FD].fd = _glfw.linjs.inotify; #endif while (!XPending(_glfw.x11.display)) { - if (!_glfwPollPOSIX(fds, count, timeout)) + if (!_glfwPollPOSIX(fds, sizeof(fds) / sizeof(fds[0]), timeout)) return GLFW_FALSE; - for (int i = 1; i < count; i++) + for (int i = 1; i < sizeof(fds) / sizeof(fds[0]); i++) { if (fds[i].revents & POLLIN) return GLFW_TRUE; @@ -1487,6 +1488,9 @@ static void processEvent(XEvent *event) if (event->xconfigure.width != window->x11.width || event->xconfigure.height != window->x11.height) { + window->x11.width = event->xconfigure.width; + window->x11.height = event->xconfigure.height; + _glfwInputFramebufferSize(window, event->xconfigure.width, event->xconfigure.height); @@ -1494,9 +1498,6 @@ static void processEvent(XEvent *event) _glfwInputWindowSize(window, event->xconfigure.width, event->xconfigure.height); - - window->x11.width = event->xconfigure.width; - window->x11.height = event->xconfigure.height; } int xpos = event->xconfigure.x; @@ -1524,9 +1525,10 @@ static void processEvent(XEvent *event) if (xpos != window->x11.xpos || ypos != window->x11.ypos) { - _glfwInputWindowPos(window, xpos, ypos); window->x11.xpos = xpos; window->x11.ypos = ypos; + + _glfwInputWindowPos(window, xpos, ypos); } return; @@ -2781,7 +2783,7 @@ void _glfwPollEventsX11(void) { drainEmptyEvents(); -#if defined(__linux__) +#if defined(GLFW_BUILD_LINUX_JOYSTICK) if (_glfw.joysticksInitialized) _glfwDetectJoystickConnectionLinux(); #endif @@ -2901,14 +2903,16 @@ const char* _glfwGetScancodeNameX11(int scancode) if (!_glfw.x11.xkb.available) return NULL; - if (scancode < 0 || scancode > 0xff || - _glfw.x11.keycodes[scancode] == GLFW_KEY_UNKNOWN) + if (scancode < 0 || scancode > 0xff) { _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); return NULL; } const int key = _glfw.x11.keycodes[scancode]; + if (key == GLFW_KEY_UNKNOWN) + return NULL; + const KeySym keysym = XkbKeycodeToKeysym(_glfw.x11.display, scancode, _glfw.x11.xkb.group, 0); if (keysym == NoSymbol) @@ -3349,3 +3353,5 @@ GLFWAPI const char* glfwGetX11SelectionString(void) return getSelectionString(_glfw.x11.PRIMARY); } +#endif // _GLFW_X11 + diff --git a/src/external/glfw/src/xkb_unicode.c b/src/external/glfw/src/xkb_unicode.c index 1b2482cdf..6b8dfcac6 100644 --- a/src/external/glfw/src/xkb_unicode.c +++ b/src/external/glfw/src/xkb_unicode.c @@ -24,11 +24,10 @@ // distribution. // //======================================================================== -// It is fine to use C99 in this file because it will not be built with VS -//======================================================================== #include "internal.h" +#if defined(_GLFW_X11) || defined(_GLFW_WAYLAND) /* * Marcus: This code was originally written by Markus G. Kuhn. @@ -940,3 +939,5 @@ uint32_t _glfwKeySym2Unicode(unsigned int keysym) return GLFW_INVALID_CODEPOINT; } +#endif // _GLFW_WAYLAND or _GLFW_X11 + diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index dbfc29e01..d4c024400 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -74,7 +74,6 @@ //#define GLFW_EXPOSE_NATIVE_X11 // WARNING: Exposing Xlib.h > X.h results in dup symbols for Font type //#define GLFW_EXPOSE_NATIVE_WAYLAND - //#define GLFW_EXPOSE_NATIVE_MIR #include "GLFW/glfw3native.h" // Required for: glfwGetX11Window() #endif #if defined(__APPLE__) @@ -1570,6 +1569,17 @@ int InitPlatform(void) CORE.Storage.basePath = GetWorkingDirectory(); //---------------------------------------------------------------------------- + char* glfwPlatform = ""; + switch (glfwGetPlatform()) + { + case GLFW_PLATFORM_WIN32: glfwPlatform = "Win32"; break; + case GLFW_PLATFORM_COCOA: glfwPlatform = "Cocoa"; break; + case GLFW_PLATFORM_WAYLAND: glfwPlatform = "Wayland"; break; + case GLFW_PLATFORM_X11: glfwPlatform = "X11"; break; + case GLFW_PLATFORM_NULL: glfwPlatform = "Null"; break; + } + + TRACELOG(LOG_INFO, "GLFW platform: %s", glfwPlatform); TRACELOG(LOG_INFO, "PLATFORM: DESKTOP (GLFW): Initialized successfully"); return 0; diff --git a/src/rglfw.c b/src/rglfw.c index 0e378b5bd..5c2720b15 100644 --- a/src/rglfw.c +++ b/src/rglfw.c @@ -34,8 +34,8 @@ // _GLFW_X11 to use the X Window System // _GLFW_WAYLAND to use the Wayland API (experimental and incomplete) // _GLFW_COCOA to use the Cocoa frameworks -// _GLFW_OSMESA to use the OSMesa API (headless and non-interactive) -// _GLFW_MIR experimental, not supported at this moment +// +// Note: GLFW's runtime platform selection is not supported at the moment //---------------------------------------------------------------------------------- // Feature Test Macros required for this module @@ -69,6 +69,15 @@ #define _WIN32_WINNT_WINXP 0x0501 #endif +#include "external/glfw/src/internal.h" + +// We do not use GLFW's "null" platform, but the absence of this function +// causes the build to fail +GLFWbool _glfwConnectNull(int platformID, _GLFWplatform* platform) +{ + return GLFW_TRUE; +} + // Common modules to all platforms #include "external/glfw/src/init.c" #include "external/glfw/src/platform.c" From 94c79917e3b68fbed3ff4a3920edc9d093b11c4f Mon Sep 17 00:00:00 2001 From: mooff Date: Thu, 29 Feb 2024 17:30:38 +0000 Subject: [PATCH 162/745] Fix SDL multitouch tracking (#3810) The fingerId from SDL was used as an index into the CORE.Input.Touch arrays, but it's an opaque / arbitrary int64, way bigger than MAX_TOUCH_POINTS, so the first non-simulated touch event would segfault. --- src/platforms/rcore_desktop_sdl.c | 44 ++++++++++++++----------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index f567119ed..1b6304d28 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -971,6 +971,23 @@ void SetMouseCursor(int cursor) CORE.Input.Mouse.cursor = cursor; } +static void UpdateSDLTouchPoints(SDL_TouchFingerEvent event) +{ + CORE.Input.Touch.pointCount = SDL_GetNumTouchFingers(event.touchId); + + for (int i=0; iid; + CORE.Input.Touch.position[i].x = finger->x * CORE.Window.screen.width; + CORE.Input.Touch.position[i].y = finger->y * CORE.Window.screen.height; + CORE.Input.Touch.currentTouchState[i] = 1; + } + + for (int i=CORE.Input.Touch.pointCount; i Date: Thu, 29 Feb 2024 18:40:10 +0100 Subject: [PATCH 163/745] ADDED: New function `ColorIsEqual()` --- src/raylib.h | 1 + src/rtextures.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index d857f1c74..03045ed13 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1408,6 +1408,7 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, V RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely // Color/pixel related functions +RLAPI bool ColorIsEqual(Color col1, Color col2); // Check if two colors are equal RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f RLAPI int ColorToInt(Color color); // Get hexadecimal value for a Color RLAPI Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1] diff --git a/src/rtextures.c b/src/rtextures.c index bd3d54cc0..5c0e90e85 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -4453,6 +4453,16 @@ void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, } } +// Check if two colors are equal +bool ColorIsEqual(Color col1, Color col2) +{ + bool result = false; + + if ((col1.r == col2.r) && (col1.g == col2.g) && (col1.b == col2.b) && (col1.a == col2.a)) result = true; + + return result; +} + // Get color with alpha applied, alpha goes from 0.0f to 1.0f Color Fade(Color color, float alpha) { From d3f2d94f23ebdee737e73fe53c7a08a2797ce3ce Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 29 Feb 2024 17:40:30 +0000 Subject: [PATCH 164/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 15 ++ parser/output/raylib_api.lua | 9 + parser/output/raylib_api.txt | 412 +++++++++++++++++----------------- parser/output/raylib_api.xml | 6 +- 4 files changed, 238 insertions(+), 204 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index f8e0982cc..3aec33ef9 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -8368,6 +8368,21 @@ } ] }, + { + "name": "ColorIsEqual", + "description": "Check if two colors are equal", + "returnType": "bool", + "params": [ + { + "type": "Color", + "name": "col1" + }, + { + "type": "Color", + "name": "col2" + } + ] + }, { "name": "Fade", "description": "Get color with alpha applied, alpha goes from 0.0f to 1.0f", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 350065e7e..dbcf969f1 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -6154,6 +6154,15 @@ return { {type = "Color", name = "tint"} } }, + { + name = "ColorIsEqual", + description = "Check if two colors are equal", + returnType = "bool", + params = { + {type = "Color", name = "col1"}, + {type = "Color", name = "col2"} + } + }, { name = "Fade", description = "Get color with alpha applied, alpha goes from 0.0f to 1.0f", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 134b36ced..668e84bb6 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -979,7 +979,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 560 +Functions found: 561 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -3212,106 +3212,112 @@ Function 358: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 359: Fade() (2 input parameters) +Function 359: ColorIsEqual() (2 input parameters) + Name: ColorIsEqual + Return type: bool + Description: Check if two colors are equal + Param[1]: col1 (type: Color) + Param[2]: col2 (type: Color) +Function 360: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 360: ColorToInt() (1 input parameters) +Function 361: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color Param[1]: color (type: Color) -Function 361: ColorNormalize() (1 input parameters) +Function 362: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 362: ColorFromNormalized() (1 input parameters) +Function 363: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 363: ColorToHSV() (1 input parameters) +Function 364: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 364: ColorFromHSV() (3 input parameters) +Function 365: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 365: ColorTint() (2 input parameters) +Function 366: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 366: ColorBrightness() (2 input parameters) +Function 367: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 367: ColorContrast() (2 input parameters) +Function 368: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 368: ColorAlpha() (2 input parameters) +Function 369: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 369: ColorAlphaBlend() (3 input parameters) +Function 370: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 370: GetColor() (1 input parameters) +Function 371: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 371: GetPixelColor() (2 input parameters) +Function 372: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 372: SetPixelColor() (3 input parameters) +Function 373: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 373: GetPixelDataSize() (3 input parameters) +Function 374: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 374: GetFontDefault() (0 input parameters) +Function 375: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 375: LoadFont() (1 input parameters) +Function 376: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 376: LoadFontEx() (4 input parameters) +Function 377: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3319,14 +3325,14 @@ Function 376: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 377: LoadFontFromImage() (3 input parameters) +Function 378: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 378: LoadFontFromMemory() (6 input parameters) +Function 379: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3336,12 +3342,12 @@ Function 378: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 379: IsFontReady() (1 input parameters) +Function 380: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 380: LoadFontData() (6 input parameters) +Function 381: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3351,7 +3357,7 @@ Function 380: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 381: GenImageFontAtlas() (6 input parameters) +Function 382: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3361,30 +3367,30 @@ Function 381: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 382: UnloadFontData() (2 input parameters) +Function 383: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 383: UnloadFont() (1 input parameters) +Function 384: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 384: ExportFontAsCode() (2 input parameters) +Function 385: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 385: DrawFPS() (2 input parameters) +Function 386: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 386: DrawText() (5 input parameters) +Function 387: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3393,7 +3399,7 @@ Function 386: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 387: DrawTextEx() (6 input parameters) +Function 388: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3403,7 +3409,7 @@ Function 387: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 388: DrawTextPro() (8 input parameters) +Function 389: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3415,7 +3421,7 @@ Function 388: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 389: DrawTextCodepoint() (5 input parameters) +Function 390: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3424,7 +3430,7 @@ Function 389: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 390: DrawTextCodepoints() (7 input parameters) +Function 391: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3435,18 +3441,18 @@ Function 390: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 391: SetTextLineSpacing() (1 input parameters) +Function 392: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 392: MeasureText() (2 input parameters) +Function 393: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 393: MeasureTextEx() (4 input parameters) +Function 394: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3454,185 +3460,185 @@ Function 393: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 394: GetGlyphIndex() (2 input parameters) +Function 395: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 395: GetGlyphInfo() (2 input parameters) +Function 396: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 396: GetGlyphAtlasRec() (2 input parameters) +Function 397: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 397: LoadUTF8() (2 input parameters) +Function 398: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 398: UnloadUTF8() (1 input parameters) +Function 399: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 399: LoadCodepoints() (2 input parameters) +Function 400: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 400: UnloadCodepoints() (1 input parameters) +Function 401: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 401: GetCodepointCount() (1 input parameters) +Function 402: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 402: GetCodepoint() (2 input parameters) +Function 403: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 403: GetCodepointNext() (2 input parameters) +Function 404: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 404: GetCodepointPrevious() (2 input parameters) +Function 405: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 405: CodepointToUTF8() (2 input parameters) +Function 406: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 406: TextCopy() (2 input parameters) +Function 407: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 407: TextIsEqual() (2 input parameters) +Function 408: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 408: TextLength() (1 input parameters) +Function 409: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 409: TextFormat() (2 input parameters) +Function 410: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 410: TextSubtext() (3 input parameters) +Function 411: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 411: TextReplace() (3 input parameters) +Function 412: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 412: TextInsert() (3 input parameters) +Function 413: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 413: TextJoin() (3 input parameters) +Function 414: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 414: TextSplit() (3 input parameters) +Function 415: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 415: TextAppend() (3 input parameters) +Function 416: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 416: TextFindIndex() (2 input parameters) +Function 417: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 417: TextToUpper() (1 input parameters) +Function 418: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 418: TextToLower() (1 input parameters) +Function 419: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 419: TextToPascal() (1 input parameters) +Function 420: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 420: TextToInteger() (1 input parameters) +Function 421: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 421: TextToFloat() (1 input parameters) +Function 422: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 422: DrawLine3D() (3 input parameters) +Function 423: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 423: DrawPoint3D() (2 input parameters) +Function 424: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 424: DrawCircle3D() (5 input parameters) +Function 425: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3641,7 +3647,7 @@ Function 424: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 425: DrawTriangle3D() (4 input parameters) +Function 426: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3649,14 +3655,14 @@ Function 425: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 426: DrawTriangleStrip3D() (3 input parameters) +Function 427: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 427: DrawCube() (5 input parameters) +Function 428: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3665,14 +3671,14 @@ Function 427: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 428: DrawCubeV() (3 input parameters) +Function 429: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 429: DrawCubeWires() (5 input parameters) +Function 430: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3681,21 +3687,21 @@ Function 429: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 430: DrawCubeWiresV() (3 input parameters) +Function 431: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 431: DrawSphere() (3 input parameters) +Function 432: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 432: DrawSphereEx() (5 input parameters) +Function 433: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3704,7 +3710,7 @@ Function 432: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 433: DrawSphereWires() (5 input parameters) +Function 434: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3713,7 +3719,7 @@ Function 433: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 434: DrawCylinder() (6 input parameters) +Function 435: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3723,7 +3729,7 @@ Function 434: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 435: DrawCylinderEx() (6 input parameters) +Function 436: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3733,7 +3739,7 @@ Function 435: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 436: DrawCylinderWires() (6 input parameters) +Function 437: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3743,7 +3749,7 @@ Function 436: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 437: DrawCylinderWiresEx() (6 input parameters) +Function 438: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3753,7 +3759,7 @@ Function 437: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 438: DrawCapsule() (6 input parameters) +Function 439: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3763,7 +3769,7 @@ Function 438: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 439: DrawCapsuleWires() (6 input parameters) +Function 440: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3773,51 +3779,51 @@ Function 439: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 440: DrawPlane() (3 input parameters) +Function 441: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 441: DrawRay() (2 input parameters) +Function 442: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 442: DrawGrid() (2 input parameters) +Function 443: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 443: LoadModel() (1 input parameters) +Function 444: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 444: LoadModelFromMesh() (1 input parameters) +Function 445: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 445: IsModelReady() (1 input parameters) +Function 446: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 446: UnloadModel() (1 input parameters) +Function 447: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 447: GetModelBoundingBox() (1 input parameters) +Function 448: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 448: DrawModel() (4 input parameters) +Function 449: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3825,7 +3831,7 @@ Function 448: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 449: DrawModelEx() (6 input parameters) +Function 450: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3835,7 +3841,7 @@ Function 449: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 450: DrawModelWires() (4 input parameters) +Function 451: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3843,7 +3849,7 @@ Function 450: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 451: DrawModelWiresEx() (6 input parameters) +Function 452: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3853,13 +3859,13 @@ Function 451: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 452: DrawBoundingBox() (2 input parameters) +Function 453: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 453: DrawBillboard() (5 input parameters) +Function 454: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3868,7 +3874,7 @@ Function 453: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 454: DrawBillboardRec() (6 input parameters) +Function 455: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3878,7 +3884,7 @@ Function 454: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 455: DrawBillboardPro() (9 input parameters) +Function 456: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3891,13 +3897,13 @@ Function 455: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 456: UploadMesh() (2 input parameters) +Function 457: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 457: UpdateMeshBuffer() (5 input parameters) +Function 458: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3906,19 +3912,19 @@ Function 457: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 458: UnloadMesh() (1 input parameters) +Function 459: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 459: DrawMesh() (3 input parameters) +Function 460: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 460: DrawMeshInstanced() (4 input parameters) +Function 461: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3926,35 +3932,35 @@ Function 460: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 461: GetMeshBoundingBox() (1 input parameters) +Function 462: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 462: GenMeshTangents() (1 input parameters) +Function 463: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 463: ExportMesh() (2 input parameters) +Function 464: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 464: ExportMeshAsCode() (2 input parameters) +Function 465: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 465: GenMeshPoly() (2 input parameters) +Function 466: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 466: GenMeshPlane() (4 input parameters) +Function 467: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3962,42 +3968,42 @@ Function 466: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 467: GenMeshCube() (3 input parameters) +Function 468: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 468: GenMeshSphere() (3 input parameters) +Function 469: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 469: GenMeshHemiSphere() (3 input parameters) +Function 470: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 470: GenMeshCylinder() (3 input parameters) +Function 471: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 471: GenMeshCone() (3 input parameters) +Function 472: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 472: GenMeshTorus() (4 input parameters) +Function 473: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4005,7 +4011,7 @@ Function 472: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 473: GenMeshKnot() (4 input parameters) +Function 474: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4013,84 +4019,84 @@ Function 473: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 474: GenMeshHeightmap() (2 input parameters) +Function 475: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 475: GenMeshCubicmap() (2 input parameters) +Function 476: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 476: LoadMaterials() (2 input parameters) +Function 477: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 477: LoadMaterialDefault() (0 input parameters) +Function 478: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 478: IsMaterialReady() (1 input parameters) +Function 479: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 479: UnloadMaterial() (1 input parameters) +Function 480: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 480: SetMaterialTexture() (3 input parameters) +Function 481: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 481: SetModelMeshMaterial() (3 input parameters) +Function 482: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 482: LoadModelAnimations() (2 input parameters) +Function 483: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 483: UpdateModelAnimation() (3 input parameters) +Function 484: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 484: UnloadModelAnimation() (1 input parameters) +Function 485: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 485: UnloadModelAnimations() (2 input parameters) +Function 486: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 486: IsModelAnimationValid() (2 input parameters) +Function 487: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 487: CheckCollisionSpheres() (4 input parameters) +Function 488: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4098,40 +4104,40 @@ Function 487: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 488: CheckCollisionBoxes() (2 input parameters) +Function 489: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 489: CheckCollisionBoxSphere() (3 input parameters) +Function 490: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 490: GetRayCollisionSphere() (3 input parameters) +Function 491: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 491: GetRayCollisionBox() (2 input parameters) +Function 492: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 492: GetRayCollisionMesh() (3 input parameters) +Function 493: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 493: GetRayCollisionTriangle() (4 input parameters) +Function 494: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4139,7 +4145,7 @@ Function 493: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 494: GetRayCollisionQuad() (5 input parameters) +Function 495: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4148,158 +4154,158 @@ Function 494: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 495: InitAudioDevice() (0 input parameters) +Function 496: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 496: CloseAudioDevice() (0 input parameters) +Function 497: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 497: IsAudioDeviceReady() (0 input parameters) +Function 498: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 498: SetMasterVolume() (1 input parameters) +Function 499: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 499: GetMasterVolume() (0 input parameters) +Function 500: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 500: LoadWave() (1 input parameters) +Function 501: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 501: LoadWaveFromMemory() (3 input parameters) +Function 502: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 502: IsWaveReady() (1 input parameters) +Function 503: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 503: LoadSound() (1 input parameters) +Function 504: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 504: LoadSoundFromWave() (1 input parameters) +Function 505: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 505: LoadSoundAlias() (1 input parameters) +Function 506: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 506: IsSoundReady() (1 input parameters) +Function 507: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 507: UpdateSound() (3 input parameters) +Function 508: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 508: UnloadWave() (1 input parameters) +Function 509: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 509: UnloadSound() (1 input parameters) +Function 510: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 510: UnloadSoundAlias() (1 input parameters) +Function 511: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 511: ExportWave() (2 input parameters) +Function 512: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 512: ExportWaveAsCode() (2 input parameters) +Function 513: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 513: PlaySound() (1 input parameters) +Function 514: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 514: StopSound() (1 input parameters) +Function 515: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 515: PauseSound() (1 input parameters) +Function 516: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 516: ResumeSound() (1 input parameters) +Function 517: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 517: IsSoundPlaying() (1 input parameters) +Function 518: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 518: SetSoundVolume() (2 input parameters) +Function 519: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 519: SetSoundPitch() (2 input parameters) +Function 520: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 520: SetSoundPan() (2 input parameters) +Function 521: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 521: WaveCopy() (1 input parameters) +Function 522: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 522: WaveCrop() (3 input parameters) +Function 523: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined samples range Param[1]: wave (type: Wave *) Param[2]: initSample (type: int) Param[3]: finalSample (type: int) -Function 523: WaveFormat() (4 input parameters) +Function 524: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4307,203 +4313,203 @@ Function 523: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 524: LoadWaveSamples() (1 input parameters) +Function 525: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 525: UnloadWaveSamples() (1 input parameters) +Function 526: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 526: LoadMusicStream() (1 input parameters) +Function 527: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 527: LoadMusicStreamFromMemory() (3 input parameters) +Function 528: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 528: IsMusicReady() (1 input parameters) +Function 529: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 529: UnloadMusicStream() (1 input parameters) +Function 530: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 530: PlayMusicStream() (1 input parameters) +Function 531: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 531: IsMusicStreamPlaying() (1 input parameters) +Function 532: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 532: UpdateMusicStream() (1 input parameters) +Function 533: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 533: StopMusicStream() (1 input parameters) +Function 534: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 534: PauseMusicStream() (1 input parameters) +Function 535: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 535: ResumeMusicStream() (1 input parameters) +Function 536: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 536: SeekMusicStream() (2 input parameters) +Function 537: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 537: SetMusicVolume() (2 input parameters) +Function 538: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 538: SetMusicPitch() (2 input parameters) +Function 539: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 539: SetMusicPan() (2 input parameters) +Function 540: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 540: GetMusicTimeLength() (1 input parameters) +Function 541: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 541: GetMusicTimePlayed() (1 input parameters) +Function 542: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 542: LoadAudioStream() (3 input parameters) +Function 543: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 543: IsAudioStreamReady() (1 input parameters) +Function 544: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 544: UnloadAudioStream() (1 input parameters) +Function 545: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 545: UpdateAudioStream() (3 input parameters) +Function 546: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 546: IsAudioStreamProcessed() (1 input parameters) +Function 547: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 547: PlayAudioStream() (1 input parameters) +Function 548: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 548: PauseAudioStream() (1 input parameters) +Function 549: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 549: ResumeAudioStream() (1 input parameters) +Function 550: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 550: IsAudioStreamPlaying() (1 input parameters) +Function 551: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 551: StopAudioStream() (1 input parameters) +Function 552: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 552: SetAudioStreamVolume() (2 input parameters) +Function 553: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 553: SetAudioStreamPitch() (2 input parameters) +Function 554: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 554: SetAudioStreamPan() (2 input parameters) +Function 555: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 555: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 556: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 556: SetAudioStreamCallback() (2 input parameters) +Function 557: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 557: AttachAudioStreamProcessor() (2 input parameters) +Function 558: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as s Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 558: DetachAudioStreamProcessor() (2 input parameters) +Function 559: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 559: AttachAudioMixedProcessor() (1 input parameters) +Function 560: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as s Param[1]: processor (type: AudioCallback) -Function 560: DetachAudioMixedProcessor() (1 input parameters) +Function 561: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 16f3717d2..c04727367 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -669,7 +669,7 @@ - + @@ -2111,6 +2111,10 @@ + + + + From fea3395fc141909aeb51cb66326726876144e370 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 29 Feb 2024 18:50:44 +0100 Subject: [PATCH 165/745] Review formatting --- src/platforms/rcore_desktop_sdl.c | 25 ++++++++++-------- src/rmodels.c | 43 ++++++++++++++++--------------- src/rshapes.c | 14 +++++----- src/rtext.c | 22 ++++++++-------- src/rtextures.c | 16 ++++++------ 5 files changed, 62 insertions(+), 58 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 1b6304d28..e749cecb4 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -971,21 +971,20 @@ void SetMouseCursor(int cursor) CORE.Input.Mouse.cursor = cursor; } -static void UpdateSDLTouchPoints(SDL_TouchFingerEvent event) +static void UpdateTouchPointsSDL(SDL_TouchFingerEvent event) { CORE.Input.Touch.pointCount = SDL_GetNumTouchFingers(event.touchId); - for (int i=0; iid; - CORE.Input.Touch.position[i].x = finger->x * CORE.Window.screen.width; - CORE.Input.Touch.position[i].y = finger->y * CORE.Window.screen.height; + CORE.Input.Touch.position[i].x = finger->x*CORE.Window.screen.width; + CORE.Input.Touch.position[i].y = finger->y*CORE.Window.screen.height; CORE.Input.Touch.currentTouchState[i] = 1; } - for (int i=CORE.Input.Touch.pointCount; i // Required for: sprintf() -#include // Required for: malloc(), free() -#include // Required for: memcmp(), strlen() +#include // Required for: malloc(), calloc(), free() +#include // Required for: memcmp(), strlen(), strncpy() #include // Required for: sinf(), cosf(), sqrtf(), fabsf() #if defined(SUPPORT_FILEFORMAT_OBJ) || defined(SUPPORT_FILEFORMAT_MTL) @@ -1883,7 +1883,7 @@ bool ExportMeshAsCode(Mesh mesh, const char *fileName) byteCount += sprintf(txtData + byteCount, "// Mesh basic information\n"); byteCount += sprintf(txtData + byteCount, "#define %s_VERTEX_COUNT %i\n", varFileName, mesh.vertexCount); byteCount += sprintf(txtData + byteCount, "#define %s_TRIANGLE_COUNT %i\n\n", varFileName, mesh.triangleCount); - + // Define vertex attributes data as separate arrays //----------------------------------------------------------------------------------------- if (mesh.vertices != NULL) // Vertex position (XYZ - 3 components per vertex - float) @@ -1892,28 +1892,28 @@ bool ExportMeshAsCode(Mesh mesh, const char *fileName) for (int i = 0; i < mesh.vertexCount*3 - 1; i++) byteCount += sprintf(txtData + byteCount, ((i%TEXT_BYTES_PER_LINE == 0)? "%.3ff,\n" : "%.3ff, "), mesh.vertices[i]); byteCount += sprintf(txtData + byteCount, "%.3ff };\n\n", mesh.vertices[mesh.vertexCount*3 - 1]); } - - if (mesh.texcoords != NULL) // Vertex texture coordinates (UV - 2 components per vertex - float) + + if (mesh.texcoords != NULL) // Vertex texture coordinates (UV - 2 components per vertex - float) { byteCount += sprintf(txtData + byteCount, "static float %s_TEXCOORD_DATA[%i] = { ", varFileName, mesh.vertexCount*2); for (int i = 0; i < mesh.vertexCount*2 - 1; i++) byteCount += sprintf(txtData + byteCount, ((i%TEXT_BYTES_PER_LINE == 0)? "%.3ff,\n" : "%.3ff, "), mesh.texcoords[i]); byteCount += sprintf(txtData + byteCount, "%.3ff };\n\n", mesh.texcoords[mesh.vertexCount*2 - 1]); } - - if (mesh.texcoords2 != NULL) // Vertex texture coordinates (UV - 2 components per vertex - float) + + if (mesh.texcoords2 != NULL) // Vertex texture coordinates (UV - 2 components per vertex - float) { byteCount += sprintf(txtData + byteCount, "static float %s_TEXCOORD2_DATA[%i] = { ", varFileName, mesh.vertexCount*2); for (int i = 0; i < mesh.vertexCount*2 - 1; i++) byteCount += sprintf(txtData + byteCount, ((i%TEXT_BYTES_PER_LINE == 0)? "%.3ff,\n" : "%.3ff, "), mesh.texcoords2[i]); byteCount += sprintf(txtData + byteCount, "%.3ff };\n\n", mesh.texcoords2[mesh.vertexCount*2 - 1]); } - + if (mesh.normals != NULL) // Vertex normals (XYZ - 3 components per vertex - float) { byteCount += sprintf(txtData + byteCount, "static float %s_NORMAL_DATA[%i] = { ", varFileName, mesh.vertexCount*3); for (int i = 0; i < mesh.vertexCount*3 - 1; i++) byteCount += sprintf(txtData + byteCount, ((i%TEXT_BYTES_PER_LINE == 0)? "%.3ff,\n" : "%.3ff, "), mesh.normals[i]); byteCount += sprintf(txtData + byteCount, "%.3ff };\n\n", mesh.normals[mesh.vertexCount*3 - 1]); } - + if (mesh.tangents != NULL) // Vertex tangents (XYZW - 4 components per vertex - float) { byteCount += sprintf(txtData + byteCount, "static float %s_TANGENT_DATA[%i] = { ", varFileName, mesh.vertexCount*4); @@ -4050,7 +4050,7 @@ static Model LoadOBJ(const char *fileName) model.meshCount = meshCount; // Set number of materials available - // NOTE: There could be more materials available than meshes but it will be resolved at + // NOTE: There could be more materials available than meshes but it will be resolved at // model.meshMaterial, just assigning the right material to corresponding mesh model.materialCount = materialCount; if (model.materialCount == 0) @@ -4068,7 +4068,7 @@ static Model LoadOBJ(const char *fileName) for (int i = 0; i < model.meshCount; i++) { // WARNING: We need to calculate the mesh triangles manually using meshes[i].face_offset - // because in case of triangulated quads, meshes[i].length actually report quads, + // because in case of triangulated quads, meshes[i].length actually report quads, // despite the triangulation that is efectively considered on attrib.num_faces unsigned int tris = 0; if (i == model.meshCount - 1) tris = attrib.num_faces - meshes[i].face_offset; @@ -5283,7 +5283,7 @@ static Model LoadGLTF(const char *fileName) else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec2)) { // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - + // Handle 16-bit unsigned short, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(unsigned short)); unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; @@ -5292,7 +5292,7 @@ static Model LoadGLTF(const char *fileName) else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) { // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - + // Handle 16-bit unsigned short, vec4 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; @@ -5301,7 +5301,7 @@ static Model LoadGLTF(const char *fileName) else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) { // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - + // Handle 32-bit unsigned int, vec4 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned int)); unsigned int *ptr = (unsigned int *)model.meshes[meshIndex].boneIds; @@ -5310,7 +5310,7 @@ static Model LoadGLTF(const char *fileName) else if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec2)) { // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - + // Handle 32-bit float, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(float)); float *ptr = (float *)model.meshes[meshIndex].boneIds; @@ -5641,7 +5641,7 @@ static Model LoadVOX(const char *fileName) // 6*4 = 12 vertices per voxel Vector3 *pvertices = (Vector3 *)voxarray.vertices.array; - Vector3* pnormals = (Vector3*)voxarray.normals.array; + Vector3 *pnormals = (Vector3 *)voxarray.normals.array; Color *pcolors = (Color *)voxarray.colors.array; unsigned short *pindices = voxarray.indices.array; // 5461*6*6 = 196596 indices max per mesh @@ -5657,16 +5657,16 @@ static Model LoadVOX(const char *fileName) pmesh->vertexCount = (int)fmin(verticesMax, verticesRemain); size = pmesh->vertexCount*sizeof(float)*3; - pmesh->vertices = RL_MALLOC(size); + pmesh->vertices = (float *)RL_MALLOC(size); memcpy(pmesh->vertices, pvertices, size); // Copy normals - pmesh->normals = RL_MALLOC(size); //Rk. size as vertices + pmesh->normals = (float *)RL_MALLOC(size); memcpy(pmesh->normals, pnormals, size); // Copy indices size = voxarray.indices.used*sizeof(unsigned short); - pmesh->indices = RL_MALLOC(size); + pmesh->indices = (float *)RL_MALLOC(size); memcpy(pmesh->indices, pindices, size); pmesh->triangleCount = (pmesh->vertexCount/4)*2; @@ -6074,8 +6074,9 @@ static ModelAnimation *LoadModelAnimationsM3D(const char *fileName, int *animCou animations[a].boneCount = m3d->numbone + 1; animations[a].bones = RL_MALLOC((m3d->numbone + 1)*sizeof(BoneInfo)); animations[a].framePoses = RL_MALLOC(animations[a].frameCount*sizeof(Transform *)); - strncpy(animations[a].name, m3d->action[a].name, sizeof(animations[a].name)); - animations[a].name[sizeof(animations[a].name) - 1] = '\0'; + strncpy(animations[a].name, m3d->action[a].name, sizeof(animations[a].name)); + animations[a].name[sizeof(animations[a].name) - 1] = '\0'; + TRACELOG(LOG_INFO, "MODEL: [%s] animation #%i: %i msec, %i frames", fileName, a, m3d->action[a].durationmsec, animations[a].frameCount); for (i = 0; i < (int)m3d->numbone; i++) diff --git a/src/rshapes.c b/src/rshapes.c index f0c6f1127..5c6900b2f 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -338,7 +338,7 @@ void DrawCircleSector(Vector2 center, float radius, float startAngle, float endA } // NOTE: In case number of segments is odd, we add one last piece to the cake - if ((segments%2) == 1) + if (((unsigned int)segments%2) == 1) { rlColor4ub(color.r, color.g, color.b, color.a); @@ -1574,7 +1574,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) #if defined(SUPPORT_SPLINE_MITERS) Vector2 prevNormal = (Vector2){-(points[1].y - points[0].y), (points[1].x - points[0].x)}; float prevLength = sqrtf(prevNormal.x*prevNormal.x + prevNormal.y*prevNormal.y); - + if (prevLength > 0.0f) { prevNormal.x /= prevLength; @@ -1587,7 +1587,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) } Vector2 prevRadius = { 0.5f*thick*prevNormal.x, 0.5f*thick*prevNormal.y }; - + for (int i = 0; i < pointCount - 1; i++) { Vector2 normal = { 0 }; @@ -1596,7 +1596,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) { normal = (Vector2){-(points[i + 2].y - points[i + 1].y), (points[i + 2].x - points[i + 1].x)}; float normalLength = sqrtf(normal.x*normal.x + normal.y*normal.y); - + if (normalLength > 0.0f) { normal.x /= normalLength; @@ -1615,7 +1615,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) Vector2 radius = { prevNormal.x + normal.x, prevNormal.y + normal.y }; float radiusLength = sqrtf(radius.x*radius.x + radius.y*radius.y); - + if (radiusLength > 0.0f) { radius.x /= radiusLength; @@ -1639,7 +1639,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) radius.x = 0.0f; radius.y = 0.0f; } - + Vector2 strip[4] = { { points[i].x - prevRadius.x, points[i].y - prevRadius.y }, { points[i].x + prevRadius.x, points[i].y + prevRadius.y }, @@ -1677,7 +1677,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) DrawTriangleStrip(strip, 4, color); } #endif - + #if defined(SUPPORT_SPLINE_SEGMENT_CAPS) // TODO: Add spline segment rounded caps at the begin/end of the spline #endif diff --git a/src/rtext.c b/src/rtext.c index eb56b3ecd..87b991025 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -536,7 +536,7 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int font.glyphCount = (codepointCount > 0)? codepointCount : 95; font.glyphPadding = 0; -#if defined(SUPPORT_FILEFORMAT_TTF) +#if defined(SUPPORT_FILEFORMAT_TTF) if (TextIsEqual(fileExtLower, ".ttf") || TextIsEqual(fileExtLower, ".otf")) { @@ -1468,10 +1468,10 @@ float TextToFloat(const char *text) if (text[0] == '-') sign = -1.0f; text++; } - + int i = 0; for (; ((text[i] >= '0') && (text[i] <= '9')); i++) value = value*10.0f + (float)(text[i] - '0'); - + if (text[i++] != '.') value *= sign; else { @@ -1482,7 +1482,7 @@ float TextToFloat(const char *text) divisor = divisor*10.0f; } } - + return value; } @@ -2275,7 +2275,7 @@ static unsigned char HexToInt(char hex) static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int *outFontSize) { #define MAX_BUFFER_SIZE 256 - + char buffer[MAX_BUFFER_SIZE] = { 0 }; GlyphInfo *glyphs = NULL; @@ -2289,7 +2289,7 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i const char *fileTextPtr = fileText; bool fontMalformed = false; // Is the font malformed - bool fontStarted = false; // Has font started (STARTFONT) + bool fontStarted = false; // Has font started (STARTFONT) int fontBBw = 0; // Font base character bounding box width int fontBBh = 0; // Font base character bounding box height int fontBBxoff0 = 0; // Font base character bounding box X0 offset @@ -2300,7 +2300,7 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i bool charBitmapStarted = false; // Has bitmap data started (BITMAP) int charBitmapNextRow = 0; // Y position for the next row of bitmap data int charEncoding = -1; // The unicode value of the character (-1 if not set) - int charBBw = 0; // Character bounding box width + int charBBw = 0; // Character bounding box width int charBBh = 0; // Character bounding box height int charBBxoff0 = 0; // Character bounding box X0 offset int charBByoff0 = 0; // Character bounding box Y0 offset @@ -2347,17 +2347,17 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i if (charGlyphInfo != NULL) { int pixelY = charBitmapNextRow++; - + if (pixelY >= charGlyphInfo->image.height) break; for (int x = 0; x < readBytes; x++) { unsigned char byte = HexToInt(buffer[x]); - + for (int bitX = 0; bitX < 4; bitX++) { int pixelX = ((x*4) + bitX); - + if (pixelX >= charGlyphInfo->image.width) break; if ((byte & (8 >> bitX)) > 0) ((unsigned char *)charGlyphInfo->image.data)[(pixelY*charGlyphInfo->image.width) + pixelX] = 255; @@ -2393,7 +2393,7 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i { // Search for glyph index in codepoints charGlyphInfo = NULL; - + for (int codepointIndex = 0; codepointIndex < codepointCount; codepointIndex++) { if (codepoints[codepointIndex] == charEncoding) diff --git a/src/rtextures.c b/src/rtextures.c index 5c0e90e85..588c8b107 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2139,7 +2139,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) if ((image->data == NULL) || (image->width == 0) || (image->height == 0) || kernel == NULL) return; int kernelWidth = (int)sqrtf((float)kernelSize); - + if (kernelWidth*kernelWidth != kernelSize) { TRACELOG(LOG_WARNING, "IMAGE: Convolution kernel must be square to be applied"); @@ -2165,7 +2165,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) float aRes = 0.0f; int startRange = 0, endRange = 0; - + if (kernelWidth%2 == 0) { startRange = -kernelWidth/2; @@ -2176,7 +2176,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) startRange = -kernelWidth/2; endRange = kernelWidth/2 + 1; } - + for(int x = 0; x < image->height; x++) { for (int y = 0; y < image->width; y++) @@ -2188,14 +2188,14 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) int xkabs = xk + kernelWidth/2; int ykabs = yk + kernelWidth/2; unsigned int imgindex = image->width*(x + xk) + (y + yk); - + if (imgindex >= (unsigned int)(image->width*image->height)) { temp[kernelWidth * xkabs + ykabs].x = 0.0f; temp[kernelWidth * xkabs + ykabs].y = 0.0f; temp[kernelWidth * xkabs + ykabs].z = 0.0f; temp[kernelWidth * xkabs + ykabs].w = 0.0f; - } + } else { temp[kernelWidth * xkabs + ykabs].x = ((float)pixels[imgindex].r)/255.0f*kernel[kernelWidth*xkabs + ykabs]; @@ -2245,7 +2245,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) for (int i = 0; i < (image->width*image->height); i++) { float alpha = (float)imageCopy2[i].w; - + pixels[i].r = (unsigned char)((imageCopy2[i].x)*255.0f); pixels[i].g = (unsigned char)((imageCopy2[i].y)*255.0f); pixels[i].b = (unsigned char)((imageCopy2[i].z)*255.0f); @@ -3875,8 +3875,8 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) // NOTE: Cubemap data is expected to be provided as 6 images in a single data array, // one after the other (that's a vertical image), following convention: +X, -X, +Y, -Y, +Z, -Z cubemap.id = rlLoadTextureCubemap(faces.data, size, faces.format); - - if (cubemap.id != 0) + + if (cubemap.id != 0) { cubemap.format = faces.format; cubemap.mipmaps = 1; From dc1cec8bab97e09656479bded3265fb420a0b073 Mon Sep 17 00:00:00 2001 From: Alexandre Almeida Date: Fri, 1 Mar 2024 04:34:53 -0300 Subject: [PATCH 166/745] Remove GLFW mouse passthrough hack and increase GLFW version in CMake (#3852) --- cmake/GlfwImport.cmake | 4 ++-- src/platforms/rcore_desktop.c | 9 --------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/cmake/GlfwImport.cmake b/cmake/GlfwImport.cmake index 1c267aba7..2395343c7 100644 --- a/cmake/GlfwImport.cmake +++ b/cmake/GlfwImport.cmake @@ -1,8 +1,8 @@ if(USE_EXTERNAL_GLFW STREQUAL "ON") - find_package(glfw3 3.3.3 REQUIRED) + find_package(glfw3 3.4 REQUIRED) elseif(USE_EXTERNAL_GLFW STREQUAL "IF_POSSIBLE") - find_package(glfw3 3.3.3 QUIET) + find_package(glfw3 3.4 QUIET) endif() if (glfw3_FOUND) set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index d4c024400..29c85156c 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -84,15 +84,6 @@ #include "GLFW/glfw3native.h" // Required for: glfwGetCocoaWindow() #endif -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -// TODO: HACK: Added flag if not provided by GLFW when using external library -// Latest GLFW release (GLFW 3.3.8) does not implement this flag, it was added for 3.4.0-dev -#if !defined(GLFW_MOUSE_PASSTHROUGH) - #define GLFW_MOUSE_PASSTHROUGH 0x0002000D -#endif - //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- From 25caf14be8d0284aceaa0de28753b3012e71b7bb Mon Sep 17 00:00:00 2001 From: Caleb Barger <59521636+cabarger@users.noreply.github.com> Date: Fri, 1 Mar 2024 03:43:19 -0800 Subject: [PATCH 167/745] Fix fix-build-paths (#3849) --- src/build.zig | 53 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/src/build.zig b/src/build.zig index 5251f30ff..ed9013aca 100644 --- a/src/build.zig +++ b/src/build.zig @@ -1,16 +1,18 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested to work with zig 0.11.0, zig 0.12.0-dev.2075+f5978181e and 0.12.0-dev.2990+31763d28c +// This has been tested with zig version(s): +// 0.11.0 +// 0.12.0-dev.2075+f5978181e +// 0.12.0-dev.2990+31763d28c // -// anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type +// Anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type // was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows // us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){}; const gpa = general_purpose_allocator.allocator(); - // get the relative source path, because it is needed for addCSourceFilesVersioned - const relative = srcdir[b.build_root.path.?.len..]; + if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { @@ -53,33 +55,33 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM } addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rcore.c"), - try join2(gpa, relative, "utils.c"), + try join2(gpa, srcdir, "rcore.c"), + try join2(gpa, srcdir, "utils.c"), }, raylib_flags_arr.items); if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "raudio.c"), + try join2(gpa, srcdir, "raudio.c"), }, raylib_flags_arr.items); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rmodels.c"), + try join2(gpa, srcdir, "rmodels.c"), }, raylib_flags_arr.items); } if (options.rshapes) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rshapes.c"), + try join2(gpa, srcdir, "rshapes.c"), }, raylib_flags_arr.items); } if (options.rtext) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rtext.c"), + try join2(gpa, srcdir, "rtext.c"), }, raylib_flags_arr.items); } if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rtextures.c"), + try join2(gpa, srcdir, "rtextures.c"), }, raylib_flags_arr.items); } @@ -96,7 +98,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM switch (getOsTagVersioned(target)) { .windows => { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rglfw.c"), + try join2(gpa, srcdir, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); @@ -107,7 +109,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .linux => { if (!options.platform_drm) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rglfw.c"), + try join2(gpa, srcdir, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -137,7 +139,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .freebsd, .openbsd, .netbsd, .dragonfly => { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rglfw.c"), + try join2(gpa, srcdir, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -156,7 +158,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // On macos rglfw.c include Objective-C files. try raylib_flags_arr.append("-ObjC"); addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, relative, "rglfw.c"), + try join2(gpa, srcdir, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); @@ -251,14 +253,23 @@ fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { } } -fn addCSourceFilesVersioned(exe: *std.Build.Step.Compile, files: []const []const u8, flags: []const []const u8) void { +fn addCSourceFilesVersioned( + exe: *std.Build.Step.Compile, + files: []const []const u8, + flags: []const []const u8, +) void { + //- HACK(cabarger): I hate this so much!!! if (comptime builtin.zig_version.minor >= 12) { - exe.addCSourceFiles(.{ - .files = files, - .flags = flags, - }); - } else { + for (files) |file| { + exe.addCSourceFile(.{ + .file = .{ .path = file }, + .flags = flags, + }); + } + } else if (comptime builtin.zig_version.minor == 11) { exe.addCSourceFiles(files, flags); + } else { + @compileError("Expected zig version 11 or 12"); } } From c970afeccd824f545422b1d3505b571f3eadb901 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 4 Mar 2024 19:58:49 +0100 Subject: [PATCH 168/745] Update linux.yml --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 976b67bfb..bb25cfb53 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -55,7 +55,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin mkdir build cd build mkdir ${{ env.RELEASE_NAME }} From 6e9dcdb599eb8548f49f2ae1330d5a752ed80530 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 4 Mar 2024 19:59:04 +0100 Subject: [PATCH 169/745] Update linux_examples.yml --- .github/workflows/linux_examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux_examples.yml b/.github/workflows/linux_examples.yml index 2d26b5fa5..065b99572 100644 --- a/.github/workflows/linux_examples.yml +++ b/.github/workflows/linux_examples.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Environment run: | sudo apt-get update -qq - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin - name: Build Library run: | From 85a46e42bd12a0973a22b48785b6c878b5bc58d6 Mon Sep 17 00:00:00 2001 From: Alexandre Almeida Date: Mon, 4 Mar 2024 15:59:26 -0300 Subject: [PATCH 170/745] CMake: Remove USE_WAYLAND option (#3851) * CMake: Remove USE_WAYLAND option * Consistency fix * Fix oversight --- CMakeLists.txt | 6 ++++++ CMakeOptions.txt | 7 ++++--- cmake/GlfwImport.cmake | 1 - 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ce2de5788..57719691a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,12 @@ include(CMakeOptions.txt) # Enforces a few environment and compiler configurations include(BuildOptions) +if (UNIX AND NOT APPLE) + if (NOT GLFW_BUILD_WAYLAND AND NOT GLFW_BUILD_X11) + MESSAGE(FATAL_ERROR "Cannot disable both Wayland and X11") + endif() +endif() + # Main sources directory (the second parameter sets the output directory name to raylib) add_subdirectory(src raylib) diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 68468c07a..2c58cd5cc 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -20,9 +20,10 @@ option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" OFF) cmake_dependent_option(USE_AUDIO "Build raylib with audio module" ON CUSTOMIZE_BUILD ON) enum_option(USE_EXTERNAL_GLFW "OFF;IF_POSSIBLE;ON" "Link raylib against system GLFW instead of embedded one") -if(UNIX AND NOT APPLE) - option(USE_WAYLAND "Use Wayland for window creation" OFF) -endif() + +# GLFW build options +option(GLFW_BUILD_WAYLAND "Build the bundled GLFW with Wayland support" ON) +option(GLFW_BUILD_X11 "Build the bundled GLFW with X11 support" ON) option(INCLUDE_EVERYTHING "Include everything disabled by default (for CI usage" OFF) set(OFF ${INCLUDE_EVERYTHING} CACHE INTERNAL "Replace any OFF by default with \${OFF} to have it covered by this option") diff --git a/cmake/GlfwImport.cmake b/cmake/GlfwImport.cmake index 2395343c7..4a5ef8c60 100644 --- a/cmake/GlfwImport.cmake +++ b/cmake/GlfwImport.cmake @@ -16,7 +16,6 @@ if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MAT set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_INSTALL OFF CACHE BOOL "" FORCE) - set(GLFW_BUILD_WAYLAND ${USE_WAYLAND} CACHE BOOL "" FORCE) set(GLFW_LIBRARY_TYPE "OBJECT" CACHE STRING "" FORCE) From 7584b6aa0bb190c1aa4615d42949fe79fc89b103 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 4 Mar 2024 20:08:59 +0100 Subject: [PATCH 171/745] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 82e3459b2..c286220b4 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -86,7 +86,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system From 36dabe485c3b6c64c41a028f147c56a5634ad428 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 5 Mar 2024 13:59:36 +0100 Subject: [PATCH 172/745] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c286220b4..90c62d775 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -86,7 +86,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libwayland-client - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system From 2114e48393d815298d5ea1b5a415d9651f2ec656 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 5 Mar 2024 14:00:56 +0100 Subject: [PATCH 173/745] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 90c62d775..611902f31 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -86,7 +86,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libwayland-client + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system From 38bdcafea1ec41f14dbeb6468a7270c7f653800b Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 5 Mar 2024 14:02:57 +0100 Subject: [PATCH 174/745] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 611902f31..8a0eb0b8c 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -86,7 +86,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libxkbcommon - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system From c7b362d19dd32b00a0fce90bc9abe8afd3d4b754 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 5 Mar 2024 14:04:32 +0100 Subject: [PATCH 175/745] Update cmake.yml --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 8a0eb0b8c..58ca7d5f4 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -86,7 +86,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libxkbcommon + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libxkbcommon-dev - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system From 68b553cfc157a996e92da053d9e7b8beb92de0c0 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 7 Mar 2024 12:10:02 +0100 Subject: [PATCH 176/745] Update raylib.h --- src/raylib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index 03045ed13..c8f765ece 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1410,7 +1410,7 @@ RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle // Color/pixel related functions RLAPI bool ColorIsEqual(Color col1, Color col2); // Check if two colors are equal RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f -RLAPI int ColorToInt(Color color); // Get hexadecimal value for a Color +RLAPI int ColorToInt(Color color); // Get hexadecimal value for a Color (0xRRGGBBAA) RLAPI Vector4 ColorNormalize(Color color); // Get Color normalized as float [0..1] RLAPI Color ColorFromNormalized(Vector4 normalized); // Get Color from normalized values [0..1] RLAPI Vector3 ColorToHSV(Color color); // Get HSV values for a Color, hue [0..360], saturation/value [0..1] From c1c9b69290be83c7f6400fe4bd0dd7f0e1c20d98 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 7 Mar 2024 12:10:26 +0100 Subject: [PATCH 177/745] Implemented fix for #3859 --- src/rmodels.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 5be06b370..29b05ce32 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5810,6 +5810,12 @@ static Model LoadM3D(const char *fileName) // If no map is provided, or we have colors defined, we allocate storage for vertex colors // M3D specs only consider vertex colors if no material is provided, however raylib uses both and mixes the colors if ((mi == M3D_UNDEF) || vcolor) model.meshes[k].colors = RL_CALLOC(model.meshes[k].vertexCount*4, sizeof(unsigned char)); + + // If no map is provided and we allocated vertex colors, set them to white + if ((mi == M3D_UNDEF) && (model.meshes[k].colors != NULL)) + { + for (int c = 0; c < model.meshes[k].vertexCount*4; c++) model.meshes[k].colors[c] = 255; + } if (m3d->numbone && m3d->numskin) { From fccdfa7926260339a66a5590c0246f4c158c5970 Mon Sep 17 00:00:00 2001 From: Rob Loach Date: Thu, 7 Mar 2024 06:11:46 -0500 Subject: [PATCH 178/745] cmake: For SDL build, link the glfw dependency (#3860) --- examples/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index c5fa659ee..a9dc2c88d 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -145,5 +145,11 @@ foreach (example_source ${example_sources}) endif () endforeach () +# For SDL, have rlgl_standalone link the glfw dependency. +if ("${PLATFORM}" STREQUAL "SDL") + find_package(glfw3 3.3 REQUIRED) + target_link_libraries(rlgl_standalone glfw) +endif() + # Copy all of the resource files to the destination file(COPY ${example_resources} DESTINATION "resources/") From 3b7be851515bf8ec4d9585352a5df8ba5aa85ac0 Mon Sep 17 00:00:00 2001 From: aiafrasinei Date: Thu, 7 Mar 2024 13:28:11 +0200 Subject: [PATCH 179/745] Screen space related functions consistency (#3830) * Screen/world-space related functions rename * Update raylib_api.* by CI --------- Co-authored-by: github-actions[bot] --- examples/core/core_3d_picking.c | 2 +- examples/models/models_loading.c | 2 +- examples/models/models_mesh_picking.c | 2 +- examples/text/text_draw_3d.c | 2 +- parser/output/raylib_api.json | 4 ++-- parser/output/raylib_api.lua | 4 ++-- parser/output/raylib_api.txt | 8 ++++---- parser/output/raylib_api.xml | 4 ++-- src/raylib.h | 4 ++-- src/rcore.c | 6 +++--- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/examples/core/core_3d_picking.c b/examples/core/core_3d_picking.c index fa6fcaec3..634afba8c 100644 --- a/examples/core/core_3d_picking.c +++ b/examples/core/core_3d_picking.c @@ -60,7 +60,7 @@ int main(void) { if (!collision.hit) { - ray = GetMouseRay(GetMousePosition(), camera); + ray = GetScreenToWorldRay(GetMousePosition(), camera); // Check collision between ray and box collision = GetRayCollisionBox(ray, diff --git a/examples/models/models_loading.c b/examples/models/models_loading.c index 8b4002d18..d35db347c 100644 --- a/examples/models/models_loading.c +++ b/examples/models/models_loading.c @@ -109,7 +109,7 @@ int main(void) if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) { // Check collision between ray and box - if (GetRayCollisionBox(GetMouseRay(GetMousePosition(), camera), bounds).hit) selected = !selected; + if (GetRayCollisionBox(GetScreenToWorldRay(GetMousePosition(), camera), bounds).hit) selected = !selected; else selected = false; } //---------------------------------------------------------------------------------- diff --git a/examples/models/models_mesh_picking.c b/examples/models/models_mesh_picking.c index 4530d58a1..15723e39d 100644 --- a/examples/models/models_mesh_picking.c +++ b/examples/models/models_mesh_picking.c @@ -88,7 +88,7 @@ int main(void) Color cursorColor = WHITE; // Get ray and test against objects - ray = GetMouseRay(GetMousePosition(), camera); + ray = GetScreenToWorldRay(GetMousePosition(), camera); // Check ray collision against ground quad RayCollision groundHitInfo = GetRayCollisionQuad(ray, g0, g1, g2, g3); diff --git a/examples/text/text_draw_3d.c b/examples/text/text_draw_3d.c index b279f1b36..ed4e6ce67 100644 --- a/examples/text/text_draw_3d.c +++ b/examples/text/text_draw_3d.c @@ -195,7 +195,7 @@ int main(void) // Handle clicking the cube if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) { - Ray ray = GetMouseRay(GetMousePosition(), camera); + Ray ray = GetScreenToWorldRay(GetMousePosition(), camera); // Check collision between ray and box RayCollision collision = GetRayCollisionBox(ray, diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 3aec33ef9..8a1594b23 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -3872,7 +3872,7 @@ ] }, { - "name": "GetMouseRay", + "name": "GetScreenToWorldRay", "description": "Get a ray trace from mouse position", "returnType": "Ray", "params": [ @@ -3887,7 +3887,7 @@ ] }, { - "name": "GetViewRay", + "name": "GetScreenToWorldRayEx", "description": "Get a ray trace from mouse position in a viewport", "returnType": "Ray", "params": [ diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index dbcf969f1..1d588fd6d 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -3635,7 +3635,7 @@ return { } }, { - name = "GetMouseRay", + name = "GetScreenToWorldRay", description = "Get a ray trace from mouse position", returnType = "Ray", params = { @@ -3644,7 +3644,7 @@ return { } }, { - name = "GetViewRay", + name = "GetScreenToWorldRayEx", description = "Get a ray trace from mouse position in a viewport", returnType = "Ray", params = { diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 668e84bb6..a0477b660 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -1421,14 +1421,14 @@ Function 083: UnloadShader() (1 input parameters) Return type: void Description: Unload shader from GPU memory (VRAM) Param[1]: shader (type: Shader) -Function 084: GetMouseRay() (2 input parameters) - Name: GetMouseRay +Function 084: GetScreenToWorldRay() (2 input parameters) + Name: GetScreenToWorldRay Return type: Ray Description: Get a ray trace from mouse position Param[1]: mousePosition (type: Vector2) Param[2]: camera (type: Camera) -Function 085: GetViewRay() (4 input parameters) - Name: GetViewRay +Function 085: GetScreenToWorldRayEx() (4 input parameters) + Name: GetScreenToWorldRayEx Return type: Ray Description: Get a ray trace from mouse position in a viewport Param[1]: mousePosition (type: Vector2) diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index c04727367..525f81ded 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -902,11 +902,11 @@ - + - + diff --git a/src/raylib.h b/src/raylib.h index c8f765ece..3c54abacf 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1049,8 +1049,8 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) // Screen-space-related functions -RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position -RLAPI Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport +RLAPI Ray GetScreenToWorldRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position +RLAPI Ray GetScreenToWorldRayEx(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position diff --git a/src/rcore.c b/src/rcore.c index 024f0d121..5e45a49a9 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1407,13 +1407,13 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) //---------------------------------------------------------------------------------- // Get a ray trace from mouse position -Ray GetMouseRay(Vector2 mousePosition, Camera camera) +Ray GetScreenToWorldRay(Vector2 mousePosition, Camera camera) { - return GetViewRay(mousePosition, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); + return GetScreenToWorldRayEx(mousePosition, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); } // Get a ray trace from the mouse position within a specific section of the screen -Ray GetViewRay(Vector2 mousePosition, Camera camera, float width, float height) +Ray GetScreenToWorldRayEx(Vector2 mousePosition, Camera camera, float width, float height) { Ray ray = { 0 }; From b1029a40b2a9de4f0075565681336e77b86633eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 7 Mar 2024 11:28:26 +0000 Subject: [PATCH 180/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 2 +- parser/output/raylib_api.lua | 2 +- parser/output/raylib_api.txt | 2 +- parser/output/raylib_api.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 8a1594b23..ec8d57a8c 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -8400,7 +8400,7 @@ }, { "name": "ColorToInt", - "description": "Get hexadecimal value for a Color", + "description": "Get hexadecimal value for a Color (0xRRGGBBAA)", "returnType": "int", "params": [ { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 1d588fd6d..01c1abf30 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -6174,7 +6174,7 @@ return { }, { name = "ColorToInt", - description = "Get hexadecimal value for a Color", + description = "Get hexadecimal value for a Color (0xRRGGBBAA)", returnType = "int", params = { {type = "Color", name = "color"} diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index a0477b660..d49ac33e4 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -3227,7 +3227,7 @@ Function 360: Fade() (2 input parameters) Function 361: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int - Description: Get hexadecimal value for a Color + Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) Function 362: ColorNormalize() (1 input parameters) Name: ColorNormalize diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 525f81ded..45697f24d 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -2119,7 +2119,7 @@ - + From 93a828f7444262655c91883acfcf3a2e31b8f6da Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 7 Mar 2024 12:33:37 +0100 Subject: [PATCH 181/745] REVIEWED: GetMouseRay() functions rename #3830 --- src/raylib.h | 5 +++-- src/rcore.c | 14 +++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 3c54abacf..1a15e124d 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1049,8 +1049,9 @@ RLAPI void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) // Screen-space-related functions -RLAPI Ray GetScreenToWorldRay(Vector2 mousePosition, Camera camera); // Get a ray trace from mouse position -RLAPI Ray GetScreenToWorldRayEx(Vector2 mousePosition, Camera camera, float width, float height); // Get a ray trace from mouse position in a viewport +#define GetMouseRay GetScreenToWorldRay // Compatibility hack for previous raylib versions +RLAPI Ray GetScreenToWorldRay(Vector2 position, Camera camera); // Get a ray trace from screen position (i.e mouse) +RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height); // Get a ray trace from screen position (i.e mouse) in a viewport RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position diff --git a/src/rcore.c b/src/rcore.c index 5e45a49a9..dcdc3befd 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1406,21 +1406,21 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) // Module Functions Definition: Screen-space Queries //---------------------------------------------------------------------------------- -// Get a ray trace from mouse position -Ray GetScreenToWorldRay(Vector2 mousePosition, Camera camera) +// Get a ray trace from screen position (i.e mouse) +Ray GetScreenToWorldRay(Vector2 position, Camera camera) { - return GetScreenToWorldRayEx(mousePosition, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); + return GetScreenToWorldRayEx(position, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); } -// Get a ray trace from the mouse position within a specific section of the screen -Ray GetScreenToWorldRayEx(Vector2 mousePosition, Camera camera, float width, float height) +// Get a ray trace from the screen position (i.e mouse) within a specific section of the screen +Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height) { Ray ray = { 0 }; // Calculate normalized device coordinates // NOTE: y value is negative - float x = (2.0f*mousePosition.x)/width - 1.0f; - float y = 1.0f - (2.0f*mousePosition.y)/height; + float x = (2.0f*position.x)/width - 1.0f; + float y = 1.0f - (2.0f*position.y)/height; float z = 1.0f; // Store values in a vector From 30604080ef15b5201083f0828b868f7580ff05b5 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 7 Mar 2024 12:33:45 +0100 Subject: [PATCH 182/745] Update rmodels.c --- src/rmodels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 29b05ce32..c50c065e7 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5666,7 +5666,7 @@ static Model LoadVOX(const char *fileName) // Copy indices size = voxarray.indices.used*sizeof(unsigned short); - pmesh->indices = (float *)RL_MALLOC(size); + pmesh->indices = (unsigned short *)RL_MALLOC(size); memcpy(pmesh->indices, pindices, size); pmesh->triangleCount = (pmesh->vertexCount/4)*2; From ba066656f7be07f8f3f5e9028f053068789755a4 Mon Sep 17 00:00:00 2001 From: Rob Loach Date: Fri, 8 Mar 2024 06:33:40 -0500 Subject: [PATCH 183/745] [cmake] Disable SDL rlgl_standalone example (#3861) * cmake: For SDL, disable rlgl_standalone * cmake: Only build rlgl_standalone when on Desktop, and not shared libs --- examples/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index a9dc2c88d..922323674 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -115,6 +115,12 @@ elseif ("${PLATFORM}" STREQUAL "DRM") endif () +# The rlgl_standalone example only targets desktop, without shared libraries. +if (BUILD_SHARED_LIBS OR NOT ${PLATFORM} MATCHES "Desktop") + list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) + +endif() + include_directories(BEFORE SYSTEM others/external/include) if (NOT TARGET raylib) @@ -145,11 +151,5 @@ foreach (example_source ${example_sources}) endif () endforeach () -# For SDL, have rlgl_standalone link the glfw dependency. -if ("${PLATFORM}" STREQUAL "SDL") - find_package(glfw3 3.3 REQUIRED) - target_link_libraries(rlgl_standalone glfw) -endif() - # Copy all of the resource files to the destination file(COPY ${example_resources} DESTINATION "resources/") From f072497551d9f03b5fbded289f8af021c103a8c0 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Sat, 9 Mar 2024 10:43:29 +0000 Subject: [PATCH 184/745] Implement IsCursorOnScreen for PLATFORM_DESKTOP_SDL (#3862) I did some testing and this seems to work okay, but it *is* different to GLFW. GLFW seems to lose "IsCursorOnScreen" for one frame upon pressing alt+tab over the window, without a different window covering it. SDL seems to have a more reasonable behavior for this case. Either way it's an edge case and I don't know the exact way to fix, likely requires internal GLFW changes. --- src/platforms/rcore_desktop_sdl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index e749cecb4..1aea68546 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1108,11 +1108,17 @@ void PollInputEvents(void) CORE.Window.currentFbo.height = height; CORE.Window.resizedLastFrame = true; } break; + case SDL_WINDOWEVENT_ENTER: + { + CORE.Input.Mouse.cursorOnScreen = true; + } break; case SDL_WINDOWEVENT_LEAVE: + { + CORE.Input.Mouse.cursorOnScreen = false; + } break; case SDL_WINDOWEVENT_HIDDEN: case SDL_WINDOWEVENT_MINIMIZED: case SDL_WINDOWEVENT_FOCUS_LOST: - case SDL_WINDOWEVENT_ENTER: case SDL_WINDOWEVENT_SHOWN: case SDL_WINDOWEVENT_FOCUS_GAINED: case SDL_WINDOWEVENT_MAXIMIZED: From 1fad8277a37b366841eff1497ca07a7042d4a014 Mon Sep 17 00:00:00 2001 From: iP Date: Mon, 11 Mar 2024 00:49:04 +0400 Subject: [PATCH 185/745] optimisation of the "bone socket" tutorial (#3864) Less matrix operations doing. --- examples/models/models_bone_socket.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/models/models_bone_socket.c b/examples/models/models_bone_socket.c index 8f62f70f7..66f952e89 100644 --- a/examples/models/models_bone_socket.c +++ b/examples/models/models_bone_socket.c @@ -144,10 +144,8 @@ int main(void) Matrix matrixTransform = QuaternionToMatrix(rotate); // Translate socket to its position in the current animation matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(transform->translation.x, transform->translation.y, transform->translation.z)); - // Rotate socket by character angle - matrixTransform = MatrixMultiply(matrixTransform, QuaternionToMatrix(characterRotate)); - // Translate socket to character position - matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(position.x, position.y + 0.0f, position.z)); + // Transform the socket using the transform of the character (angle and translate) + matrixTransform = MatrixMultiply(matrixTransform, characterModel.transform); // Draw mesh at socket position with socket angle rotation DrawMesh(equipModel[i].meshes[0], equipModel[i].materials[1], matrixTransform); From 17d631f508fbe7772342ee9f33a0250a1c77ef7e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 12 Mar 2024 22:51:16 +0100 Subject: [PATCH 186/745] Update codeql.yml --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 956812245..803e0061f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,7 +57,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libxkbcommon-dev - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable From 42db6badd0848109746d6186792cf6a60363d7b3 Mon Sep 17 00:00:00 2001 From: joyousblunder <156859104+joyousblunder@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:33:10 -0300 Subject: [PATCH 187/745] Update BINDINGS.md (#3868) Odin's binding were bumped to 5.0 back in November 2023 --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 2a0d21ba1..275087b82 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -50,7 +50,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-Forever | auto | [Nim](https://nim-lang.org/) | ? | https://github.com/Guevara-chan/Raylib-Forever | | naylib | auto | [Nim](https://nim-lang.org/) | MIT | https://github.com/planetis-m/naylib | | node-raylib | 4.5 | [Node.js](https://nodejs.org/en/) | Zlib | https://github.com/RobLoach/node-raylib | -| raylib-odin | 4.5 | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | +| raylib-odin | 5.0 | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | | raylib_odin_bindings | 4.0-dev | [Odin](https://odin-lang.org/) | MIT | https://github.com/Deathbat2190/raylib_odin_bindings | | raylib-ocaml | **5.0** | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | | TurboRaylib | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | https://github.com/turborium/TurboRaylib | From 9a8d73e6c32514275a0ba53fe528bcb7c2693e27 Mon Sep 17 00:00:00 2001 From: Alexandre Almeida Date: Thu, 14 Mar 2024 12:54:39 -0300 Subject: [PATCH 188/745] Fix GLFW runtime platform detection (#3863) * Fix GLFW runtime platform detection * Add libwayland-dev package to workflows * Add libxkbcommon-dev package to workflows * Add libwayland-bin package to codeql.yml * Add libwayland-client0 and libwayland-cursor0 packages to codeql.yml * Use libwayland-dev in codeql.yml * Add libxkbcommon-dev to codeql.yml * Remove libwayland-bin from linux.yml and linux_examples.yml (libwayland-dev includes it as a dependency) --------- Co-authored-by: Ray --- .github/workflows/codeql.yml | 2 +- .github/workflows/linux.yml | 2 +- .github/workflows/linux_examples.yml | 2 +- src/Makefile | 16 +- src/external/glfw/README.md | 468 +------------------------- src/external/glfw/src/cocoa_init.m | 7 +- src/external/glfw/src/cocoa_monitor.m | 3 +- src/external/glfw/src/cocoa_window.m | 28 +- src/external/glfw/src/null_window.c | 19 +- src/external/glfw/src/platform.c | 12 +- src/external/glfw/src/win32_init.c | 7 +- src/external/glfw/src/win32_window.c | 25 +- src/external/glfw/src/wl_init.c | 7 +- src/external/glfw/src/wl_window.c | 17 +- src/external/glfw/src/x11_init.c | 7 +- src/external/glfw/src/x11_window.c | 31 +- src/rglfw.c | 15 +- 17 files changed, 112 insertions(+), 556 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 803e0061f..26cc32660 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,7 +57,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libwayland-bin libxkbcommon-dev + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index bb25cfb53..97cf75fc2 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -55,7 +55,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install gcc-multilib - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev mkdir build cd build mkdir ${{ env.RELEASE_NAME }} diff --git a/.github/workflows/linux_examples.yml b/.github/workflows/linux_examples.yml index 065b99572..d7f3be2ea 100644 --- a/.github/workflows/linux_examples.yml +++ b/.github/workflows/linux_examples.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Environment run: | sudo apt-get update -qq - sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-bin + sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev - name: Build Library run: | diff --git a/src/Makefile b/src/Makefile index 7b8814310..7f5dd335d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -96,15 +96,15 @@ RAYLIB_MODULE_RAYGUI_PATH ?= $(RAYLIB_SRC_PATH)/../../raygui/src # Use external GLFW library instead of rglfw module USE_EXTERNAL_GLFW ?= FALSE +# Enable support for both Wayland and X11 by default on Linux when using GLFW +GLFW_LINUX_ENABLE_WAYLAND ?= TRUE +GLFW_LINUX_ENABLE_X11 ?= TRUE + # PLATFORM_DESKTOP_SDL: It requires SDL library to be provided externally # WARNING: Library is not included in raylib, it MUST be configured by users SDL_INCLUDE_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/include SDL_LIBRARY_PATH ?= $(RAYLIB_SRC_PATH)/external/SDL2/lib -# Use Wayland display server protocol on Linux desktop (by default it uses X11 windowing system) -# NOTE: This variable is only used for PLATFORM_OS: LINUX -USE_WAYLAND_DISPLAY ?= FALSE - # Determine if the file has root access (only required to install raylib) # "whoami" prints the name of the user that calls him (so, if it is the root user, "whoami" prints "root") ROOT = $(shell whoami) @@ -407,7 +407,11 @@ endif # Use Wayland display on Linux desktop ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS), LINUX) - ifeq ($(USE_WAYLAND_DISPLAY),TRUE) + ifeq ($(GLFW_LINUX_ENABLE_X11),TRUE) + CFLAGS += -D_GLFW_X11 + endif + + ifeq ($(GLFW_LINUX_ENABLE_WAYLAND),TRUE) CFLAGS += -D_GLFW_WAYLAND LDFLAGS += $(shell pkg-config wayland-client wayland-cursor wayland-egl xkbcommon --libs) @@ -533,7 +537,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif ifeq ($(PLATFORM_OS),LINUX) LDLIBS = -lGL -lc -lm -lpthread -ldl -lrt - ifeq ($(USE_WAYLAND_DISPLAY),FALSE) + ifeq ($(GLFW_LINUX_ENABLE_X11),TRUE) LDLIBS += -lX11 endif # TODO: On ARM 32bit arch, miniaudio requires atomics library diff --git a/src/external/glfw/README.md b/src/external/glfw/README.md index efd1383f8..c5501ffa0 100644 --- a/src/external/glfw/README.md +++ b/src/external/glfw/README.md @@ -1,458 +1,18 @@ -# GLFW +# GLFW (modified for raylib) -[![Build status](https://github.com/glfw/glfw/actions/workflows/build.yml/badge.svg)](https://github.com/glfw/glfw/actions) -[![Build status](https://ci.appveyor.com/api/projects/status/0kf0ct9831i5l6sp/branch/master?svg=true)](https://ci.appveyor.com/project/elmindreda/glfw) +This directory contains a modification of GLFW, whose official website and +upstream repository are https://glfw.org and https://github.com/glfw/glfw, +respectively. -## Introduction +In this modification, some static functions sharing the same name in different +platforms have been renamed so all of GLFW's source files can be combined into +one (as done by ``rglfw.c``). Also, the Null platform, which is not used by +raylib, has been disabled. The renamed functions are: -GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan -application development. It provides a simple, platform-independent API for -creating windows, contexts and surfaces, reading input, handling events, etc. - -GLFW natively supports Windows, macOS and Linux and other Unix-like systems. On -Linux both Wayland and X11 are supported. - -GLFW is licensed under the [zlib/libpng -license](https://www.glfw.org/license.html). - -You can [download](https://www.glfw.org/download.html) the latest stable release -as source or Windows binaries. Each release starting with 3.0 also has -a corresponding [annotated tag](https://github.com/glfw/glfw/releases) with -source and binary archives. - -The [documentation](https://www.glfw.org/docs/latest/) is available online and is -included in all source and binary archives. See the [release -notes](https://www.glfw.org/docs/latest/news.html) for new features, caveats and -deprecations in the latest release. For more details see the [version -history](https://www.glfw.org/changelog.html). - -The `master` branch is the stable integration branch and _should_ always compile -and run on all supported platforms, although details of newly added features may -change until they have been included in a release. New features and many bug -fixes live in [other branches](https://github.com/glfw/glfw/branches/all) until -they are stable enough to merge. - -If you are new to GLFW, you may find the -[tutorial](https://www.glfw.org/docs/latest/quick.html) for GLFW 3 useful. If -you have used GLFW 2 in the past, there is a [transition -guide](https://www.glfw.org/docs/latest/moving.html) for moving to the GLFW -3 API. - -GLFW exists because of the contributions of [many people](CONTRIBUTORS.md) -around the world, whether by reporting bugs, providing community support, adding -features, reviewing or testing code, debugging, proofreading docs, suggesting -features or fixing bugs. - - -## Compiling GLFW - -GLFW is written primarily in C99, with parts of macOS support being written in -Objective-C. GLFW itself requires only the headers and libraries for your OS -and window system. It does not need any additional headers for context creation -APIs (WGL, GLX, EGL, NSGL, OSMesa) or rendering APIs (OpenGL, OpenGL ES, Vulkan) -to enable support for them. - -GLFW supports compilation on Windows with Visual C++ 2013 and later, MinGW and -MinGW-w64, on macOS with Clang and on Linux and other Unix-like systems with GCC -and Clang. It will likely compile in other environments as well, but this is -not regularly tested. - -There are [pre-compiled binaries](https://www.glfw.org/download.html) available -for all supported compilers on Windows and macOS. - -See the [compilation guide](https://www.glfw.org/docs/latest/compile.html) for -more information about how to compile GLFW yourself. - - -## Using GLFW - -See the [documentation](https://www.glfw.org/docs/latest/) for tutorials, guides -and the API reference. - - -## Contributing to GLFW - -See the [contribution -guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for -more information. - - -## System requirements - -GLFW supports Windows XP and later and macOS 10.8 and later. Linux and other -Unix-like systems running the X Window System are supported even without -a desktop environment or modern extensions, although some features require -a running window or clipboard manager. The OSMesa backend requires Mesa 6.3. - -See the [compatibility guide](https://www.glfw.org/docs/latest/compat.html) -in the documentation for more information. - - -## Dependencies - -GLFW itself needs only CMake 3.1 or later and the headers and libraries for your -OS and window system. - -The examples and test programs depend on a number of tiny libraries. These are -located in the `deps/` directory. - - - [getopt\_port](https://github.com/kimgr/getopt_port/) for examples - with command-line options - - [TinyCThread](https://github.com/tinycthread/tinycthread) for threaded - examples - - [glad2](https://github.com/Dav1dde/glad) for loading OpenGL and Vulkan - functions - - [linmath.h](https://github.com/datenwolf/linmath.h) for linear algebra in - examples - - [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) for test and example UI - - [stb\_image\_write](https://github.com/nothings/stb) for writing images to disk - -The documentation is generated with [Doxygen](https://doxygen.org/) if CMake can -find that tool. - - -## Reporting bugs - -Bugs are reported to our [issue tracker](https://github.com/glfw/glfw/issues). -Please check the [contribution -guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for -information on what to include when reporting a bug. - - -## Changelog since 3.3.10 - - - Added `GLFW_PLATFORM` init hint for runtime platform selection (#1958) - - Added `GLFW_ANY_PLATFORM`, `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`, - `GLFW_PLATFORM_WAYLAND`, `GLFW_PLATFORM_X11` and `GLFW_PLATFORM_NULL` symbols to - specify the desired platform (#1958) - - Added `glfwGetPlatform` function to query what platform was selected (#1655,#1958) - - Added `glfwPlatformSupported` function to query if a platform is supported - (#1655,#1958) - - Added `glfwInitAllocator` for setting a custom memory allocator (#544,#1628,#1947) - - Added `GLFWallocator` struct and `GLFWallocatefun`, `GLFWreallocatefun` and - `GLFWdeallocatefun` types (#544,#1628,#1947) - - Added `glfwGetWindowTitle` function for querying window title (#1448,#1909,#2482) - - Added `glfwInitVulkanLoader` for using a non-default Vulkan loader (#1374,#1890) - - Added `GLFW_RESIZE_NWSE_CURSOR`, `GLFW_RESIZE_NESW_CURSOR`, - `GLFW_RESIZE_ALL_CURSOR` and `GLFW_NOT_ALLOWED_CURSOR` cursor shapes (#427) - - Added `GLFW_RESIZE_EW_CURSOR` alias for `GLFW_HRESIZE_CURSOR` (#427) - - Added `GLFW_RESIZE_NS_CURSOR` alias for `GLFW_VRESIZE_CURSOR` (#427) - - Added `GLFW_POINTING_HAND_CURSOR` alias for `GLFW_HAND_CURSOR` (#427) - - Added `GLFW_MOUSE_PASSTHROUGH` window hint for letting mouse input pass - through the window (#1236,#1568) - - Added `GLFW_CURSOR_CAPTURED` cursor mode to confine the cursor to the window - content area (#58) - - Added `GLFW_POSITION_X` and `GLFW_POSITION_Y` window hints for initial position - (#1603,#1747) - - Added `GLFW_SCALE_FRAMEBUFFER` window hint for Wayland and macOS scaling (#2457) - - Added `GLFW_ANY_POSITION` hint value for letting the window manager choose (#1603,#1747) - - Added `GLFW_PLATFORM_UNAVAILABLE` error for platform detection failures (#1958) - - Added `GLFW_FEATURE_UNAVAILABLE` error for platform limitations (#1692) - - Added `GLFW_FEATURE_UNIMPLEMENTED` error for incomplete backends (#1692) - - Added `GLFW_WAYLAND_APP_ID` window hint string for Wayland app\_id selection - (#2121,#2122) - - Added `GLFW_ANGLE_PLATFORM_TYPE` init hint and `GLFW_ANGLE_PLATFORM_TYPE_*` - values to select ANGLE backend (#1380) - - Added `GLFW_X11_XCB_VULKAN_SURFACE` init hint for selecting X11 Vulkan - surface extension (#1793) - - Added `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access to the window menu - - Added `GLFW_WIN32_SHOWDEFAULT` window hint for applying the parent process - show command (#2359) - - Added `GLFW_NATIVE_INCLUDE_NONE` for disabling inclusion of native headers (#1348) - - Added `GLFW_BUILD_WIN32` CMake option for enabling Win32 support (#1958) - - Added `GLFW_BUILD_COCOA` CMake option for enabling Cocoa support (#1958) - - Added `GLFW_BUILD_X11` CMake option for enabling X11 support (#1958) - - Added `GLFW_LIBRARY_TYPE` CMake variable for overriding the library type - (#279,#1307,#1497,#1574,#1928) - - Added support for `XDG_SESSION_TYPE` environment variable - - Added `GLFW_PKG_CONFIG_REQUIRES_PRIVATE` and `GLFW_PKG_CONFIG_LIBS_PRIVATE` CMake - variables exposing pkg-config dependencies (#1307) - - Made joystick subsystem initialize at first use (#1284,#1646) - - Made `GLFW_DOUBLEBUFFER` a read-only window attribute - - Made Wayland the preferred platform over X11 if both are available (#2035) - - Updated the minimum required CMake version to 3.4 - - Updated gamepad mappings from upstream - - Renamed `GLFW_USE_WAYLAND` CMake option to `GLFW_BUILD_WAYLAND` (#1958) - - Disabled tests and examples by default when built as a CMake subdirectory - - Removed `GLFW_USE_OSMESA` CMake option enabling the Null platform (#1958) - - Removed CMake generated configuration header - - Bugfix: `glfwGetVideoMode` returned an invalid mode on error (#1292) - - [Win32] Added a version info resource to the GLFW DLL - - [Win32] Made hidden helper window use its own window class - - [Win32] Bugfix: The foreground lock timeout was overridden, ignoring the user - - [Cocoa] Added `glfwGetCocoaView` native access function (#2235) - - [Cocoa] Moved main menu creation to GLFW initialization time (#1649) - - [Cocoa] Bugfix: Touching event queue from secondary thread before main thread - would abort (#1649) - - [Wayland] Added support for `glfwRequestWindowAttention` (#2287) - - [Wayland] Added support for `glfwFocusWindow` - - [Wayland] Added support for `GLFW_RESIZABLE` (#2203) - - [Wayland] Added support for fractional scaling of window contents - - [Wayland] Added dynamic loading of all Wayland libraries - - [Wayland] Bugfix: `CLOCK_MONOTONIC` was not correctly enabled - - [Wayland] Bugfix: `GLFW_HOVERED` was true when the cursor was over any - fallback window decoration - - [Wayland] Bugfix: Fallback decorations allowed resizing to invalid size - (#2204) - - [X11] Bugfix: Termination would segfault if the IM had been destroyed - - [X11] Bugfix: Any IM started after initialization would not be detected - - [Linux] Bugfix: Joystick evdev fds remained open in forks (#2446) - - [POSIX] Removed use of deprecated function `gettimeofday` - - [POSIX] Bugfix: `CLOCK_MONOTONIC` was not correctly tested for or enabled - - [WGL] Disabled the DWM swap interval hack for Windows 8 and later (#1072) - - [NSGL] Removed enforcement of forward-compatible flag for core contexts - - [NSGL] Bugfix: A core profile OpenGL context was returned if 3.2+ - compatibility profile was requested - - [EGL] Added platform selection via the `EGL_EXT_platform_base` extension - (#442) - - [EGL] Added ANGLE backend selection via `EGL_ANGLE_platform_angle` extension - (#1380) - - -## Changelog since 3.3 - - - Added `GLFW_WAYLAND_LIBDECOR` init hint for disabling libdecor support (#1639,#1693) - - Bugfix: The CMake config-file package used an absolute path and was not - relocatable (#1470) - - Bugfix: Video modes with a duplicate screen area were discarded (#1555,#1556) - - Bugfix: Compiling with -Wextra-semi caused warnings (#1440) - - Bugfix: Built-in mappings failed because some OEMs re-used VID/PID (#1583) - - Bugfix: Some extension loader headers did not prevent default OpenGL header - inclusion (#1695) - - Bugfix: Buffers were swapped at creation on single-buffered windows (#1873) - - Bugfix: Gamepad mapping updates could spam `GLFW_INVALID_VALUE` due to - incompatible controllers sharing hardware ID (#1763) - - Bugfix: Native access functions for context handles did not check that the API matched - - Bugfix: `glfwMakeContextCurrent` would access TLS slot before initialization - - Bugfix: `glfwSetGammaRamp` could emit `GLFW_INVALID_VALUE` before initialization - - Bugfix: `glfwGetJoystickUserPointer` returned `NULL` during disconnection (#2092) - - Bugfix: `glfwGetKeyScancode` returned `0` on error when initialized instead of `-1` - - Bugfix: Failure to make a newly created context current could cause segfault (#2327) - - [Win32] Disabled framebuffer transparency on Windows 7 when DWM windows are - opaque (#1512) - - [Win32] Bugfix: `GLFW_INCLUDE_VULKAN` plus `VK_USE_PLATFORM_WIN32_KHR` caused - symbol redefinition (#1524) - - [Win32] Bugfix: The cursor position event was emitted before its cursor enter - event (#1490) - - [Win32] Bugfix: The window hint `GLFW_MAXIMIZED` did not move or resize the - window (#1499) - - [Win32] Bugfix: Disabled cursor mode interfered with some non-client actions - - [Win32] Bugfix: Super key was not released after Win+V hotkey (#1622) - - [Win32] Bugfix: `glfwGetKeyName` could access out of bounds and return an - invalid pointer - - [Win32] Bugfix: Some synthetic key events were reported as `GLFW_KEY_UNKNOWN` - (#1623) - - [Win32] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16 - - [Win32] Bugfix: Monitor functions could return invalid values after - configuration change (#1761) - - [Win32] Bugfix: Initialization would segfault on Windows 8 (not 8.1) (#1775) - - [Win32] Bugfix: Duplicate size events were not filtered (#1610) - - [Win32] Bugfix: Full screen windows were incorrectly resized by DPI changes - (#1582) - - [Win32] Bugfix: `GLFW_SCALE_TO_MONITOR` had no effect on systems older than - Windows 10 version 1703 (#1511) - - [Win32] Bugfix: `USE_MSVC_RUNTIME_LIBRARY_DLL` had no effect on CMake 3.15 or - later (#1783,#1796) - - [Win32] Bugfix: Compilation with LLVM for Windows failed (#1807,#1824,#1874) - - [Win32] Bugfix: Content scale queries could fail silently (#1615) - - [Win32] Bugfix: Content scales could have garbage values if monitor was recently - disconnected (#1615) - - [Win32] Bugfix: A window created maximized and undecorated would cover the whole - monitor (#1806) - - [Win32] Bugfix: The default restored window position was lost when creating a maximized - window - - [Win32] Bugfix: `glfwMaximizeWindow` would make a hidden window visible - - [Win32] Bugfix: `Alt+PrtSc` would emit `GLFW_KEY_UNKNOWN` and a different - scancode than `PrtSc` (#1993) - - [Win32] Bugfix: `GLFW_KEY_PAUSE` scancode from `glfwGetKeyScancode` did not - match event scancode (#1993) - - [Win32] Bugfix: Instance-local operations used executable instance (#469,#1296,#1395) - - [Win32] Bugfix: The OSMesa library was not unloaded on termination - - [Win32] Bugfix: Right shift emitted `GLFW_KEY_UNKNOWN` when using a CJK IME (#2050) - - [Win32] Bugfix: `glfwWaitEventsTimeout` did not return for some sent messages (#2408) - - [Win32] Bugfix: Fix pkg-config for dynamic library on Windows (#2386, #2420) - - [Win32] Bugfix: XInput could reportedly provide invalid DPad bit masks (#2291) - - [Win32] Bugfix: Rapid clipboard calls could fail due to Clipboard History - - [Win32] Bugfix: Disabled cursor mode doesn't work right when connected over RDP (#1276,#1279,#2431) - - [Cocoa] Added support for `VK_EXT_metal_surface` (#1619) - - [Cocoa] Added locating the Vulkan loader at runtime in an application bundle - - [Cocoa] Changed `EGLNativeWindowType` from `NSView` to `CALayer` (#1169) - - [Cocoa] Changed F13 key to report Print Screen for cross-platform consistency - (#1786) - - [Cocoa] Disabled macOS fullscreen when `GLFW_RESIZABLE` is false - - [Cocoa] Removed dependency on the CoreVideo framework - - [Cocoa] Bugfix: `glfwSetWindowSize` used a bottom-left anchor point (#1553) - - [Cocoa] Bugfix: Window remained on screen after destruction until event poll - (#1412) - - [Cocoa] Bugfix: Event processing before window creation would assert (#1543) - - [Cocoa] Bugfix: Undecorated windows could not be iconified on recent macOS - - [Cocoa] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16 - (#1635) - - [Cocoa] Bugfix: Failing to retrieve the refresh rate of built-in displays - could leak memory - - [Cocoa] Bugfix: Objective-C files were compiled as C with CMake 3.19 (#1787) - - [Cocoa] Bugfix: Duplicate video modes were not filtered out (#1830) - - [Cocoa] Bugfix: Menu bar was not clickable on macOS 10.15+ until it lost and - regained focus (#1648,#1802) - - [Cocoa] Bugfix: Monitor name query could segfault on macOS 11 (#1809,#1833) - - [Cocoa] Bugfix: The install name of the installed dylib was relative (#1504) - - [Cocoa] Bugfix: The MoltenVK layer contents scale was updated only after - related events were emitted - - [Cocoa] Bugfix: Moving the cursor programmatically would freeze it for - a fraction of a second (#1962) - - [Cocoa] Bugfix: `kIOMasterPortDefault` was deprecated in macOS 12.0 (#1980) - - [Cocoa] Bugfix: `kUTTypeURL` was deprecated in macOS 12.0 (#2003) - - [Cocoa] Bugfix: A connected Apple AirPlay would emit a useless error (#1791) - - [Cocoa] Bugfix: The EGL and OSMesa libraries were not unloaded on termination - - [Cocoa] Bugfix: `GLFW_MAXIMIZED` was always true when `GLFW_RESIZABLE` was false - - [Cocoa] Bugfix: Changing `GLFW_DECORATED` in macOS fullscreen would abort - application (#1886) - - [Cocoa] Bugfix: Setting a monitor from macOS fullscreen would abort - application (#2110) - - [Cocoa] Bugfix: The Vulkan loader was not loaded from the `Frameworks` bundle - subdirectory (#2113,#2120) - - [Cocoa] Bugfix: Compilation failed on OS X 10.8 due to unconditional use of 10.9+ - symbols (#2161) - - [Cocoa] Bugfix: Querying joystick elements could reportedly segfault on macOS - 13 Ventura (#2320) - - [X11] Bugfix: The CMake files did not check for the XInput headers (#1480) - - [X11] Bugfix: Key names were not updated when the keyboard layout changed - (#1462,#1528) - - [X11] Bugfix: Decorations could not be enabled after window creation (#1566) - - [X11] Bugfix: Content scale fallback value could be inconsistent (#1578) - - [X11] Bugfix: `glfwMaximizeWindow` had no effect on hidden windows - - [X11] Bugfix: Clearing `GLFW_FLOATING` on a hidden window caused invalid read - - [X11] Bugfix: Changing `GLFW_FLOATING` on a hidden window could silently fail - - [X11] Bugfix: Disabled cursor mode was interrupted by indicator windows - - [X11] Bugfix: Monitor physical dimensions could be reported as zero mm - - [X11] Bugfix: Window position events were not emitted during resizing (#1613) - - [X11] Bugfix: `glfwFocusWindow` could terminate on older WMs or without a WM - - [X11] Bugfix: Querying a disconnected monitor could segfault (#1602) - - [X11] Bugfix: IME input of CJK was broken for "C" locale (#1587,#1636) - - [X11] Bugfix: Xlib errors caused by other parts of the application could be - reported as GLFW errors - - [X11] Bugfix: A handle race condition could cause a `BadWindow` error (#1633) - - [X11] Bugfix: XKB path used keysyms instead of physical locations for - non-printable keys (#1598) - - [X11] Bugfix: Function keys were mapped to `GLFW_KEY_UNKNOWN` for some layout - combinations (#1598) - - [X11] Bugfix: Keys pressed simultaneously with others were not always - reported (#1112,#1415,#1472,#1616) - - [X11] Bugfix: Some window attributes were not applied on leaving fullscreen - (#1863) - - [X11] Bugfix: Changing `GLFW_FLOATING` could leak memory - - [X11] Bugfix: Icon pixel format conversion worked only by accident, relying on - undefined behavior (#1986) - - [X11] Bugfix: Dynamic loading on OpenBSD failed due to soname differences - - [X11] Bugfix: Waiting for events would fail if file descriptor was too large - (#2024) - - [X11] Bugfix: Joystick events could lead to busy-waiting (#1872) - - [X11] Bugfix: `glfwWaitEvents*` did not continue for joystick events - - [X11] Bugfix: `glfwPostEmptyEvent` could be ignored due to race condition - (#379,#1281,#1285,#2033) - - [X11] Bugfix: Dynamic loading on NetBSD failed due to soname differences - - [X11] Bugfix: Left shift of int constant relied on undefined behavior (#1951) - - [X11] Bugfix: The OSMesa libray was not unloaded on termination - - [X11] Bugfix: A malformed response during selection transfer could cause a segfault - - [X11] Bugfix: Some calls would reset Xlib to the default error handler (#2108) - - [Wayland] Added improved fallback window decorations via libdecor (#1639,#1693) - - [Wayland] Added support for key names via xkbcommon - - [Wayland] Added support for file path drop events (#2040) - - [Wayland] Added support for more human-readable monitor names where available - - [Wayland] Disabled alpha channel for opaque windows on systems lacking - `EGL_EXT_present_opaque` (#1895) - - [Wayland] Removed support for `wl_shell` (#1443) - - [Wayland] Bugfix: The `GLFW_HAND_CURSOR` shape used the wrong image (#1432) - - [Wayland] Bugfix: Repeated keys could be reported with `NULL` window (#1704) - - [Wayland] Bugfix: Retrieving partial framebuffer size would segfault - - [Wayland] Bugfix: Scrolling offsets were inverted compared to other platforms - (#1463) - - [Wayland] Bugfix: Client-Side Decorations were destroyed in the wrong order - (#1798) - - [Wayland] Bugfix: Monitors physical size could report zero (#1784,#1792) - - [Wayland] Bugfix: Some keys were not repeating in Wayland (#1908) - - [Wayland] Bugfix: Non-arrow cursors are offset from the hotspot (#1706,#1899) - - [Wayland] Bugfix: The `O_CLOEXEC` flag was not defined on FreeBSD - - [Wayland] Bugfix: Key repeat could lead to a race condition (#1710) - - [Wayland] Bugfix: Activating a window would emit two input focus events - - [Wayland] Bugfix: Disable key repeat mechanism when window loses input focus - - [Wayland] Bugfix: Window hiding and showing did not work (#1492,#1731) - - [Wayland] Bugfix: A key being repeated was not released when window lost focus - - [Wayland] Bugfix: Showing a hidden window did not emit a window refresh event - - [Wayland] Bugfix: Full screen window creation did not ignore `GLFW_VISIBLE` - - [Wayland] Bugfix: Some keys were reported as wrong key or `GLFW_KEY_UNKNOWN` - - [Wayland] Bugfix: Text input did not repeat along with key repeat - - [Wayland] Bugfix: `glfwPostEmptyEvent` sometimes had no effect (#1520,#1521) - - [Wayland] Bugfix: `glfwSetClipboardString` would fail if set to result of - `glfwGetClipboardString` - - [Wayland] Bugfix: Data source creation error would cause double free at termination - - [Wayland] Bugfix: Partial writes of clipboard string would cause beginning to repeat - - [Wayland] Bugfix: Some errors would cause clipboard string transfer to hang - - [Wayland] Bugfix: Drag and drop data was misinterpreted as clipboard string - - [Wayland] Bugfix: MIME type matching was not performed for clipboard string - - [Wayland] Bugfix: The OSMesa library was not unloaded on termination - - [Wayland] Bugfix: `glfwCreateWindow` could emit `GLFW_FEATURE_UNAVAILABLE` - - [Wayland] Bugfix: Lock key modifier bits were only set when lock keys were pressed - - [Wayland] Bugfix: A window leaving full screen mode would be iconified (#1995) - - [Wayland] Bugfix: A window leaving full screen mode ignored its desired size - - [Wayland] Bugfix: `glfwSetWindowMonitor` did not update windowed mode size - - [Wayland] Bugfix: `glfwRestoreWindow` would make a full screen window windowed - - [Wayland] Bugfix: A window maximized or restored by the user would enter an - inconsistent state - - [Wayland] Bugfix: Window maximization events were not emitted - - [Wayland] Bugfix: `glfwRestoreWindow` assumed it was always in windowed mode - - [Wayland] Bugfix: `glfwSetWindowSize` would resize a full screen window - - [Wayland] Bugfix: A window content scale event would be emitted every time - the window resized - - [Wayland] Bugfix: If `glfwInit` failed it would close stdin - - [Wayland] Bugfix: Manual resizing with fallback decorations behaved erratically - (#1991,#2115,#2127) - - [Wayland] Bugfix: Size limits included frame size for fallback decorations - - [Wayland] Bugfix: Updating `GLFW_DECORATED` had no effect on server-side - decorations - - [Wayland] Bugfix: A monitor would be reported as connected again if its scale - changed - - [Wayland] Bugfix: `glfwTerminate` would segfault if any monitor had changed - scale - - [Wayland] Bugfix: Window content scale events were not emitted when monitor - scale changed - - [Wayland] Bugfix: `glfwSetWindowAspectRatio` reported an error instead of - applying the specified ratio - - [Wayland] Bugfix: `GLFW_MAXIMIZED` window hint had no effect - - [Wayland] Bugfix: `glfwRestoreWindow` had no effect before first show - - [Wayland] Bugfix: Hiding and then showing a window caused program abort on - wlroots compositors (#1268) - - [Wayland] Bugfix: `GLFW_DECORATED` was ignored when showing a window with XDG - decorations - - [Wayland] Bugfix: Connecting a mouse after `glfwInit` would segfault (#1450) - - [Wayland] Bugfix: Joysticks connected after `glfwInit` were not detected (#2198) - - [Wayland] Bugfix: Fallback decorations emitted `GLFW_CURSOR_UNAVAILABLE` errors - - [Linux] Bugfix: Joysticks without buttons were ignored (#2042,#2043) - - [Linux] Bugfix: A small amount of memory could leak if initialization failed (#2229) - - [NSGL] Bugfix: `GLFW_COCOA_RETINA_FRAMEBUFFER` had no effect on newer - macOS versions (#1442) - - [NSGL] Bugfix: Workaround for swap interval on 10.14 broke on 10.12 (#1483) - - [NSGL] Bugfix: Defining `GL_SILENCE_DEPRECATION` externally caused - a duplicate definition warning (#1840) - - [EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL - - [EGL] Bugfix: The `GLFW_DOUBLEBUFFER` context attribute was ignored (#1843) - - [EGL] Bugfix: Setting `GLFW_CONTEXT_DEBUG` caused creation to fail (#2348) - - [GLX] Added loading of glvnd `libGLX.so.0` where available - - [GLX] Bugfix: Context creation failed if GLX 1.4 was not exported by GLX library - - -## Contact - -On [glfw.org](https://www.glfw.org/) you can find the latest version of GLFW, as -well as news, documentation and other information about the project. - -If you have questions related to the use of GLFW, we have a -[forum](https://discourse.glfw.org/). - -If you have a bug to report, a patch to submit or a feature you'd like to -request, please file it in the -[issue tracker](https://github.com/glfw/glfw/issues) on GitHub. - -Finally, if you're interested in helping out with the development of GLFW or -porting it to your favorite platform, join us on the forum or GitHub. +`` +createKeyTables() +translateKey() +acquireMonitor() +releaseMonitor() +`` diff --git a/src/external/glfw/src/cocoa_init.m b/src/external/glfw/src/cocoa_init.m index e75a55190..f34d985eb 100644 --- a/src/external/glfw/src/cocoa_init.m +++ b/src/external/glfw/src/cocoa_init.m @@ -1,7 +1,8 @@ //======================================================================== -// GLFW 3.4 macOS - www.glfw.org +// GLFW 3.4 macOS (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2009-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -175,7 +176,7 @@ static void createMenuBar(void) // Create key code translation tables // -static void createKeyTables(void) +static void createKeyTablesCocoa(void) { memset(_glfw.ns.keycodes, -1, sizeof(_glfw.ns.keycodes)); memset(_glfw.ns.scancodes, -1, sizeof(_glfw.ns.scancodes)); @@ -618,7 +619,7 @@ int _glfwInitCocoa(void) name:NSTextInputContextKeyboardSelectionDidChangeNotification object:nil]; - createKeyTables(); + createKeyTablesCocoa(); _glfw.ns.eventSource = CGEventSourceCreate(kCGEventSourceStateHIDSystemState); if (!_glfw.ns.eventSource) diff --git a/src/external/glfw/src/cocoa_monitor.m b/src/external/glfw/src/cocoa_monitor.m index 641d5f0b8..a2bcc2f49 100644 --- a/src/external/glfw/src/cocoa_monitor.m +++ b/src/external/glfw/src/cocoa_monitor.m @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 macOS - www.glfw.org +// GLFW 3.4 macOS (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages diff --git a/src/external/glfw/src/cocoa_window.m b/src/external/glfw/src/cocoa_window.m index 0dcf0a38d..949cace8d 100644 --- a/src/external/glfw/src/cocoa_window.m +++ b/src/external/glfw/src/cocoa_window.m @@ -111,7 +111,7 @@ static void updateCursorMode(_GLFWwindow* window) // Make the specified window and its video mode active on its monitor // -static void acquireMonitor(_GLFWwindow* window) +static void acquireMonitorCocoa(_GLFWwindow* window) { _glfwSetVideoModeCocoa(window->monitor, &window->videoMode); const CGRect bounds = CGDisplayBounds(window->monitor->ns.displayID); @@ -127,7 +127,7 @@ static void acquireMonitor(_GLFWwindow* window) // Remove the window and restore the original video mode // -static void releaseMonitor(_GLFWwindow* window) +static void releaseMonitorCocoa(_GLFWwindow* window) { if (window->monitor->window != window) return; @@ -158,7 +158,7 @@ static int translateFlags(NSUInteger flags) // Translates a macOS keycode to a GLFW keycode // -static int translateKey(unsigned int key) +static int translateKeyCocoa(unsigned int key) { if (key >= sizeof(_glfw.ns.keycodes) / sizeof(_glfw.ns.keycodes[0])) return GLFW_KEY_UNKNOWN; @@ -277,7 +277,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; - (void)windowDidMiniaturize:(NSNotification *)notification { if (window->monitor) - releaseMonitor(window); + releaseMonitorCocoa(window); _glfwInputWindowIconify(window, GLFW_TRUE); } @@ -285,7 +285,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; - (void)windowDidDeminiaturize:(NSNotification *)notification { if (window->monitor) - acquireMonitor(window); + acquireMonitorCocoa(window); _glfwInputWindowIconify(window, GLFW_FALSE); } @@ -561,7 +561,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; - (void)keyDown:(NSEvent *)event { - const int key = translateKey([event keyCode]); + const int key = translateKeyCocoa([event keyCode]); const int mods = translateFlags([event modifierFlags]); _glfwInputKey(window, key, [event keyCode], GLFW_PRESS, mods); @@ -574,7 +574,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; int action; const unsigned int modifierFlags = [event modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask; - const int key = translateKey([event keyCode]); + const int key = translateKeyCocoa([event keyCode]); const int mods = translateFlags(modifierFlags); const NSUInteger keyFlag = translateKeyToModifierFlag(key); @@ -593,7 +593,7 @@ static const NSRange kEmptyRange = { NSNotFound, 0 }; - (void)keyUp:(NSEvent *)event { - const int key = translateKey([event keyCode]); + const int key = translateKeyCocoa([event keyCode]); const int mods = translateFlags([event modifierFlags]); _glfwInputKey(window, key, [event keyCode], GLFW_RELEASE, mods); } @@ -966,7 +966,7 @@ GLFWbool _glfwCreateWindowCocoa(_GLFWwindow* window, { _glfwShowWindowCocoa(window); _glfwFocusWindowCocoa(window); - acquireMonitor(window); + acquireMonitorCocoa(window); if (wndconfig->centerCursor) _glfwCenterCursorInContentArea(window); @@ -996,7 +996,7 @@ void _glfwDestroyWindowCocoa(_GLFWwindow* window) [window->ns.object orderOut:nil]; if (window->monitor) - releaseMonitor(window); + releaseMonitorCocoa(window); if (window->context.destroy) window->context.destroy(window); @@ -1083,7 +1083,7 @@ void _glfwSetWindowSizeCocoa(_GLFWwindow* window, int width, int height) if (window->monitor) { if (window->monitor->window == window) - acquireMonitor(window); + acquireMonitorCocoa(window); } else { @@ -1252,7 +1252,7 @@ void _glfwSetWindowMonitorCocoa(_GLFWwindow* window, if (monitor) { if (monitor->window == window) - acquireMonitor(window); + acquireMonitorCocoa(window); } else { @@ -1270,7 +1270,7 @@ void _glfwSetWindowMonitorCocoa(_GLFWwindow* window, } if (window->monitor) - releaseMonitor(window); + releaseMonitorCocoa(window); _glfwInputWindowMonitor(window, monitor); @@ -1308,7 +1308,7 @@ void _glfwSetWindowMonitorCocoa(_GLFWwindow* window, [window->ns.object setLevel:NSMainMenuWindowLevel + 1]; [window->ns.object setHasShadow:NO]; - acquireMonitor(window); + acquireMonitorCocoa(window); } else { diff --git a/src/external/glfw/src/null_window.c b/src/external/glfw/src/null_window.c index 1db08114f..cd23ae0bb 100644 --- a/src/external/glfw/src/null_window.c +++ b/src/external/glfw/src/null_window.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 - www.glfw.org +// GLFW 3.4 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2016 Google Inc. // Copyright (c) 2016-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -59,12 +60,12 @@ static void fitToMonitor(_GLFWwindow* window) window->null.height = mode.height; } -static void acquireMonitor(_GLFWwindow* window) +static void acquireMonitorNull(_GLFWwindow* window) { _glfwInputMonitorWindow(window->monitor, window); } -static void releaseMonitor(_GLFWwindow* window) +static void releaseMonitorNull(_GLFWwindow* window) { if (window->monitor->window != window) return; @@ -147,7 +148,7 @@ GLFWbool _glfwCreateWindowNull(_GLFWwindow* window, { _glfwShowWindowNull(window); _glfwFocusWindowNull(window); - acquireMonitor(window); + acquireMonitorNull(window); if (wndconfig->centerCursor) _glfwCenterCursorInContentArea(window); @@ -168,7 +169,7 @@ GLFWbool _glfwCreateWindowNull(_GLFWwindow* window, void _glfwDestroyWindowNull(_GLFWwindow* window) { if (window->monitor) - releaseMonitor(window); + releaseMonitorNull(window); if (_glfw.null.focusedWindow == window) _glfw.null.focusedWindow = NULL; @@ -203,14 +204,14 @@ void _glfwSetWindowMonitorNull(_GLFWwindow* window, } if (window->monitor) - releaseMonitor(window); + releaseMonitorNull(window); _glfwInputWindowMonitor(window, monitor); if (window->monitor) { window->null.visible = GLFW_TRUE; - acquireMonitor(window); + acquireMonitorNull(window); fitToMonitor(window); } else @@ -340,7 +341,7 @@ void _glfwIconifyWindowNull(_GLFWwindow* window) _glfwInputWindowIconify(window, GLFW_TRUE); if (window->monitor) - releaseMonitor(window); + releaseMonitorNull(window); } } @@ -352,7 +353,7 @@ void _glfwRestoreWindowNull(_GLFWwindow* window) _glfwInputWindowIconify(window, GLFW_FALSE); if (window->monitor) - acquireMonitor(window); + acquireMonitorNull(window); } else if (window->null.maximized) { diff --git a/src/external/glfw/src/platform.c b/src/external/glfw/src/platform.c index af1b0f446..c4b0a36e4 100644 --- a/src/external/glfw/src/platform.c +++ b/src/external/glfw/src/platform.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 - www.glfw.org +// GLFW 3.4 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2018 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -74,15 +75,6 @@ GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform) return GLFW_FALSE; } - // Only allow the Null platform if specifically requested - if (desiredID == GLFW_PLATFORM_NULL) - return _glfwConnectNull(desiredID, platform); - else if (count == 0) - { - _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "This binary only supports the Null platform"); - return GLFW_FALSE; - } - #if defined(_GLFW_WAYLAND) && defined(_GLFW_X11) if (desiredID == GLFW_ANY_PLATFORM) { diff --git a/src/external/glfw/src/win32_init.c b/src/external/glfw/src/win32_init.c index 824e383ce..d86e35e32 100644 --- a/src/external/glfw/src/win32_init.c +++ b/src/external/glfw/src/win32_init.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 Win32 - www.glfw.org +// GLFW 3.4 Win32 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -195,7 +196,7 @@ static void freeLibraries(void) // Create key code translation tables // -static void createKeyTables(void) +static void createKeyTablesWin32(void) { int scancode; @@ -685,7 +686,7 @@ int _glfwInitWin32(void) if (!loadLibraries()) return GLFW_FALSE; - createKeyTables(); + createKeyTablesWin32(); _glfwUpdateKeyNamesWin32(); if (_glfwIsWindows10Version1703OrGreaterWin32()) diff --git a/src/external/glfw/src/win32_window.c b/src/external/glfw/src/win32_window.c index e6a9496cd..3762b7699 100644 --- a/src/external/glfw/src/win32_window.c +++ b/src/external/glfw/src/win32_window.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 Win32 - www.glfw.org +// GLFW 3.4 Win32 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -439,7 +440,7 @@ static void fitToMonitor(_GLFWwindow* window) // Make the specified window and its video mode active on its monitor // -static void acquireMonitor(_GLFWwindow* window) +static void acquireMonitorWin32(_GLFWwindow* window) { if (!_glfw.win32.acquiredMonitorCount) { @@ -460,7 +461,7 @@ static void acquireMonitor(_GLFWwindow* window) // Remove the window and restore the original video mode // -static void releaseMonitor(_GLFWwindow* window) +static void releaseMonitorWin32(_GLFWwindow* window) { if (window->monitor->window != window) return; @@ -470,7 +471,7 @@ static void releaseMonitor(_GLFWwindow* window) { SetThreadExecutionState(ES_CONTINUOUS); - // HACK: Restore mouse trail length saved in acquireMonitor + // HACK: Restore mouse trail length saved in acquireMonitorWin32 SystemParametersInfoW(SPI_SETMOUSETRAILS, _glfw.win32.mouseTrailSize, 0, 0); } @@ -1050,10 +1051,10 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM l if (window->monitor && window->win32.iconified != iconified) { if (iconified) - releaseMonitor(window); + releaseMonitorWin32(window); else { - acquireMonitor(window); + acquireMonitorWin32(window); fitToMonitor(window); } } @@ -1534,7 +1535,7 @@ GLFWbool _glfwCreateWindowWin32(_GLFWwindow* window, { _glfwShowWindowWin32(window); _glfwFocusWindowWin32(window); - acquireMonitor(window); + acquireMonitorWin32(window); fitToMonitor(window); if (wndconfig->centerCursor) @@ -1556,7 +1557,7 @@ GLFWbool _glfwCreateWindowWin32(_GLFWwindow* window, void _glfwDestroyWindowWin32(_GLFWwindow* window) { if (window->monitor) - releaseMonitor(window); + releaseMonitorWin32(window); if (window->context.destroy) window->context.destroy(window); @@ -1677,7 +1678,7 @@ void _glfwSetWindowSizeWin32(_GLFWwindow* window, int width, int height) { if (window->monitor->window == window) { - acquireMonitor(window); + acquireMonitorWin32(window); fitToMonitor(window); } } @@ -1849,7 +1850,7 @@ void _glfwSetWindowMonitorWin32(_GLFWwindow* window, { if (monitor->window == window) { - acquireMonitor(window); + acquireMonitorWin32(window); fitToMonitor(window); } } @@ -1879,7 +1880,7 @@ void _glfwSetWindowMonitorWin32(_GLFWwindow* window, } if (window->monitor) - releaseMonitor(window); + releaseMonitorWin32(window); _glfwInputWindowMonitor(window, monitor); @@ -1897,7 +1898,7 @@ void _glfwSetWindowMonitorWin32(_GLFWwindow* window, flags |= SWP_FRAMECHANGED; } - acquireMonitor(window); + acquireMonitorWin32(window); GetMonitorInfoW(window->monitor->win32.handle, &mi); SetWindowPos(window->win32.handle, HWND_TOPMOST, diff --git a/src/external/glfw/src/wl_init.c b/src/external/glfw/src/wl_init.c index 3aff476d3..2428c725e 100644 --- a/src/external/glfw/src/wl_init.c +++ b/src/external/glfw/src/wl_init.c @@ -1,7 +1,8 @@ //======================================================================== -// GLFW 3.4 Wayland - www.glfw.org +// GLFW 3.4 Wayland (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2014 Jonas Ådahl +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -257,7 +258,7 @@ static const struct wl_callback_listener libdecorReadyListener = // Create key code translation tables // -static void createKeyTables(void) +static void createKeyTablesWayland(void) { memset(_glfw.wl.keycodes, -1, sizeof(_glfw.wl.keycodes)); memset(_glfw.wl.scancodes, -1, sizeof(_glfw.wl.scancodes)); @@ -821,7 +822,7 @@ int _glfwInitWayland(void) _glfw.wl.registry = wl_display_get_registry(_glfw.wl.display); wl_registry_add_listener(_glfw.wl.registry, ®istryListener, NULL); - createKeyTables(); + createKeyTablesWayland(); _glfw.wl.xkb.context = xkb_context_new(0); if (!_glfw.wl.xkb.context) diff --git a/src/external/glfw/src/wl_window.c b/src/external/glfw/src/wl_window.c index 5b491ffbb..505166eff 100644 --- a/src/external/glfw/src/wl_window.c +++ b/src/external/glfw/src/wl_window.c @@ -1,7 +1,8 @@ //======================================================================== -// GLFW 3.4 Wayland - www.glfw.org +// GLFW 3.4 Wayland (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2014 Jonas Ådahl +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -498,7 +499,7 @@ static void setIdleInhibitor(_GLFWwindow* window, GLFWbool enable) // Make the specified window and its video mode active on its monitor // -static void acquireMonitor(_GLFWwindow* window) +static void acquireMonitorWayland(_GLFWwindow* window) { if (window->wl.libdecor.frame) { @@ -519,7 +520,7 @@ static void acquireMonitor(_GLFWwindow* window) // Remove the window and restore the original video mode // -static void releaseMonitor(_GLFWwindow* window) +static void releaseMonitorWayland(_GLFWwindow* window) { if (window->wl.libdecor.frame) libdecor_frame_unset_fullscreen(window->wl.libdecor.frame); @@ -1156,7 +1157,7 @@ static GLFWbool flushDisplay(void) return GLFW_TRUE; } -static int translateKey(uint32_t scancode) +static int translateKeyWayland(uint32_t scancode) { if (scancode < sizeof(_glfw.wl.keycodes) / sizeof(_glfw.wl.keycodes[0])) return _glfw.wl.keycodes[scancode]; @@ -1270,7 +1271,7 @@ static void handleEvents(double* timeout) for (uint64_t i = 0; i < repeats; i++) { _glfwInputKey(_glfw.wl.keyboardFocus, - translateKey(_glfw.wl.keyRepeatScancode), + translateKeyWayland(_glfw.wl.keyRepeatScancode), _glfw.wl.keyRepeatScancode, GLFW_PRESS, _glfw.wl.xkb.modifiers); @@ -1773,7 +1774,7 @@ static void keyboardHandleKey(void* userData, if (!window) return; - const int key = translateKey(scancode); + const int key = translateKeyWayland(scancode); const int action = state == WL_KEYBOARD_KEY_STATE_PRESSED ? GLFW_PRESS : GLFW_RELEASE; @@ -2509,12 +2510,12 @@ void _glfwSetWindowMonitorWayland(_GLFWwindow* window, } if (window->monitor) - releaseMonitor(window); + releaseMonitorWayland(window); _glfwInputWindowMonitor(window, monitor); if (window->monitor) - acquireMonitor(window); + acquireMonitorWayland(window); else _glfwSetWindowSizeWayland(window, width, height); } diff --git a/src/external/glfw/src/x11_init.c b/src/external/glfw/src/x11_init.c index e992f444e..000bde29b 100644 --- a/src/external/glfw/src/x11_init.c +++ b/src/external/glfw/src/x11_init.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 X11 - www.glfw.org +// GLFW 3.4 X11 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -210,7 +211,7 @@ static int translateKeySyms(const KeySym* keysyms, int width) // Create key code translation tables // -static void createKeyTables(void) +static void createKeyTablesX11(void) { int scancodeMin, scancodeMax; @@ -908,7 +909,7 @@ static GLFWbool initExtensions(void) // Update the key code LUT // FIXME: We should listen to XkbMapNotify events to track changes to // the keyboard mapping. - createKeyTables(); + createKeyTablesX11(); // String format atoms _glfw.x11.NULL_ = XInternAtom(_glfw.x11.display, "NULL", False); diff --git a/src/external/glfw/src/x11_window.c b/src/external/glfw/src/x11_window.c index e0295465a..49e60a509 100644 --- a/src/external/glfw/src/x11_window.c +++ b/src/external/glfw/src/x11_window.c @@ -1,8 +1,9 @@ //======================================================================== -// GLFW 3.4 X11 - www.glfw.org +// GLFW 3.4 X11 (modified for raylib) - www.glfw.org; www.raylib.com //------------------------------------------------------------------------ // Copyright (c) 2002-2006 Marcus Geelnard // Copyright (c) 2006-2019 Camilla Löwy +// Copyright (c) 2024 M374LX // // This software is provided 'as-is', without any express or implied // warranty. In no event will the authors be held liable for any damages @@ -235,9 +236,9 @@ static int translateState(int state) // Translates an X11 key code to a GLFW key token // -static int translateKey(int scancode) +static int translateKeyX11(int scancode) { - // Use the pre-filled LUT (see createKeyTables() in x11_init.c) + // Use the pre-filled LUT (see createKeyTablesX11() in x11_init.c) if (scancode < 0 || scancode > 255) return GLFW_KEY_UNKNOWN; @@ -1081,7 +1082,7 @@ static const char* getSelectionString(Atom selection) // Make the specified window and its video mode active on its monitor // -static void acquireMonitor(_GLFWwindow* window) +static void acquireMonitorX11(_GLFWwindow* window) { if (_glfw.x11.saver.count == 0) { @@ -1120,7 +1121,7 @@ static void acquireMonitor(_GLFWwindow* window) // Remove the window and restore the original video mode // -static void releaseMonitor(_GLFWwindow* window) +static void releaseMonitorX11(_GLFWwindow* window) { if (window->monitor->window != window) return; @@ -1242,7 +1243,7 @@ static void processEvent(XEvent *event) case KeyPress: { - const int key = translateKey(keycode); + const int key = translateKeyX11(keycode); const int mods = translateState(event->xkey.state); const int plain = !(mods & (GLFW_MOD_CONTROL | GLFW_MOD_ALT)); @@ -1314,7 +1315,7 @@ static void processEvent(XEvent *event) case KeyRelease: { - const int key = translateKey(keycode); + const int key = translateKeyX11(keycode); const int mods = translateState(event->xkey.state); if (!_glfw.x11.xkb.detectable) @@ -1806,9 +1807,9 @@ static void processEvent(XEvent *event) if (window->monitor) { if (iconified) - releaseMonitor(window); + releaseMonitorX11(window); else - acquireMonitor(window); + acquireMonitorX11(window); } window->x11.iconified = iconified; @@ -2025,7 +2026,7 @@ GLFWbool _glfwCreateWindowX11(_GLFWwindow* window, { _glfwShowWindowX11(window); updateWindowMode(window); - acquireMonitor(window); + acquireMonitorX11(window); if (wndconfig->centerCursor) _glfwCenterCursorInContentArea(window); @@ -2050,7 +2051,7 @@ void _glfwDestroyWindowX11(_GLFWwindow* window) enableCursor(window); if (window->monitor) - releaseMonitor(window); + releaseMonitorX11(window); if (window->x11.ic) { @@ -2206,7 +2207,7 @@ void _glfwSetWindowSizeX11(_GLFWwindow* window, int width, int height) if (window->monitor) { if (window->monitor->window == window) - acquireMonitor(window); + acquireMonitorX11(window); } else { @@ -2477,7 +2478,7 @@ void _glfwSetWindowMonitorX11(_GLFWwindow* window, if (monitor) { if (monitor->window == window) - acquireMonitor(window); + acquireMonitorX11(window); } else { @@ -2496,7 +2497,7 @@ void _glfwSetWindowMonitorX11(_GLFWwindow* window, { _glfwSetWindowDecoratedX11(window, window->decorated); _glfwSetWindowFloatingX11(window, window->floating); - releaseMonitor(window); + releaseMonitorX11(window); } _glfwInputWindowMonitor(window, monitor); @@ -2511,7 +2512,7 @@ void _glfwSetWindowMonitorX11(_GLFWwindow* window, } updateWindowMode(window); - acquireMonitor(window); + acquireMonitorX11(window); } else { diff --git a/src/rglfw.c b/src/rglfw.c index 5c2720b15..2282955a1 100644 --- a/src/rglfw.c +++ b/src/rglfw.c @@ -35,7 +35,7 @@ // _GLFW_WAYLAND to use the Wayland API (experimental and incomplete) // _GLFW_COCOA to use the Cocoa frameworks // -// Note: GLFW's runtime platform selection is not supported at the moment +// On Linux, _GLFW_X11 and _GLFW_WAYLAND can be combined //---------------------------------------------------------------------------------- // Feature Test Macros required for this module @@ -53,8 +53,8 @@ #define _GLFW_WIN32 #endif #if defined(__linux__) - #if !defined(_GLFW_WAYLAND) // Required for Wayland windowing - #define _GLFW_X11 + #if !defined(_GLFW_WAYLAND) && !defined(_GLFW_X11) + #error "Cannot disable Wayland and X11 at the same time" #endif #endif #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) @@ -69,15 +69,6 @@ #define _WIN32_WINNT_WINXP 0x0501 #endif -#include "external/glfw/src/internal.h" - -// We do not use GLFW's "null" platform, but the absence of this function -// causes the build to fail -GLFWbool _glfwConnectNull(int platformID, _GLFWplatform* platform) -{ - return GLFW_TRUE; -} - // Common modules to all platforms #include "external/glfw/src/init.c" #include "external/glfw/src/platform.c" From 8b0dd44316e2497bfc49790534db386454e596af Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 18 Mar 2024 09:08:51 +0100 Subject: [PATCH 189/745] Fix #3876 and also `rlgl` review on #3783 --- src/rlgl.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/rlgl.h b/src/rlgl.h index 75b830107..e33b75056 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -903,6 +903,10 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #endif +#if !defined(GL_PROGRAM_POINT_SIZE) + #define GL_PROGRAM_POINT_SIZE 0x8642 +#endif + #if defined(GRAPHICS_API_OPENGL_11) #define GL_UNSIGNED_SHORT_5_6_5 0x8363 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 From d7ff0175c163febc14ac65730cd4b30a13ee1473 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 18 Mar 2024 09:09:26 +0100 Subject: [PATCH 190/745] Fix #3876 and also `rlgl` review on #3783 --- src/rlgl.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index e33b75056..0f7840259 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -903,10 +903,14 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #endif -#if !defined(GL_PROGRAM_POINT_SIZE) +#ifndef GL_PROGRAM_POINT_SIZE #define GL_PROGRAM_POINT_SIZE 0x8642 #endif +#ifndef GL_LINE_WIDTH + #define GL_LINE_WIDTH 0x0B21 +#endif + #if defined(GRAPHICS_API_OPENGL_11) #define GL_UNSIGNED_SHORT_5_6_5 0x8363 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 From 9bb3d9977af16d12f24618d92c74004902fcfb39 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Mon, 18 Mar 2024 01:12:36 -0700 Subject: [PATCH 191/745] Put GLFW in relative mouse mode when the cursor is disabled. (#3874) --- src/platforms/rcore_desktop.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 29c85156c..619c9dc9b 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -972,6 +972,9 @@ void EnableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); + if (glfwRawMouseMotionSupported()) + glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_FALSE); + CORE.Input.Mouse.cursorHidden = false; } @@ -983,6 +986,9 @@ void DisableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); + if (glfwRawMouseMotionSupported()) + glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE); + CORE.Input.Mouse.cursorHidden = true; } From 28c232d856e8908a9f2675d5df56bc16f1e30acf Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 18 Mar 2024 09:13:34 +0100 Subject: [PATCH 192/745] Update rcore_desktop.c --- src/platforms/rcore_desktop.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 619c9dc9b..e9d372f73 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -972,8 +972,7 @@ void EnableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); - if (glfwRawMouseMotionSupported()) - glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_FALSE); + if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_FALSE); CORE.Input.Mouse.cursorHidden = false; } @@ -986,8 +985,7 @@ void DisableCursor(void) // Set cursor position in the middle SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); - if (glfwRawMouseMotionSupported()) - glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE); + if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE); CORE.Input.Mouse.cursorHidden = true; } From 9cf408f77c58828fd1019d5cd35c6b8c5139c8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Zyba=C5=82a?= Date: Mon, 18 Mar 2024 18:37:09 +0100 Subject: [PATCH 193/745] Remove redundant rlDisableVertexAttribute for SHADER_LOC_VERTEX_COLOR (#3871) --- src/rmodels.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index c50c065e7..d94754f1f 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1470,9 +1470,6 @@ void DrawMesh(Mesh mesh, Material material, Matrix transform) if (mesh.indices != NULL) rlEnableVertexBufferElement(mesh.vboId[6]); } - // WARNING: Disable vertex attribute color input if mesh can not provide that data (despite location being enabled in shader) - if (mesh.vboId[3] == 0) rlDisableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_COLOR]); - int eyeCount = 1; if (rlIsStereoRenderEnabled()) eyeCount = 2; @@ -1691,9 +1688,6 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i if (mesh.indices != NULL) rlEnableVertexBufferElement(mesh.vboId[6]); } - // WARNING: Disable vertex attribute color input if mesh can not provide that data (despite location being enabled in shader) - if (mesh.vboId[3] == 0) rlDisableVertexAttribute(material.shader.locs[SHADER_LOC_VERTEX_COLOR]); - int eyeCount = 1; if (rlIsStereoRenderEnabled()) eyeCount = 2; From dcb9db5fe634893a9691a439cbe552c0133b0a56 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 21 Mar 2024 15:43:00 +0100 Subject: [PATCH 194/745] Update rcore.c --- src/rcore.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index dcdc3befd..aa9724cb1 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -292,16 +292,16 @@ typedef struct CoreData { struct { struct { int exitKey; // Default exit key - char currentKeyState[MAX_KEYBOARD_KEYS]; // Registers current frame key state - char previousKeyState[MAX_KEYBOARD_KEYS]; // Registers previous frame key state + char currentKeyState[MAX_KEYBOARD_KEYS]; // Registers current frame key state + char previousKeyState[MAX_KEYBOARD_KEYS]; // Registers previous frame key state // NOTE: Since key press logic involves comparing prev vs cur key state, we need to handle key repeats specially - char keyRepeatInFrame[MAX_KEYBOARD_KEYS]; // Registers key repeats for current frame. + char keyRepeatInFrame[MAX_KEYBOARD_KEYS]; // Registers key repeats for current frame. - int keyPressedQueue[MAX_KEY_PRESSED_QUEUE]; // Input keys queue + int keyPressedQueue[MAX_KEY_PRESSED_QUEUE]; // Input keys queue int keyPressedQueueCount; // Input keys queue count - int charPressedQueue[MAX_CHAR_PRESSED_QUEUE]; // Input characters queue (unicode) + int charPressedQueue[MAX_CHAR_PRESSED_QUEUE]; // Input characters queue (unicode) int charPressedQueueCount; // Input characters queue count } Keyboard; @@ -331,7 +331,7 @@ typedef struct CoreData { } Touch; struct { int lastButtonPressed; // Register last gamepad button pressed - int axisCount[MAX_GAMEPADS]; // Register number of available gamepad axis + int axisCount[MAX_GAMEPADS]; // Register number of available gamepad axis bool ready[MAX_GAMEPADS]; // Flag to know if gamepad is ready char name[MAX_GAMEPADS][64]; // Gamepad name holder char currentButtonState[MAX_GAMEPADS][MAX_GAMEPAD_BUTTONS]; // Current gamepad buttons state From b905dafca038ca09e2b6d1e6eaf6f578b0bf0361 Mon Sep 17 00:00:00 2001 From: proberge-dev <87205407+proberge-dev@users.noreply.github.com> Date: Tue, 26 Mar 2024 03:47:25 -0400 Subject: [PATCH 195/745] [rtextures] Fix LoadImageFromScreen scaling (#3881) --- src/rtextures.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 588c8b107..832164819 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -681,10 +681,11 @@ Image LoadImageFromTexture(Texture2D texture) // Load image from screen buffer and (screenshot) Image LoadImageFromScreen(void) { + Vector2 scale = GetWindowScaleDPI(); Image image = { 0 }; - image.width = GetScreenWidth(); - image.height = GetScreenHeight(); + image.width = GetScreenWidth()*scale.x; + image.height = GetScreenHeight()*scale.y; image.mipmaps = 1; image.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; image.data = rlReadScreenPixels(image.width, image.height); From 30781c423b38405544c2880f15789a07f3f1e3ca Mon Sep 17 00:00:00 2001 From: MrMugame <40832361+MrMugame@users.noreply.github.com> Date: Thu, 28 Mar 2024 13:14:21 +0100 Subject: [PATCH 196/745] Organizing the drm backend to only use one api to allow for more devices (#3879) * Updating rcore_drm.c to only use one api for input * Change RPI log prefix to DRM * Remove relative checking which is not supported currently * Loop should continue on invalid event in drm backend * Fixed and cleaned up PollKeyboardEvents() in drm backend --- src/platforms/rcore_drm.c | 1103 ++++++++++++++----------------------- 1 file changed, 413 insertions(+), 690 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index d303ab1da..b911a1dae 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -57,6 +57,12 @@ #include // Required for: ioctl() - UNIX System call for device-specific input/output operations #include // Linux: KDSKBMODE, K_MEDIUMRAM constants definition #include // Linux: Keycodes constants definition (KEY_A, ...) + +// So both `linux/input.h` and `raylib.h` define KEY_F12 +// To avoid conflict with the capturing code in rcore.c we undefine the macro KEY_F12, +// so the enum KEY_F12 from raylib is used +#undef KEY_F12 + #include // Linux: Joystick support library #include // Generic Buffer Management (native platform for EGL on DRM) @@ -71,27 +77,12 @@ //---------------------------------------------------------------------------------- #define USE_LAST_TOUCH_DEVICE // When multiple touchscreens are connected, only use the one with the highest event number -#define DEFAULT_GAMEPAD_DEV "/dev/input/js" // Gamepad input (base dev for all gamepads: js0, js1, ...) #define DEFAULT_EVDEV_PATH "/dev/input/" // Path to the linux input events //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -typedef struct { - pthread_t threadId; // Event reading thread id - - int fd; // File descriptor to the device it is assigned to - int eventNum; // Number of 'event' device - Rectangle absRange; // Range of values for absolute pointing devices (touchscreens) - int touchSlot; // Hold the touch slot number of the currently being sent multitouch block - bool isMouse; // True if device supports relative X Y movements - bool isTouch; // True if device supports absolute X Y movements and has BTN_TOUCH - bool isMultitouch; // True if device supports multiple absolute movevents and has BTN_TOUCH - bool isKeyboard; // True if device has letter keycodes - bool isGamepad; // True if device has gamepad buttons -} InputEventWorker; - typedef struct { // Display data int fd; // File descriptor for /dev/dri/... @@ -108,9 +99,6 @@ typedef struct { EGLContext context; // Graphic context, mode in which drawing can be done EGLConfig config; // Graphic config - // Input data - InputEventWorker eventWorker[10]; // List of worker threads for every monitored "/dev/input/event" - // Keyboard data int defaultKeyboardMode; // Default keyboard mode bool eventKeyboardMode; // Keyboard in event mode @@ -129,7 +117,9 @@ typedef struct { // Gamepad data int gamepadStreamFd[MAX_GAMEPADS]; // Gamepad device file descriptor - + int gamepadAbsAxisRange[MAX_GAMEPADS][MAX_GAMEPAD_AXIS][2]; // [0] = min, [1] = range value of the axis + int gamepadAbsAxisMap[MAX_GAMEPADS][ABS_CNT]; // Maps the axes gamepads from the evdev api to a sequential one + int gamepadCount; // The number of gamepads registered } PlatformData; //---------------------------------------------------------------------------------- @@ -145,6 +135,8 @@ static PlatformData platform = { 0 }; // Platform specific data // Scancode to keycode mapping for US keyboards // TODO: Replace this with a keymap from the X11 to get the correct regional map for the keyboard: // Currently non US keyboards will have the wrong mapping for some keys +// NOTE: Replacing this with the keymap from X11 would probably be useless, as people use the drm +// backend to *avoid* X11 static const int keymapUS[] = { 0, 256, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 45, 61, 259, 258, 81, 87, 69, 82, 84, 89, 85, 73, 79, 80, 91, 93, 257, 341, 65, 83, 68, 70, 71, 72, 74, 75, 76, 59, 39, 96, @@ -178,19 +170,17 @@ static const int EvkeyToUnicodeLUT[] = { int InitPlatform(void); // Initialize platform (graphics, inputs and more) void ClosePlatform(void); // Close platform +#if defined(SUPPORT_SSH_KEYBOARD_RPI) static void InitKeyboard(void); // Initialize raw keyboard system static void RestoreKeyboard(void); // Restore keyboard system -#if defined(SUPPORT_SSH_KEYBOARD_RPI) static void ProcessKeyboard(void); // Process keyboard events #endif static void InitEvdevInput(void); // Initialize evdev inputs static void ConfigureEvdevDevice(char *device); // Identifies a input device and configures it for use if appropriate static void PollKeyboardEvents(void); // Process evdev keyboard events -static void *EventThread(void *arg); // Input device events reading thread - -static void InitGamepad(void); // Initialize raw gamepad input -static void PollGamepadEvents(void); // Gamepad reading function +static void PollGamepadEvents(void); // Process evdev gamepad events +static void PollMouseEvents(void); // Process evdev mouse events static int FindMatchingConnectorMode(const drmModeConnector *connector, const drmModeModeInfo *mode); // Search matching DRM mode in connector's mode list static int FindExactConnectorMode(const drmModeConnector *connector, uint width, uint height, uint fps, bool allowInterlaced); // Search exactly matching DRM connector mode in connector's list @@ -564,6 +554,16 @@ void PollInputEvents(void) PollKeyboardEvents(); + #if defined(SUPPORT_SSH_KEYBOARD_RPI) + // NOTE: Keyboard reading could be done using input_event(s) or just read from stdin, both methods are used here. + // stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console + + if (!platform.eventKeyboardMode) ProcessKeyboard(); + #endif + + // Check exit key + if (CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey] == 1) CORE.Window.shouldClose = true; + // Register previous mouse position if (platform.cursorRelative) CORE.Input.Mouse.currentPosition = (Vector2){ 0.0f, 0.0f }; else CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; @@ -591,181 +591,9 @@ void PollInputEvents(void) // Map touch position to mouse position for convenience CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; -#if defined(SUPPORT_SSH_KEYBOARD_RPI) - // NOTE: Keyboard reading could be done using input_event(s) or just read from stdin, both methods are used here. - // stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console - - if (!platform.eventKeyboardMode) ProcessKeyboard(); -#endif - // Handle the mouse/touch/gestures events: // NOTE: Replaces the EventThread handling that is now commented. - { - int fd = platform.mouseFd; - if (fd == -1) return; - - struct input_event event = { 0 }; - - int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE - - // Try to read data from the mouse/touch/gesture and only continue if successful - while (read(fd, &event, sizeof(event)) == (int)sizeof(event)) - { - // Relative movement parsing - if (event.type == EV_REL) - { - if (event.code == REL_X) - { - if (platform.cursorRelative) - { - CORE.Input.Mouse.currentPosition.x = event.value; - CORE.Input.Mouse.previousPosition.x = 0.0f; - } - else CORE.Input.Mouse.currentPosition.x += event.value; - CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; - - touchAction = 2; // TOUCH_ACTION_MOVE - } - - if (event.code == REL_Y) - { - if (platform.cursorRelative) - { - CORE.Input.Mouse.currentPosition.y = event.value; - CORE.Input.Mouse.previousPosition.y = 0.0f; - } - else CORE.Input.Mouse.currentPosition.y += event.value; - CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; - - touchAction = 2; // TOUCH_ACTION_MOVE - } - - if (event.code == REL_WHEEL) platform.eventWheelMove.y += event.value; - } - - // Absolute movement parsing - if (event.type == EV_ABS) - { - // Basic movement - if (event.code == ABS_X) - { - CORE.Input.Mouse.currentPosition.x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange - CORE.Input.Touch.position[0].x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange - - touchAction = 2; // TOUCH_ACTION_MOVE - } - - if (event.code == ABS_Y) - { - CORE.Input.Mouse.currentPosition.y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange - CORE.Input.Touch.position[0].y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange - - touchAction = 2; // TOUCH_ACTION_MOVE - } - - // Multitouch movement - if (event.code == ABS_MT_SLOT) platform.touchSlot = event.value; // Remember the slot number for the folowing events - - if (event.code == ABS_MT_POSITION_X) - { - if (platform.touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[platform.touchSlot].x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange - } - - if (event.code == ABS_MT_POSITION_Y) - { - if (platform.touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[platform.touchSlot].y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange - } - - if (event.code == ABS_MT_TRACKING_ID) - { - if ((event.value < 0) && (platform.touchSlot < MAX_TOUCH_POINTS)) - { - // Touch has ended for this point - CORE.Input.Touch.position[platform.touchSlot].x = -1; - CORE.Input.Touch.position[platform.touchSlot].y = -1; - } - } - - // Touchscreen tap - if (event.code == ABS_PRESSURE) - { - int previousMouseLeftButtonState = platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT]; - - if (!event.value && previousMouseLeftButtonState) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 0; - - touchAction = 0; // TOUCH_ACTION_UP - } - - if (event.value && !previousMouseLeftButtonState) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 1; - - touchAction = 1; // TOUCH_ACTION_DOWN - } - } - - } - - // Button parsing - if (event.type == EV_KEY) - { - // Mouse button parsing - if ((event.code == BTN_TOUCH) || (event.code == BTN_LEFT)) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = event.value; - - if (event.value > 0) touchAction = 1; // TOUCH_ACTION_DOWN - else touchAction = 0; // TOUCH_ACTION_UP - } - - if (event.code == BTN_RIGHT) platform.currentButtonStateEvdev[MOUSE_BUTTON_RIGHT] = event.value; - if (event.code == BTN_MIDDLE) platform.currentButtonStateEvdev[MOUSE_BUTTON_MIDDLE] = event.value; - if (event.code == BTN_SIDE) platform.currentButtonStateEvdev[MOUSE_BUTTON_SIDE] = event.value; - if (event.code == BTN_EXTRA) platform.currentButtonStateEvdev[MOUSE_BUTTON_EXTRA] = event.value; - if (event.code == BTN_FORWARD) platform.currentButtonStateEvdev[MOUSE_BUTTON_FORWARD] = event.value; - if (event.code == BTN_BACK) platform.currentButtonStateEvdev[MOUSE_BUTTON_BACK] = event.value; - } - - // Screen confinement - if (!CORE.Input.Mouse.cursorHidden) - { - if (CORE.Input.Mouse.currentPosition.x < 0) CORE.Input.Mouse.currentPosition.x = 0; - if (CORE.Input.Mouse.currentPosition.x > CORE.Window.screen.width/CORE.Input.Mouse.scale.x) CORE.Input.Mouse.currentPosition.x = CORE.Window.screen.width/CORE.Input.Mouse.scale.x; - - if (CORE.Input.Mouse.currentPosition.y < 0) CORE.Input.Mouse.currentPosition.y = 0; - if (CORE.Input.Mouse.currentPosition.y > CORE.Window.screen.height/CORE.Input.Mouse.scale.y) CORE.Input.Mouse.currentPosition.y = CORE.Window.screen.height/CORE.Input.Mouse.scale.y; - } - - // Update touch point count - CORE.Input.Touch.pointCount = 0; - for (int i = 0; i < MAX_TOUCH_POINTS; i++) - { - if (CORE.Input.Touch.position[i].x >= 0) CORE.Input.Touch.pointCount++; - } - -#if defined(SUPPORT_GESTURES_SYSTEM) - if (touchAction > -1) - { - GestureEvent gestureEvent = { 0 }; - - gestureEvent.touchAction = touchAction; - gestureEvent.pointCount = CORE.Input.Touch.pointCount; - - for (int i = 0; i < MAX_TOUCH_POINTS; i++) - { - gestureEvent.pointId[i] = i; - gestureEvent.position[i] = CORE.Input.Touch.position[i]; - } - - ProcessGestureEvent(gestureEvent); - - touchAction = -1; - } -#endif - } - } + PollMouseEvents(); } //---------------------------------------------------------------------------------- @@ -1123,8 +951,11 @@ int InitPlatform(void) // Initialize input events system //---------------------------------------------------------------------------- InitEvdevInput(); // Evdev inputs initialization - InitGamepad(); // Gamepad init - InitKeyboard(); // Keyboard init (stdin) + + #if defined(SUPPORT_SSH_KEYBOARD_RPI) + InitKeyboard(); // Keyboard init (stdin) + #endif + //---------------------------------------------------------------------------- // Initialize storage system @@ -1203,28 +1034,30 @@ void ClosePlatform(void) platform.device = EGL_NO_DISPLAY; } - // Wait for mouse and gamepad threads to finish before closing - // NOTE: Those threads should already have finished at this point - // because they are controlled by CORE.Window.shouldClose variable - CORE.Window.shouldClose = true; // Added to force threads to exit when the close window is called - // Close the evdev keyboard + // Close the evdev devices + + if (platform.mouseFd != -1) { + close(platform.mouseFd); + platform.mouseFd = -1; + } + + for (int i = 0; i < platform.gamepadCount; i++) + { + close(platform.gamepadStreamFd[i]); + platform.gamepadStreamFd[i] = -1; + } + if (platform.keyboardFd != -1) { close(platform.keyboardFd); platform.keyboardFd = -1; } - - for (int i = 0; i < sizeof(platform.eventWorker)/sizeof(InputEventWorker); ++i) - { - if (platform.eventWorker[i].threadId) - { - pthread_join(platform.eventWorker[i].threadId, NULL); - } - } } +#if defined(SUPPORT_SSH_KEYBOARD_RPI) + // Initialize Keyboard system (using standard input) static void InitKeyboard(void) { @@ -1256,7 +1089,7 @@ static void InitKeyboard(void) int result = ioctl(STDIN_FILENO, KDGKBMODE, &platform.defaultKeyboardMode); // In case of failure, it could mean a remote keyboard is used (SSH) - if (result < 0) TRACELOG(LOG_WARNING, "RPI: Failed to change keyboard mode, an SSH keyboard is probably used"); + if (result < 0) TRACELOG(LOG_WARNING, "DRM: Failed to change keyboard mode, an SSH keyboard is probably used"); else { // Reconfigure keyboard mode to get: @@ -1282,7 +1115,6 @@ static void RestoreKeyboard(void) ioctl(STDIN_FILENO, KDSKBMODE, platform.defaultKeyboardMode); } -#if defined(SUPPORT_SSH_KEYBOARD_RPI) // Process keyboard inputs static void ProcessKeyboard(void) { @@ -1383,18 +1215,6 @@ static void ProcessKeyboard(void) CORE.Input.Keyboard.keyPressedQueueCount++; } } - - // Check exit key (same functionality as GLFW3 KeyCallback()) - if (CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey] == 1) CORE.Window.shouldClose = true; - -#if defined(SUPPORT_SCREEN_CAPTURE) - // Check screen capture key (raylib key: KEY_F12) - if (CORE.Input.Keyboard.currentKeyState[301] == 1) - { - TakeScreenshot(TextFormat("screenshot%03i.png", screenshotCounter)); - screenshotCounter++; - } -#endif } #endif // SUPPORT_SSH_KEYBOARD_RPI @@ -1408,6 +1228,7 @@ static void InitEvdevInput(void) // Initialise keyboard file descriptor platform.keyboardFd = -1; + platform.mouseFd = -1; // Reset variables for (int i = 0; i < MAX_TOUCH_POINTS; ++i) @@ -1440,7 +1261,7 @@ static void InitEvdevInput(void) closedir(directory); } - else TRACELOG(LOG_WARNING, "RPI: Failed to open linux event directory: %s", DEFAULT_EVDEV_PATH); + else TRACELOG(LOG_WARNING, "DRM: Failed to open linux event directory: %s", DEFAULT_EVDEV_PATH); } // Identifies a input device and configures it for use if appropriate @@ -1453,62 +1274,18 @@ static void ConfigureEvdevDevice(char *device) #define LONG(x) ((x)/BITS_PER_LONG) #define TEST_BIT(array, bit) ((array[LONG(bit)] >> OFF(bit)) & 1) - struct input_absinfo absinfo = { 0 }; unsigned long evBits[NBITS(EV_MAX)] = { 0 }; unsigned long absBits[NBITS(ABS_MAX)] = { 0 }; unsigned long relBits[NBITS(REL_MAX)] = { 0 }; unsigned long keyBits[NBITS(KEY_MAX)] = { 0 }; - bool hasAbs = false; - bool hasRel = false; - bool hasAbsMulti = false; - int freeWorkerId = -1; - int fd = -1; - - InputEventWorker *worker = NULL; - - // Open the device and allocate worker - //------------------------------------------------------------------------------------------------------- - // Find a free spot in the workers array - for (int i = 0; i < sizeof(platform.eventWorker)/sizeof(InputEventWorker); ++i) - { - if (platform.eventWorker[i].threadId == 0) - { - freeWorkerId = i; - break; - } - } - - // Select the free worker from array - if (freeWorkerId >= 0) - { - worker = &(platform.eventWorker[freeWorkerId]); // Grab a pointer to the worker - memset(worker, 0, sizeof(InputEventWorker)); // Clear the worker - } - else - { - TRACELOG(LOG_WARNING, "RPI: Failed to create input device thread for %s, out of worker slots", device); - return; - } // Open the device - fd = open(device, O_RDONLY | O_NONBLOCK); + int fd = open(device, O_RDONLY | O_NONBLOCK); if (fd < 0) { - TRACELOG(LOG_WARNING, "RPI: Failed to open input device: %s", device); + TRACELOG(LOG_WARNING, "DRM: Failed to open input device: %s", device); return; } - worker->fd = fd; - - // Grab number on the end of the devices name "event" - int devNum = 0; - char *ptrDevName = strrchr(device, 't'); - worker->eventNum = -1; - - if (ptrDevName != NULL) - { - if (sscanf(ptrDevName, "t%d", &devNum) == 1) worker->eventNum = devNum; - } - else worker->eventNum = 0; // TODO: HACK: Grab number for mouse0 device! // At this point we have a connection to the device, but we don't yet know what the device is. // It could be many things, even as simple as a power button... @@ -1516,149 +1293,166 @@ static void ConfigureEvdevDevice(char *device) // Identify the device //------------------------------------------------------------------------------------------------------- - ioctl(fd, EVIOCGBIT(0, sizeof(evBits)), evBits); // Read a bitfield of the available device properties + struct input_absinfo absinfo[ABS_CNT] = { 0 }; - // Check for absolute input devices - if (TEST_BIT(evBits, EV_ABS)) - { + // These flags aren't really a one of + // Some devices could have properties we assosciate with keyboards as well as properties + // we assosciate with mice + bool isKeyboard = false; + bool isMouse = false; + bool isTouch = false; + bool isGamepad = false; + + int absAxisCount = 0; + + ioctl(fd, EVIOCGBIT(0, sizeof(evBits)), evBits); + ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keyBits)), keyBits); + + if (TEST_BIT(evBits, EV_ABS)) { ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absBits)), absBits); - // Check for absolute movement support (usually touchscreens, but also joysticks) - if (TEST_BIT(absBits, ABS_X) && TEST_BIT(absBits, ABS_Y)) + // If the device has an X an Y axis it's either a touch device, a special mouse or a gamepad + bool hasAbsXY = TEST_BIT(absBits, ABS_X) && TEST_BIT(absBits, ABS_Y); + + if (hasAbsXY) { - hasAbs = true; - - // Get the scaling values - ioctl(fd, EVIOCGABS(ABS_X), &absinfo); - worker->absRange.x = absinfo.minimum; - worker->absRange.width = absinfo.maximum - absinfo.minimum; - platform.absRange.x = absinfo.minimum; - platform.absRange.width = absinfo.maximum - absinfo.minimum; - - ioctl(fd, EVIOCGABS(ABS_Y), &absinfo); - worker->absRange.y = absinfo.minimum; - worker->absRange.height = absinfo.maximum - absinfo.minimum; - platform.absRange.y = absinfo.minimum; - platform.absRange.height = absinfo.maximum - absinfo.minimum; + absAxisCount += 2; + ioctl(fd, EVIOCGABS(ABS_X), &absinfo[ABS_X]); + ioctl(fd, EVIOCGABS(ABS_Y), &absinfo[ABS_Y]); } - // Check for multiple absolute movement support (usually multitouch touchscreens) - if (TEST_BIT(absBits, ABS_MT_POSITION_X) && TEST_BIT(absBits, ABS_MT_POSITION_Y)) - { - hasAbsMulti = true; + // If it has any of these buttons it's a touch device + if (hasAbsXY && + (TEST_BIT(keyBits, BTN_STYLUS) || + TEST_BIT(keyBits, BTN_TOOL_PEN) || + TEST_BIT(keyBits, BTN_TOOL_FINGER) || + TEST_BIT(keyBits, BTN_TOUCH))) isTouch = true; - // Get the scaling values - ioctl(fd, EVIOCGABS(ABS_X), &absinfo); - worker->absRange.x = absinfo.minimum; - worker->absRange.width = absinfo.maximum - absinfo.minimum; - platform.absRange.x = absinfo.minimum; - platform.absRange.width = absinfo.maximum - absinfo.minimum; + // Absolute mice should really only exist with VMWare, but it shouldn't + // matter if we support them + else if (hasAbsXY && TEST_BIT(keyBits, BTN_MOUSE)) isMouse = true; - ioctl(fd, EVIOCGABS(ABS_Y), &absinfo); - worker->absRange.y = absinfo.minimum; - worker->absRange.height = absinfo.maximum - absinfo.minimum; - platform.absRange.y = absinfo.minimum; - platform.absRange.height = absinfo.maximum - absinfo.minimum; + // If any of the common joystick axis is present, we assume it's a gamepad + else { + for (int axis = (hasAbsXY ? ABS_Z : ABS_X); axis < ABS_PRESSURE; axis++) + { + if (TEST_BIT(absBits, axis)) { + isGamepad = true; + absAxisCount++; + + ioctl(fd, EVIOCGABS(axis), &absinfo[axis]); + } + } } + + // If the device has multitouch axes, it's a touch device + if (TEST_BIT(absBits, ABS_MT_POSITION_X) && + TEST_BIT(absBits, ABS_MT_POSITION_Y)) isTouch = true; } - // Check for relative movement support (usually mouse) if (TEST_BIT(evBits, EV_REL)) { ioctl(fd, EVIOCGBIT(EV_REL, sizeof(relBits)), relBits); - if (TEST_BIT(relBits, REL_X) && TEST_BIT(relBits, REL_Y)) hasRel = true; + // If it has any of the gamepad or touch features we tested so far, it's not a mouse + if (!isTouch && + !isGamepad && + TEST_BIT(relBits, REL_X) && + TEST_BIT(relBits, REL_Y) && + TEST_BIT(keyBits, BTN_MOUSE)) isMouse = true; } - // Check for button support to determine the device type(usually on all input devices) + if (TEST_BIT(evBits, EV_KEY)) { - ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keyBits)), keyBits); + // The first 32 keys as defined in input-event-codes.h are pretty much + // exclusive to keyboards, so we can test them using a mask + // Leave out the first bit to not test KEY_RESERVED + const unsigned long mask = 0xFFFFFFFE; + if ((keyBits[0] & mask) == mask) isKeyboard = true; - if (hasAbs || hasAbsMulti) + // If we find any of the common gamepad buttons we assume it's a gamepad + else { - if (TEST_BIT(keyBits, BTN_TOUCH)) worker->isTouch = true; // This is a touchscreen - if (TEST_BIT(keyBits, BTN_TOOL_FINGER)) worker->isTouch = true; // This is a drawing tablet - if (TEST_BIT(keyBits, BTN_TOOL_PEN)) worker->isTouch = true; // This is a drawing tablet - if (TEST_BIT(keyBits, BTN_STYLUS)) worker->isTouch = true; // This is a drawing tablet - if (worker->isTouch || hasAbsMulti) worker->isMultitouch = true; // This is a multitouch capable device - } - - if (hasRel) - { - if (TEST_BIT(keyBits, BTN_LEFT)) worker->isMouse = true; // This is a mouse - if (TEST_BIT(keyBits, BTN_RIGHT)) worker->isMouse = true; // This is a mouse - } - - if (TEST_BIT(keyBits, BTN_A)) worker->isGamepad = true; // This is a gamepad - if (TEST_BIT(keyBits, BTN_TRIGGER)) worker->isGamepad = true; // This is a gamepad - if (TEST_BIT(keyBits, BTN_START)) worker->isGamepad = true; // This is a gamepad - if (TEST_BIT(keyBits, BTN_TL)) worker->isGamepad = true; // This is a gamepad - if (TEST_BIT(keyBits, BTN_TL)) worker->isGamepad = true; // This is a gamepad - - if (TEST_BIT(keyBits, KEY_SPACE)) worker->isKeyboard = true; // This is a keyboard - } - //------------------------------------------------------------------------------------------------------- - - // Decide what to do with the device - //------------------------------------------------------------------------------------------------------- - if (worker->isKeyboard && (platform.keyboardFd == -1)) - { - // Use the first keyboard encountered. This assumes that a device that says it's a keyboard is just a - // keyboard. The keyboard is polled synchronously, whereas other input devices are polled in separate - // threads so that they don't drop events when the frame rate is slow. - TRACELOG(LOG_INFO, "RPI: Opening keyboard device: %s", device); - platform.keyboardFd = worker->fd; - } - else if (worker->isTouch || worker->isMouse) - { - // Looks like an interesting device - TRACELOG(LOG_INFO, "RPI: Opening input device: %s (%s%s%s%s)", device, - worker->isMouse? "mouse " : "", - worker->isMultitouch? "multitouch " : "", - worker->isTouch? "touchscreen " : "", - worker->isGamepad? "gamepad " : ""); - platform.mouseFd = worker->fd; - - // NOTE: moved the mouse/touch/gesture input to PollInputEvents()/ - // so added the "platform.mouseFd = worker->fd;" line above - // and commented the thread code below: - - // Create a thread for this device - //int error = pthread_create(&worker->threadId, NULL, &EventThread, (void *)worker); - //if (error != 0) - //{ - // TRACELOG(LOG_WARNING, "RPI: Failed to create input device thread: %s (error: %d)", device, error); - // worker->threadId = 0; - // close(fd); - //} - -#if defined(USE_LAST_TOUCH_DEVICE) - // Find touchscreen with the highest index - int maxTouchNumber = -1; - - for (int i = 0; i < sizeof(platform.eventWorker)/sizeof(InputEventWorker); ++i) - { - if (platform.eventWorker[i].isTouch && (platform.eventWorker[i].eventNum > maxTouchNumber)) maxTouchNumber = platform.eventWorker[i].eventNum; - } - - // Find touchscreens with lower indexes - for (int i = 0; i < sizeof(platform.eventWorker)/sizeof(InputEventWorker); ++i) - { - if (platform.eventWorker[i].isTouch && (platform.eventWorker[i].eventNum < maxTouchNumber)) + for (int button = BTN_JOYSTICK; button < BTN_DIGI; ++button) { - if (platform.eventWorker[i].threadId != 0) - { - TRACELOG(LOG_WARNING, "RPI: Found duplicate touchscreen, killing touchscreen on event: %d", i); - pthread_cancel(platform.eventWorker[i].threadId); - close(platform.eventWorker[i].fd); - } + if (TEST_BIT(keyBits, button)) isGamepad = true; + } + + for (int button = BTN_TRIGGER_HAPPY1; button <= BTN_TRIGGER_HAPPY40; button++) + { + if (TEST_BIT(keyBits, button)) isGamepad = true; } } -#endif } - else close(fd); // We are not interested in this device - //------------------------------------------------------------------------------------------------------- + + const char *deviceKindStr = "unknown"; + if (isMouse || isTouch) + { + deviceKindStr = "mouse"; + if (platform.mouseFd != -1) close(platform.mouseFd); + + platform.mouseFd = fd; + +// TODO: What is this supposed to do? +// Previously if set, it just didn't do anything as the thread code got deleted, so no new +// threads were created and this deleted all old threads, thus doing nothing +// And the description isn't quite clear as to how it behaves together with a mouse +#if defined(USE_LAST_TOUCH_DEVICE) +#endif + + if (absAxisCount > 0) + { + platform.absRange.x = absinfo[ABS_X].minimum; + platform.absRange.width = absinfo[ABS_X].maximum - absinfo[ABS_X].minimum; + + platform.absRange.y = absinfo[ABS_Y].minimum; + platform.absRange.height = absinfo[ABS_Y].maximum - absinfo[ABS_Y].minimum; + } + } + else if (isGamepad && !isMouse && !isKeyboard && platform.gamepadCount < MAX_GAMEPADS) + { + deviceKindStr = "gamepad"; + int index = platform.gamepadCount++; + + platform.gamepadStreamFd[index] = fd; + CORE.Input.Gamepad.ready[index] = true; + + ioctl(platform.gamepadStreamFd[index], EVIOCGNAME(64), &CORE.Input.Gamepad.name[index]); + CORE.Input.Gamepad.axisCount[index] = absAxisCount; + + if (absAxisCount > 0) + { + // TODO / NOTE + // So gamepad axis (as in the actual linux joydev.c) are just simply enumerated + // and (at least for some input drivers like xpat) it's convention to use + // ABS_X, ABX_Y for one joystick ABS_RX, ABS_RY for the other and the Z axes for the + // shoulder buttons + // If these are now enumerated you get LJOY_X, LJOY_Y, LEFT_SHOULDERB, RJOY_X, ... + // That means they don't match the GamepadAxis enum + // This could be fixed + int axisIndex = 0; + for (int axis = ABS_X; axis < ABS_PRESSURE; axis++) + { + platform.gamepadAbsAxisRange[index][axisIndex][0] = absinfo[axisIndex].minimum; + platform.gamepadAbsAxisRange[index][axisIndex][1] = absinfo[axisIndex].maximum - absinfo[axisIndex].minimum; + + platform.gamepadAbsAxisMap[index][axis] = axisIndex++; + } + } + } + else if (isKeyboard && (platform.keyboardFd == -1)) + { + deviceKindStr = "keyboard"; + platform.keyboardFd = fd; + } + else + { + close(fd); + return; + } + + TRACELOG(LOG_INFO, "Initialized input device %s as %s", device, deviceKindStr); } // Poll and process evdev keyboard events @@ -1673,335 +1467,264 @@ static void PollKeyboardEvents(void) // Try to read data from the keyboard and only continue if successful while (read(fd, &event, sizeof(event)) == (int)sizeof(event)) { - // Button parsing - if (event.type == EV_KEY) - { -#if defined(SUPPORT_SSH_KEYBOARD_RPI) - // Change keyboard mode to events - platform.eventKeyboardMode = true; -#endif - // Keyboard button parsing - if ((event.code >= 1) && (event.code <= 255)) //Keyboard keys appear for codes 1 to 255 - { - keycode = keymapUS[event.code & 0xFF]; // The code we get is a scancode so we look up the appropriate keycode + // Check if the event is a key event + if (event.type != EV_KEY) continue; - // Make sure we got a valid keycode - if ((keycode > 0) && (keycode < sizeof(CORE.Input.Keyboard.currentKeyState))) +#if defined(SUPPORT_SSH_KEYBOARD_RPI) + // If the event was a key, we know a working keyboard is connected, so disable the SSH keyboard + platform.eventKeyboardMode = true; +#endif + + // Keyboard keys appear for codes 1 to 255, ignore everthing else + if ((event.code >= 1) && (event.code <= 255)) + { + + // Lookup the scancode in the keymap to get a keycode + keycode = keymapUS[event.code]; + + // Make sure we got a valid keycode + if ((keycode > 0) && (keycode < MAX_KEYBOARD_KEYS)) + { + + // WARNING: https://www.kernel.org/doc/Documentation/input/input.txt + // Event interface: 'value' is the value the event carries. Either a relative change for EV_REL, + // absolute new value for EV_ABS (joysticks ...), or 0 for EV_KEY for release, 1 for keypress and 2 for autorepeat + CORE.Input.Keyboard.currentKeyState[keycode] = (event.value >= 1); + CORE.Input.Keyboard.keyRepeatInFrame[keycode] = (event.value == 2); + + // If the key is pressed add it to the queues + if (event.value == 1) { - // WARNING: https://www.kernel.org/doc/Documentation/input/input.txt - // Event interface: 'value' is the value the event carries. Either a relative change for EV_REL, - // absolute new value for EV_ABS (joysticks ...), or 0 for EV_KEY for release, 1 for keypress and 2 for autorepeat - CORE.Input.Keyboard.currentKeyState[keycode] = (event.value >= 1)? 1 : 0; - CORE.Input.Keyboard.keyRepeatInFrame[keycode] = (event.value == 2)? 1 : 0; - if (event.value >= 1) + if (CORE.Input.Keyboard.keyPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { - CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = keycode; // Register last key pressed + CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = keycode; CORE.Input.Keyboard.keyPressedQueueCount++; } - #if defined(SUPPORT_SCREEN_CAPTURE) - // Check screen capture key (raylib key: KEY_F12) - if (CORE.Input.Keyboard.currentKeyState[301] == 1) + if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { - TakeScreenshot(TextFormat("screenshot%03i.png", screenshotCounter)); - screenshotCounter++; + // TODO/FIXME: This is not actually converting to unicode properly because it's not taking things like shift into account + CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = EvkeyToUnicodeLUT[event.code]; + CORE.Input.Keyboard.charPressedQueueCount++; } - #endif - - // Detect char presses (unicode) - if (event.value == 1) - { - // Check if there is space available in the queue - if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) - { - // Add character to the queue - CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = EvkeyToUnicodeLUT[event.code]; - CORE.Input.Keyboard.charPressedQueueCount++; - } - } - - if (CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey] == 1) CORE.Window.shouldClose = true; - - TRACELOGD("RPI: KEY_%s ScanCode: %4i KeyCode: %4i", (event.value == 0)? "UP" : "DOWN", event.code, keycode); } + + TRACELOG(LOG_DEBUG, "DRM: KEY_%s Keycode(linux): %4i KeyCode(raylib): %4i", (event.value == 0) ? "UP " : "DOWN", event.code, keycode); } } } } -// Input device events reading thread -static void *EventThread(void *arg) -{ -/* - struct input_event event = { 0 }; - InputEventWorker *worker = (InputEventWorker *)arg; - - int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE - bool gestureUpdate = false; // Flag to note gestures require to update - - while (!CORE.Window.shouldClose) - { - // Try to read data from the device and only continue if successful - while (read(worker->fd, &event, sizeof(event)) == (int)sizeof(event)) - { - // Relative movement parsing - if (event.type == EV_REL) - { - if (event.code == REL_X) - { - if (platform.cursorRelative) - { - CORE.Input.Mouse.currentPosition.x -= event.value; - CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; - } - else - { - CORE.Input.Mouse.currentPosition.x += event.value; - CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; - } - - touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; - } - - if (event.code == REL_Y) - { - if (platform.cursorRelative) - { - CORE.Input.Mouse.currentPosition.y -= event.value; - CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; - } - else - { - CORE.Input.Mouse.currentPosition.y += event.value; - CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; - } - - touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; - } - - if (event.code == REL_WHEEL) platform.eventWheelMove.y += event.value; - } - - // Absolute movement parsing - if (event.type == EV_ABS) - { - // Basic movement - if (event.code == ABS_X) - { - CORE.Input.Mouse.currentPosition.x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale according to absRange - CORE.Input.Touch.position[0].x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale according to absRange - - touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; - } - - if (event.code == ABS_Y) - { - CORE.Input.Mouse.currentPosition.y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale according to absRange - CORE.Input.Touch.position[0].y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale according to absRange - - touchAction = 2; // TOUCH_ACTION_MOVE - gestureUpdate = true; - } - - // Multitouch movement - if (event.code == ABS_MT_SLOT) worker->touchSlot = event.value; // Remember the slot number for the folowing events - - if (event.code == ABS_MT_POSITION_X) - { - if (worker->touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[worker->touchSlot].x = (event.value - worker->absRange.x)*CORE.Window.screen.width/worker->absRange.width; // Scale according to absRange - } - - if (event.code == ABS_MT_POSITION_Y) - { - if (worker->touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[worker->touchSlot].y = (event.value - worker->absRange.y)*CORE.Window.screen.height/worker->absRange.height; // Scale according to absRange - } - - if (event.code == ABS_MT_TRACKING_ID) - { - if ((event.value < 0) && (worker->touchSlot < MAX_TOUCH_POINTS)) - { - // Touch has ended for this point - CORE.Input.Touch.position[worker->touchSlot].x = -1; - CORE.Input.Touch.position[worker->touchSlot].y = -1; - } - } - - // Touchscreen tap - if (event.code == ABS_PRESSURE) - { - int previousMouseLeftButtonState = platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT]; - - if (!event.value && previousMouseLeftButtonState) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 0; - - touchAction = 0; // TOUCH_ACTION_UP - gestureUpdate = true; - } - - if (event.value && !previousMouseLeftButtonState) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 1; - - touchAction = 1; // TOUCH_ACTION_DOWN - gestureUpdate = true; - } - } - - } - - // Button parsing - if (event.type == EV_KEY) - { - // Mouse button parsing - if ((event.code == BTN_TOUCH) || (event.code == BTN_LEFT)) - { - platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = event.value; - - if (event.value > 0) touchAction = 1; // TOUCH_ACTION_DOWN - else touchAction = 0; // TOUCH_ACTION_UP - gestureUpdate = true; - } - - if (event.code == BTN_RIGHT) platform.currentButtonStateEvdev[MOUSE_BUTTON_RIGHT] = event.value; - if (event.code == BTN_MIDDLE) platform.currentButtonStateEvdev[MOUSE_BUTTON_MIDDLE] = event.value; - if (event.code == BTN_SIDE) platform.currentButtonStateEvdev[MOUSE_BUTTON_SIDE] = event.value; - if (event.code == BTN_EXTRA) platform.currentButtonStateEvdev[MOUSE_BUTTON_EXTRA] = event.value; - if (event.code == BTN_FORWARD) platform.currentButtonStateEvdev[MOUSE_BUTTON_FORWARD] = event.value; - if (event.code == BTN_BACK) platform.currentButtonStateEvdev[MOUSE_BUTTON_BACK] = event.value; - } - - // Screen confinement - if (!CORE.Input.Mouse.cursorHidden) - { - if (CORE.Input.Mouse.currentPosition.x < 0) CORE.Input.Mouse.currentPosition.x = 0; - if (CORE.Input.Mouse.currentPosition.x > CORE.Window.screen.width/CORE.Input.Mouse.scale.x) CORE.Input.Mouse.currentPosition.x = CORE.Window.screen.width/CORE.Input.Mouse.scale.x; - - if (CORE.Input.Mouse.currentPosition.y < 0) CORE.Input.Mouse.currentPosition.y = 0; - if (CORE.Input.Mouse.currentPosition.y > CORE.Window.screen.height/CORE.Input.Mouse.scale.y) CORE.Input.Mouse.currentPosition.y = CORE.Window.screen.height/CORE.Input.Mouse.scale.y; - } - - // Update touch point count - CORE.Input.Touch.pointCount = 0; - for (int i = 0; i < MAX_TOUCH_POINTS; i++) - { - if (CORE.Input.Touch.position[i].x >= 0) CORE.Input.Touch.pointCount++; - } - -#if defined(SUPPORT_GESTURES_SYSTEM) - if (gestureUpdate) - { - GestureEvent gestureEvent = { 0 }; - - gestureEvent.touchAction = touchAction; - gestureEvent.pointCount = CORE.Input.Touch.pointCount; - - for (int i = 0; i < MAX_TOUCH_POINTS; i++) - { - gestureEvent.pointId[i] = i; - gestureEvent.position[i] = CORE.Input.Touch.position[i]; - } - - ProcessGestureEvent(gestureEvent); - } -#endif - } - - WaitTime(0.005); // Sleep for 5ms to avoid hogging CPU time - } - - close(worker->fd); -*/ - return NULL; -} - -// Initialize gamepad system -static void InitGamepad(void) -{ - char gamepadDev[128] = { 0 }; - - for (int i = 0; i < MAX_GAMEPADS; i++) - { - sprintf(gamepadDev, "%s%i", DEFAULT_GAMEPAD_DEV, i); - - if ((platform.gamepadStreamFd[i] = open(gamepadDev, O_RDONLY | O_NONBLOCK)) < 0) - { - // NOTE: Only show message for first gamepad - if (i == 0) TRACELOG(LOG_WARNING, "RPI: Failed to open Gamepad device, no gamepad available"); - } - else - { - CORE.Input.Gamepad.ready[i] = true; - - // NOTE: Only show message for first gamepad - if (i == 0) TRACELOG(LOG_INFO, "RPI: Gamepad device initialized successfully"); - - ioctl(platform.gamepadStreamFd[i], JSIOCGNAME(64), &CORE.Input.Gamepad.name[i]); - ioctl(platform.gamepadStreamFd[i], JSIOCGAXES, &CORE.Input.Gamepad.axisCount[i]); - } - } -} - -// Process Gamepad (/dev/input/js0) static void PollGamepadEvents(void) { - #define JS_EVENT_BUTTON 0x01 // Button pressed/released - #define JS_EVENT_AXIS 0x02 // Joystick axis moved - #define JS_EVENT_INIT 0x80 // Initial state of device - - struct js_event { - unsigned int time; // event timestamp in milliseconds - short value; // event value - unsigned char type; // event type - unsigned char number; // event axis/button number - }; - // Read gamepad event - struct js_event gamepadEvent = { 0 }; + struct input_event event = { 0 }; - for (int i = 0; i < MAX_GAMEPADS; i++) + for (int i = 0; i < platform.gamepadCount; i++) { - if (CORE.Input.Gamepad.ready[i]) + if (!CORE.Input.Gamepad.ready[i]) continue; + + // Register previous gamepad states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; + + while (read(platform.gamepadStreamFd[i], &event, sizeof(event)) == (int)sizeof(event)) { - // Register previous gamepad states - for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; - - while (read(platform.gamepadStreamFd[i], &gamepadEvent, sizeof(struct js_event)) == (int)sizeof(struct js_event)) + if (event.type == EV_KEY) { - gamepadEvent.type &= ~JS_EVENT_INIT; // Ignore synthetic events + if (event.code >= MAX_GAMEPAD_BUTTONS) continue; - // Process gamepad events by type - if (gamepadEvent.type == JS_EVENT_BUTTON) - { - TRACELOG(LOG_DEBUG, "RPI: Gamepad %i button: %i, value: %i", i, gamepadEvent.number, gamepadEvent.value); + TRACELOG(LOG_DEBUG, "DRM: Gamepad %i button: %i, value: %i", i, event.code, event.value); - if (gamepadEvent.number < MAX_GAMEPAD_BUTTONS) - { - // 1 - button pressed, 0 - button released - CORE.Input.Gamepad.currentButtonState[i][gamepadEvent.number] = (int)gamepadEvent.value; + // 1 - button pressed, 0 - button released + CORE.Input.Gamepad.currentButtonState[i][event.code] = event.value; - if ((int)gamepadEvent.value == 1) CORE.Input.Gamepad.lastButtonPressed = gamepadEvent.number; - else CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN - } - } - else if (gamepadEvent.type == JS_EVENT_AXIS) - { - TRACELOG(LOG_DEBUG, "RPI: Gamepad %i axis: %i, value: %i", i, gamepadEvent.number, gamepadEvent.value); + if (event.value == 1) CORE.Input.Gamepad.lastButtonPressed = event.code; + else CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN + } + else if (event.type == EV_ABS) + { + if (event.code >= MAX_GAMEPAD_AXIS) continue; - if (gamepadEvent.number < MAX_GAMEPAD_AXIS) - { - // NOTE: Scaling of gamepadEvent.value to get values between -1..1 - CORE.Input.Gamepad.axisState[i][gamepadEvent.number] = (float)gamepadEvent.value/32768; - } - } + TRACELOG(LOG_DEBUG, "DRM: Gamepad %i axis: %i, value: %i", i, platform.gamepadAbsAxisMap[i][event.code], event.value); + + int min = platform.gamepadAbsAxisRange[i][event.code][0]; + int range = platform.gamepadAbsAxisRange[i][event.code][1]; + + // NOTE: Scaling of event.value to get values between -1..1 + CORE.Input.Gamepad.axisState[i][platform.gamepadAbsAxisMap[i][event.code]] = (2 * (float)(event.value - min) / range) - 1; } } } } +static void PollMouseEvents(void) +{ + int fd = platform.mouseFd; + if (fd == -1) return; + + struct input_event event = { 0 }; + + int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE + + // Try to read data from the mouse/touch/gesture and only continue if successful + while (read(fd, &event, sizeof(event)) == (int)sizeof(event)) + { + // Relative movement parsing + if (event.type == EV_REL) + { + if (event.code == REL_X) + { + if (platform.cursorRelative) + { + CORE.Input.Mouse.currentPosition.x = event.value; + CORE.Input.Mouse.previousPosition.x = 0.0f; + } + else CORE.Input.Mouse.currentPosition.x += event.value; + CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; + + touchAction = 2; // TOUCH_ACTION_MOVE + } + + if (event.code == REL_Y) + { + if (platform.cursorRelative) + { + CORE.Input.Mouse.currentPosition.y = event.value; + CORE.Input.Mouse.previousPosition.y = 0.0f; + } + else CORE.Input.Mouse.currentPosition.y += event.value; + CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; + + touchAction = 2; // TOUCH_ACTION_MOVE + } + + if (event.code == REL_WHEEL) platform.eventWheelMove.y += event.value; + } + + // Absolute movement parsing + if (event.type == EV_ABS) + { + // Basic movement + if (event.code == ABS_X) + { + CORE.Input.Mouse.currentPosition.x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange + CORE.Input.Touch.position[0].x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange + + touchAction = 2; // TOUCH_ACTION_MOVE + } + + if (event.code == ABS_Y) + { + CORE.Input.Mouse.currentPosition.y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange + CORE.Input.Touch.position[0].y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange + + touchAction = 2; // TOUCH_ACTION_MOVE + } + + // Multitouch movement + if (event.code == ABS_MT_SLOT) platform.touchSlot = event.value; // Remember the slot number for the folowing events + + if (event.code == ABS_MT_POSITION_X) + { + if (platform.touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[platform.touchSlot].x = (event.value - platform.absRange.x)*CORE.Window.screen.width/platform.absRange.width; // Scale according to absRange + } + + if (event.code == ABS_MT_POSITION_Y) + { + if (platform.touchSlot < MAX_TOUCH_POINTS) CORE.Input.Touch.position[platform.touchSlot].y = (event.value - platform.absRange.y)*CORE.Window.screen.height/platform.absRange.height; // Scale according to absRange + } + + if (event.code == ABS_MT_TRACKING_ID) + { + if ((event.value < 0) && (platform.touchSlot < MAX_TOUCH_POINTS)) + { + // Touch has ended for this point + CORE.Input.Touch.position[platform.touchSlot].x = -1; + CORE.Input.Touch.position[platform.touchSlot].y = -1; + } + } + + // Touchscreen tap + if (event.code == ABS_PRESSURE) + { + int previousMouseLeftButtonState = platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT]; + + if (!event.value && previousMouseLeftButtonState) + { + platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 0; + + touchAction = 0; // TOUCH_ACTION_UP + } + + if (event.value && !previousMouseLeftButtonState) + { + platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 1; + + touchAction = 1; // TOUCH_ACTION_DOWN + } + } + + } + + // Button parsing + if (event.type == EV_KEY) + { + // Mouse button parsing + if ((event.code == BTN_TOUCH) || (event.code == BTN_LEFT)) + { + platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = event.value; + + if (event.value > 0) touchAction = 1; // TOUCH_ACTION_DOWN + else touchAction = 0; // TOUCH_ACTION_UP + } + + if (event.code == BTN_RIGHT) platform.currentButtonStateEvdev[MOUSE_BUTTON_RIGHT] = event.value; + if (event.code == BTN_MIDDLE) platform.currentButtonStateEvdev[MOUSE_BUTTON_MIDDLE] = event.value; + if (event.code == BTN_SIDE) platform.currentButtonStateEvdev[MOUSE_BUTTON_SIDE] = event.value; + if (event.code == BTN_EXTRA) platform.currentButtonStateEvdev[MOUSE_BUTTON_EXTRA] = event.value; + if (event.code == BTN_FORWARD) platform.currentButtonStateEvdev[MOUSE_BUTTON_FORWARD] = event.value; + if (event.code == BTN_BACK) platform.currentButtonStateEvdev[MOUSE_BUTTON_BACK] = event.value; + } + + // Screen confinement + if (!CORE.Input.Mouse.cursorHidden) + { + if (CORE.Input.Mouse.currentPosition.x < 0) CORE.Input.Mouse.currentPosition.x = 0; + if (CORE.Input.Mouse.currentPosition.x > CORE.Window.screen.width/CORE.Input.Mouse.scale.x) CORE.Input.Mouse.currentPosition.x = CORE.Window.screen.width/CORE.Input.Mouse.scale.x; + + if (CORE.Input.Mouse.currentPosition.y < 0) CORE.Input.Mouse.currentPosition.y = 0; + if (CORE.Input.Mouse.currentPosition.y > CORE.Window.screen.height/CORE.Input.Mouse.scale.y) CORE.Input.Mouse.currentPosition.y = CORE.Window.screen.height/CORE.Input.Mouse.scale.y; + } + + // Update touch point count + CORE.Input.Touch.pointCount = 0; + for (int i = 0; i < MAX_TOUCH_POINTS; i++) + { + if (CORE.Input.Touch.position[i].x >= 0) CORE.Input.Touch.pointCount++; + } + +#if defined(SUPPORT_GESTURES_SYSTEM) + if (touchAction > -1) + { + GestureEvent gestureEvent = { 0 }; + + gestureEvent.touchAction = touchAction; + gestureEvent.pointCount = CORE.Input.Touch.pointCount; + + for (int i = 0; i < MAX_TOUCH_POINTS; i++) + { + gestureEvent.pointId[i] = i; + gestureEvent.position[i] = CORE.Input.Touch.position[i]; + } + + ProcessGestureEvent(gestureEvent); + + touchAction = -1; + } +#endif + } +} + // Search matching DRM mode in connector's mode list static int FindMatchingConnectorMode(const drmModeConnector *connector, const drmModeModeInfo *mode) { From 07128896af36817f8760068729111dcab29f6fdc Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 28 Mar 2024 19:55:55 +0100 Subject: [PATCH 197/745] Update rcore_drm.c --- src/platforms/rcore_drm.c | 80 ++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index b911a1dae..8251b6946 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -57,20 +57,23 @@ #include // Required for: ioctl() - UNIX System call for device-specific input/output operations #include // Linux: KDSKBMODE, K_MEDIUMRAM constants definition #include // Linux: Keycodes constants definition (KEY_A, ...) +#include // Linux: Joystick support library -// So both `linux/input.h` and `raylib.h` define KEY_F12 +// WARNING: Both 'linux/input.h' and 'raylib.h' define KEY_F12 // To avoid conflict with the capturing code in rcore.c we undefine the macro KEY_F12, // so the enum KEY_F12 from raylib is used #undef KEY_F12 -#include // Linux: Joystick support library +#include // Generic Buffer Management (native platform for EGL on DRM) +#include // Direct Rendering Manager user-level library interface +#include // Direct Rendering Manager mode setting (KMS) interface -#include // Generic Buffer Management (native platform for EGL on DRM) -#include // Direct Rendering Manager user-level library interface -#include // Direct Rendering Manager mode setting (KMS) interface +#include "EGL/egl.h" // Native platform windowing system interface +#include "EGL/eglext.h" // EGL extensions -#include "EGL/egl.h" // Native platform windowing system interface -#include "EGL/eglext.h" // EGL extensions +#ifndef EGL_OPENGL_ES3_BIT + #define EGL_OPENGL_ES3_BIT 0x40 +#endif //---------------------------------------------------------------------------------- // Defines and Macros @@ -157,7 +160,7 @@ static const int keymapUS[] = { // NOTE: The complete evdev EV_KEY list can be found at /usr/include/linux/input-event-codes.h // TODO: Complete the LUT with all unicode decimal values -static const int EvkeyToUnicodeLUT[] = { +static const int evkeyToUnicodeLUT[] = { 0, 27, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 45, 61, 8, 0, 113, 119, 101, 114, 116, 121, 117, 105, 111, 112, 0, 0, 13, 0, 97, 115, 100, 102, 103, 104, 106, 107, 108, 59, 39, 96, 0, 92, 122, 120, 99, 118, 98, 110, 109, 44, 46, 47, 0, 0, 0, 32 @@ -554,12 +557,11 @@ void PollInputEvents(void) PollKeyboardEvents(); - #if defined(SUPPORT_SSH_KEYBOARD_RPI) - // NOTE: Keyboard reading could be done using input_event(s) or just read from stdin, both methods are used here. - // stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console - - if (!platform.eventKeyboardMode) ProcessKeyboard(); - #endif +#if defined(SUPPORT_SSH_KEYBOARD_RPI) + // NOTE: Keyboard reading could be done using input_event(s) or just read from stdin, both methods are used here. + // stdin reading is still used for legacy purposes, it allows keyboard input trough SSH console + if (!platform.eventKeyboardMode) ProcessKeyboard(); +#endif // Check exit key if (CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey] == 1) CORE.Window.shouldClose = true; @@ -572,6 +574,7 @@ void PollInputEvents(void) CORE.Input.Mouse.previousWheelMove = CORE.Input.Mouse.currentWheelMove; CORE.Input.Mouse.currentWheelMove = platform.eventWheelMove; platform.eventWheelMove = (Vector2){ 0.0f, 0.0f }; + for (int i = 0; i < MAX_MOUSE_BUTTONS; i++) { CORE.Input.Mouse.previousButtonState[i] = CORE.Input.Mouse.currentButtonState[i]; @@ -592,7 +595,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; // Handle the mouse/touch/gestures events: - // NOTE: Replaces the EventThread handling that is now commented. PollMouseEvents(); } @@ -952,10 +954,9 @@ int InitPlatform(void) //---------------------------------------------------------------------------- InitEvdevInput(); // Evdev inputs initialization - #if defined(SUPPORT_SSH_KEYBOARD_RPI) - InitKeyboard(); // Keyboard init (stdin) - #endif - +#if defined(SUPPORT_SSH_KEYBOARD_RPI) + InitKeyboard(); // Keyboard init (stdin) +#endif //---------------------------------------------------------------------------- // Initialize storage system @@ -1057,7 +1058,6 @@ void ClosePlatform(void) } #if defined(SUPPORT_SSH_KEYBOARD_RPI) - // Initialize Keyboard system (using standard input) static void InitKeyboard(void) { @@ -1261,7 +1261,7 @@ static void InitEvdevInput(void) closedir(directory); } - else TRACELOG(LOG_WARNING, "DRM: Failed to open linux event directory: %s", DEFAULT_EVDEV_PATH); + else TRACELOG(LOG_WARNING, "INPUT: Failed to open linux event directory: %s", DEFAULT_EVDEV_PATH); } // Identifies a input device and configures it for use if appropriate @@ -1308,7 +1308,8 @@ static void ConfigureEvdevDevice(char *device) ioctl(fd, EVIOCGBIT(0, sizeof(evBits)), evBits); ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keyBits)), keyBits); - if (TEST_BIT(evBits, EV_ABS)) { + if (TEST_BIT(evBits, EV_ABS)) + { ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absBits)), absBits); // If the device has an X an Y axis it's either a touch device, a special mouse or a gamepad @@ -1333,10 +1334,12 @@ static void ConfigureEvdevDevice(char *device) else if (hasAbsXY && TEST_BIT(keyBits, BTN_MOUSE)) isMouse = true; // If any of the common joystick axis is present, we assume it's a gamepad - else { - for (int axis = (hasAbsXY ? ABS_Z : ABS_X); axis < ABS_PRESSURE; axis++) + else + { + for (int axis = (hasAbsXY? ABS_Z : ABS_X); axis < ABS_PRESSURE; axis++) { - if (TEST_BIT(absBits, axis)) { + if (TEST_BIT(absBits, axis)) + { isGamepad = true; absAxisCount++; @@ -1391,16 +1394,8 @@ static void ConfigureEvdevDevice(char *device) { deviceKindStr = "mouse"; if (platform.mouseFd != -1) close(platform.mouseFd); - platform.mouseFd = fd; -// TODO: What is this supposed to do? -// Previously if set, it just didn't do anything as the thread code got deleted, so no new -// threads were created and this deleted all old threads, thus doing nothing -// And the description isn't quite clear as to how it behaves together with a mouse -#if defined(USE_LAST_TOUCH_DEVICE) -#endif - if (absAxisCount > 0) { platform.absRange.x = absinfo[ABS_X].minimum; @@ -1452,7 +1447,7 @@ static void ConfigureEvdevDevice(char *device) return; } - TRACELOG(LOG_INFO, "Initialized input device %s as %s", device, deviceKindStr); + TRACELOG(LOG_INFO, "INPUT: Initialized input device %s as %s", device, deviceKindStr); } // Poll and process evdev keyboard events @@ -1504,17 +1499,18 @@ static void PollKeyboardEvents(void) if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { // TODO/FIXME: This is not actually converting to unicode properly because it's not taking things like shift into account - CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = EvkeyToUnicodeLUT[event.code]; + CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = evkeyToUnicodeLUT[event.code]; CORE.Input.Keyboard.charPressedQueueCount++; } } - TRACELOG(LOG_DEBUG, "DRM: KEY_%s Keycode(linux): %4i KeyCode(raylib): %4i", (event.value == 0) ? "UP " : "DOWN", event.code, keycode); + TRACELOG(LOG_DEBUG, "INPUT: KEY_%s Keycode(linux): %4i KeyCode(raylib): %4i", (event.value == 0) ? "UP " : "DOWN", event.code, keycode); } } } } +// Poll gamepad input events static void PollGamepadEvents(void) { // Read gamepad event @@ -1533,7 +1529,7 @@ static void PollGamepadEvents(void) { if (event.code >= MAX_GAMEPAD_BUTTONS) continue; - TRACELOG(LOG_DEBUG, "DRM: Gamepad %i button: %i, value: %i", i, event.code, event.value); + TRACELOG(LOG_DEBUG, "INPUT: Gamepad %i button: %i, value: %i", i, event.code, event.value); // 1 - button pressed, 0 - button released CORE.Input.Gamepad.currentButtonState[i][event.code] = event.value; @@ -1545,7 +1541,7 @@ static void PollGamepadEvents(void) { if (event.code >= MAX_GAMEPAD_AXIS) continue; - TRACELOG(LOG_DEBUG, "DRM: Gamepad %i axis: %i, value: %i", i, platform.gamepadAbsAxisMap[i][event.code], event.value); + TRACELOG(LOG_DEBUG, "INPUT: Gamepad %i axis: %i, value: %i", i, platform.gamepadAbsAxisMap[i][event.code], event.value); int min = platform.gamepadAbsAxisRange[i][event.code][0]; int range = platform.gamepadAbsAxisRange[i][event.code][1]; @@ -1557,13 +1553,13 @@ static void PollGamepadEvents(void) } } +// Poll mouse input events static void PollMouseEvents(void) { int fd = platform.mouseFd; if (fd == -1) return; struct input_event event = { 0 }; - int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE // Try to read data from the mouse/touch/gesture and only continue if successful @@ -1580,8 +1576,8 @@ static void PollMouseEvents(void) CORE.Input.Mouse.previousPosition.x = 0.0f; } else CORE.Input.Mouse.currentPosition.x += event.value; + CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; - touchAction = 2; // TOUCH_ACTION_MOVE } @@ -1593,8 +1589,8 @@ static void PollMouseEvents(void) CORE.Input.Mouse.previousPosition.y = 0.0f; } else CORE.Input.Mouse.currentPosition.y += event.value; + CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; - touchAction = 2; // TOUCH_ACTION_MOVE } @@ -1652,14 +1648,12 @@ static void PollMouseEvents(void) if (!event.value && previousMouseLeftButtonState) { platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 0; - touchAction = 0; // TOUCH_ACTION_UP } if (event.value && !previousMouseLeftButtonState) { platform.currentButtonStateEvdev[MOUSE_BUTTON_LEFT] = 1; - touchAction = 1; // TOUCH_ACTION_DOWN } } From eda239cc97e78e548621013e2d2ce94149e8702b Mon Sep 17 00:00:00 2001 From: MrMugame <40832361+MrMugame@users.noreply.github.com> Date: Fri, 29 Mar 2024 01:40:20 +0100 Subject: [PATCH 198/745] Fixing gamepad buttons not working in drm backend (#3888) * Fixing gamepad buttons in drm backend * Remove trailing spaces * Axis enumeration now works properly --- src/platforms/rcore_drm.c | 166 +++++++++++++++++++++++++++----------- src/raylib.h | 4 +- 2 files changed, 120 insertions(+), 50 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 8251b6946..a07ba27f1 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -82,6 +82,10 @@ #define DEFAULT_EVDEV_PATH "/dev/input/" // Path to the linux input events +// So actually the biggest key is KEY_CNT but we only really map the keys up to +// KEY_ALS_TOGGLE +#define KEYMAP_SIZE KEY_ALS_TOGGLE + //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -135,31 +139,13 @@ static PlatformData platform = { 0 }; // Platform specific data //---------------------------------------------------------------------------------- // Local Variables Definition //---------------------------------------------------------------------------------- -// Scancode to keycode mapping for US keyboards + +// NOTE: The complete evdev EV_KEY list can be found at /usr/include/linux/input-event-codes.h +// TODO: Complete the LUT with all unicode decimal values // TODO: Replace this with a keymap from the X11 to get the correct regional map for the keyboard: // Currently non US keyboards will have the wrong mapping for some keys // NOTE: Replacing this with the keymap from X11 would probably be useless, as people use the drm // backend to *avoid* X11 -static const int keymapUS[] = { - 0, 256, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 45, 61, 259, 258, 81, 87, 69, 82, 84, - 89, 85, 73, 79, 80, 91, 93, 257, 341, 65, 83, 68, 70, 71, 72, 74, 75, 76, 59, 39, 96, - 340, 92, 90, 88, 67, 86, 66, 78, 77, 44, 46, 47, 344, 332, 342, 32, 280, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 282, 281, 327, 328, 329, 333, 324, 325, - 326, 334, 321, 322, 323, 320, 330, 0, 85, 86, 300, 301, 89, 90, 91, 92, 93, 94, 95, - 335, 345, 331, 283, 346, 101, 268, 265, 266, 263, 262, 269, 264, 267, 260, 261, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 347, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 0, 0, 0, 0, 0, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0 -}; - -// NOTE: The complete evdev EV_KEY list can be found at /usr/include/linux/input-event-codes.h -// TODO: Complete the LUT with all unicode decimal values static const int evkeyToUnicodeLUT[] = { 0, 27, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 45, 61, 8, 0, 113, 119, 101, 114, 116, 121, 117, 105, 111, 112, 0, 0, 13, 0, 97, 115, 100, 102, 103, 104, 106, 107, 108, 59, @@ -167,6 +153,67 @@ static const int evkeyToUnicodeLUT[] = { // LUT currently incomplete, just mapped the most essential keys }; +// This is the map used to map any keycode returned from linux to a raylib code from 'raylib.h' +// NOTE: Use short here to save a little memory +static const short linuxToRaylibMap[KEYMAP_SIZE] = { + // We don't map those with designated initialization, because we would getting + // into loads of naming conflicts + 0, 256, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 48, 45, 61, 259, 258, + 81, 87, 69, 82, 84, 89, 85, 73, + 79, 80, 91, 93, 257, 341, 65, 83, + 68, 70, 71, 72, 74, 75, 76, 59, + 39, 96, 340, 92, 90, 88, 67, 86, + 66, 78, 77, 44, 46, 47, 344, 332, + 342, 32, 280, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 282, 281, 327, + 328, 329, 333, 324, 325, 326, 334, 321, + 322, 323, 320, 330, 0, 85, 86, 300, + 301, 89, 90, 91, 92, 93, 94, 95, + 335, 345, 331, 283, 346, 101, 268, 265, + 266, 263, 262, 269, 264, 267, 260, 261, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 347, 127, + 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 0, 0, 0, 0, 0, + 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, + 248, 0, 0, 0, 0, 0, 0, 0, + + // Gamepads are mapped according to: + // https://www.kernel.org/doc/html/next/input/gamepad.html + // Those mappings are standardized, but that doesn't mean people follow + // the standards, so this is more of an approximation + [BTN_DPAD_UP] = GAMEPAD_BUTTON_LEFT_FACE_UP, + [BTN_DPAD_RIGHT] = GAMEPAD_BUTTON_LEFT_FACE_RIGHT, + [BTN_DPAD_DOWN] = GAMEPAD_BUTTON_LEFT_FACE_DOWN, + [BTN_DPAD_LEFT] = GAMEPAD_BUTTON_LEFT_FACE_LEFT, + [BTN_Y] = GAMEPAD_BUTTON_RIGHT_FACE_UP, + [BTN_B] = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, + [BTN_A] = GAMEPAD_BUTTON_RIGHT_FACE_DOWN, + [BTN_X] = GAMEPAD_BUTTON_RIGHT_FACE_LEFT, + [BTN_TL] = GAMEPAD_BUTTON_LEFT_TRIGGER_1, + [BTN_TL2] = GAMEPAD_BUTTON_LEFT_TRIGGER_2, + [BTN_TR] = GAMEPAD_BUTTON_RIGHT_TRIGGER_1, + [BTN_TR2] GAMEPAD_BUTTON_RIGHT_TRIGGER_2, + [BTN_SELECT] = GAMEPAD_BUTTON_MIDDLE_LEFT, + [BTN_MODE] = GAMEPAD_BUTTON_MIDDLE, + [BTN_START] = GAMEPAD_BUTTON_MIDDLE_RIGHT, + [BTN_THUMBL] = GAMEPAD_BUTTON_LEFT_THUMB, + [BTN_THUMBR] = GAMEPAD_BUTTON_RIGHT_THUMB, +}; + //---------------------------------------------------------------------------------- // Module Internal Functions Declaration //---------------------------------------------------------------------------------- @@ -574,7 +621,7 @@ void PollInputEvents(void) CORE.Input.Mouse.previousWheelMove = CORE.Input.Mouse.currentWheelMove; CORE.Input.Mouse.currentWheelMove = platform.eventWheelMove; platform.eventWheelMove = (Vector2){ 0.0f, 0.0f }; - + for (int i = 0; i < MAX_MOUSE_BUTTONS; i++) { CORE.Input.Mouse.previousButtonState[i] = CORE.Input.Mouse.currentButtonState[i]; @@ -1293,7 +1340,10 @@ static void ConfigureEvdevDevice(char *device) // Identify the device //------------------------------------------------------------------------------------------------------- - struct input_absinfo absinfo[ABS_CNT] = { 0 }; + struct { + bool exist; + struct input_absinfo info; + } absinfo[ABS_CNT] = { 0 }; // These flags aren't really a one of // Some devices could have properties we assosciate with keyboards as well as properties @@ -1318,8 +1368,12 @@ static void ConfigureEvdevDevice(char *device) if (hasAbsXY) { absAxisCount += 2; - ioctl(fd, EVIOCGABS(ABS_X), &absinfo[ABS_X]); - ioctl(fd, EVIOCGABS(ABS_Y), &absinfo[ABS_Y]); + + absinfo[ABS_X].exist = true; + absinfo[ABS_Y].exist = true; + + ioctl(fd, EVIOCGABS(ABS_X), &absinfo[ABS_X].info); + ioctl(fd, EVIOCGABS(ABS_Y), &absinfo[ABS_Y].info); } // If it has any of these buttons it's a touch device @@ -1340,10 +1394,11 @@ static void ConfigureEvdevDevice(char *device) { if (TEST_BIT(absBits, axis)) { + absinfo[axis].exist = true; isGamepad = true; absAxisCount++; - ioctl(fd, EVIOCGABS(axis), &absinfo[axis]); + ioctl(fd, EVIOCGABS(axis), &absinfo[axis].info); } } } @@ -1398,11 +1453,11 @@ static void ConfigureEvdevDevice(char *device) if (absAxisCount > 0) { - platform.absRange.x = absinfo[ABS_X].minimum; - platform.absRange.width = absinfo[ABS_X].maximum - absinfo[ABS_X].minimum; + platform.absRange.x = absinfo[ABS_X].info.minimum; + platform.absRange.width = absinfo[ABS_X].info.maximum - absinfo[ABS_X].info.minimum; - platform.absRange.y = absinfo[ABS_Y].minimum; - platform.absRange.height = absinfo[ABS_Y].maximum - absinfo[ABS_Y].minimum; + platform.absRange.y = absinfo[ABS_Y].info.minimum; + platform.absRange.height = absinfo[ABS_Y].info.maximum - absinfo[ABS_Y].info.minimum; } } else if (isGamepad && !isMouse && !isKeyboard && platform.gamepadCount < MAX_GAMEPADS) @@ -1429,10 +1484,14 @@ static void ConfigureEvdevDevice(char *device) int axisIndex = 0; for (int axis = ABS_X; axis < ABS_PRESSURE; axis++) { - platform.gamepadAbsAxisRange[index][axisIndex][0] = absinfo[axisIndex].minimum; - platform.gamepadAbsAxisRange[index][axisIndex][1] = absinfo[axisIndex].maximum - absinfo[axisIndex].minimum; + if (absinfo[axis].exist) + { + platform.gamepadAbsAxisRange[index][axisIndex][0] = absinfo[axisIndex].info.minimum; + platform.gamepadAbsAxisRange[index][axisIndex][1] = absinfo[axisIndex].info.maximum - absinfo[axisIndex].info.minimum; - platform.gamepadAbsAxisMap[index][axis] = axisIndex++; + platform.gamepadAbsAxisMap[index][axis] = axisIndex; + axisIndex++; + } } } } @@ -1475,7 +1534,7 @@ static void PollKeyboardEvents(void) { // Lookup the scancode in the keymap to get a keycode - keycode = keymapUS[event.code]; + keycode = linuxToRaylibMap[event.code]; // Make sure we got a valid keycode if ((keycode > 0) && (keycode < MAX_KEYBOARD_KEYS)) @@ -1527,27 +1586,38 @@ static void PollGamepadEvents(void) { if (event.type == EV_KEY) { - if (event.code >= MAX_GAMEPAD_BUTTONS) continue; + if (event.code < KEYMAP_SIZE) + { + short keycodeRaylib = linuxToRaylibMap[event.code]; - TRACELOG(LOG_DEBUG, "INPUT: Gamepad %i button: %i, value: %i", i, event.code, event.value); + TRACELOG(LOG_DEBUG, "INPUT: Gamepad %2i: KEY_%s Keycode(linux): %4i Keycode(raylib): %4i", i, (event.value == 0) ? "UP " : "DOWN", event.code, keycodeRaylib); - // 1 - button pressed, 0 - button released - CORE.Input.Gamepad.currentButtonState[i][event.code] = event.value; + if ((keycodeRaylib != 0) && (keycodeRaylib < MAX_GAMEPAD_BUTTONS)) + { + // 1 - button pressed, 0 - button released + CORE.Input.Gamepad.currentButtonState[i][keycodeRaylib] = event.value; - if (event.value == 1) CORE.Input.Gamepad.lastButtonPressed = event.code; - else CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN + CORE.Input.Gamepad.lastButtonPressed = (event.value == 1)? keycodeRaylib : GAMEPAD_BUTTON_UNKNOWN; + } + } } else if (event.type == EV_ABS) { - if (event.code >= MAX_GAMEPAD_AXIS) continue; + if (event.code < ABS_CNT) + { + int axisRaylib = platform.gamepadAbsAxisMap[i][event.code]; - TRACELOG(LOG_DEBUG, "INPUT: Gamepad %i axis: %i, value: %i", i, platform.gamepadAbsAxisMap[i][event.code], event.value); + TRACELOG(LOG_DEBUG, "INPUT: Gamepad %2i: Axis: %2i Value: %i", i, axisRaylib, event.value); - int min = platform.gamepadAbsAxisRange[i][event.code][0]; - int range = platform.gamepadAbsAxisRange[i][event.code][1]; + if (axisRaylib < MAX_GAMEPAD_AXIS) + { + int min = platform.gamepadAbsAxisRange[i][event.code][0]; + int range = platform.gamepadAbsAxisRange[i][event.code][1]; - // NOTE: Scaling of event.value to get values between -1..1 - CORE.Input.Gamepad.axisState[i][platform.gamepadAbsAxisMap[i][event.code]] = (2 * (float)(event.value - min) / range) - 1; + // NOTE: Scaling of event.value to get values between -1..1 + CORE.Input.Gamepad.axisState[i][axisRaylib] = (2 * (float)(event.value - min) / range) - 1; + } + } } } } @@ -1576,7 +1646,7 @@ static void PollMouseEvents(void) CORE.Input.Mouse.previousPosition.x = 0.0f; } else CORE.Input.Mouse.currentPosition.x += event.value; - + CORE.Input.Touch.position[0].x = CORE.Input.Mouse.currentPosition.x; touchAction = 2; // TOUCH_ACTION_MOVE } @@ -1589,7 +1659,7 @@ static void PollMouseEvents(void) CORE.Input.Mouse.previousPosition.y = 0.0f; } else CORE.Input.Mouse.currentPosition.y += event.value; - + CORE.Input.Touch.position[0].y = CORE.Input.Mouse.currentPosition.y; touchAction = 2; // TOUCH_ACTION_MOVE } diff --git a/src/raylib.h b/src/raylib.h index 1a15e124d..0f6fdf514 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -721,9 +721,9 @@ typedef enum { GAMEPAD_BUTTON_LEFT_FACE_DOWN, // Gamepad left DPAD down button GAMEPAD_BUTTON_LEFT_FACE_LEFT, // Gamepad left DPAD left button GAMEPAD_BUTTON_RIGHT_FACE_UP, // Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) - GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, // Gamepad right button right (i.e. PS3: Square, Xbox: X) + GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, // Gamepad right button right (i.e. PS3: Circle, Xbox: B) GAMEPAD_BUTTON_RIGHT_FACE_DOWN, // Gamepad right button down (i.e. PS3: Cross, Xbox: A) - GAMEPAD_BUTTON_RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Circle, Xbox: B) + GAMEPAD_BUTTON_RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Square, Xbox: X) GAMEPAD_BUTTON_LEFT_TRIGGER_1, // Gamepad top/back trigger left (first), it could be a trailing button GAMEPAD_BUTTON_LEFT_TRIGGER_2, // Gamepad top/back trigger left (second), it could be a trailing button GAMEPAD_BUTTON_RIGHT_TRIGGER_1, // Gamepad top/back trigger right (one), it could be a trailing button From 7c75746b919d6ec1eeb609ae6f6bfb35b64e0cb7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 29 Mar 2024 00:40:37 +0000 Subject: [PATCH 199/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 18 ++++++++++++------ parser/output/raylib_api.lua | 18 ++++++++++++------ parser/output/raylib_api.txt | 15 ++++++++++----- parser/output/raylib_api.xml | 15 ++++++++------- 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index ec8d57a8c..ab12a43ed 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -335,6 +335,12 @@ "type": "UNKNOWN", "value": "SHADER_LOC_MAP_METALNESS", "description": "" + }, + { + "name": "GetMouseRay", + "type": "UNKNOWN", + "value": "GetScreenToWorldRay", + "description": "Compatibility hack for previous raylib versions" } ], "structs": [ @@ -2223,7 +2229,7 @@ { "name": "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", "value": 6, - "description": "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + "description": "Gamepad right button right (i.e. PS3: Circle, Xbox: B)" }, { "name": "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", @@ -2233,7 +2239,7 @@ { "name": "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", "value": 8, - "description": "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + "description": "Gamepad right button left (i.e. PS3: Square, Xbox: X)" }, { "name": "GAMEPAD_BUTTON_LEFT_TRIGGER_1", @@ -3873,12 +3879,12 @@ }, { "name": "GetScreenToWorldRay", - "description": "Get a ray trace from mouse position", + "description": "Get a ray trace from screen position (i.e mouse)", "returnType": "Ray", "params": [ { "type": "Vector2", - "name": "mousePosition" + "name": "position" }, { "type": "Camera", @@ -3888,12 +3894,12 @@ }, { "name": "GetScreenToWorldRayEx", - "description": "Get a ray trace from mouse position in a viewport", + "description": "Get a ray trace from screen position (i.e mouse) in a viewport", "returnType": "Ray", "params": [ { "type": "Vector2", - "name": "mousePosition" + "name": "position" }, { "type": "Camera", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 01c1abf30..f64e8eb0e 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -335,6 +335,12 @@ return { type = "UNKNOWN", value = "SHADER_LOC_MAP_METALNESS", description = "" + }, + { + name = "GetMouseRay", + type = "UNKNOWN", + value = "GetScreenToWorldRay", + description = "Compatibility hack for previous raylib versions" } }, structs = { @@ -2223,7 +2229,7 @@ return { { name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", value = 6, - description = "Gamepad right button right (i.e. PS3: Square, Xbox: X)" + description = "Gamepad right button right (i.e. PS3: Circle, Xbox: B)" }, { name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", @@ -2233,7 +2239,7 @@ return { { name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", value = 8, - description = "Gamepad right button left (i.e. PS3: Circle, Xbox: B)" + description = "Gamepad right button left (i.e. PS3: Square, Xbox: X)" }, { name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", @@ -3636,19 +3642,19 @@ return { }, { name = "GetScreenToWorldRay", - description = "Get a ray trace from mouse position", + description = "Get a ray trace from screen position (i.e mouse)", returnType = "Ray", params = { - {type = "Vector2", name = "mousePosition"}, + {type = "Vector2", name = "position"}, {type = "Camera", name = "camera"} } }, { name = "GetScreenToWorldRayEx", - description = "Get a ray trace from mouse position in a viewport", + description = "Get a ray trace from screen position (i.e mouse) in a viewport", returnType = "Ray", params = { - {type = "Vector2", name = "mousePosition"}, + {type = "Vector2", name = "position"}, {type = "Camera", name = "camera"}, {type = "float", name = "width"}, {type = "float", name = "height"} diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index d49ac33e4..6a1c17c05 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -1,5 +1,5 @@ -Defines found: 56 +Defines found: 57 Define 001: RAYLIB_H Name: RAYLIB_H @@ -281,6 +281,11 @@ Define 056: SHADER_LOC_MAP_SPECULAR Type: UNKNOWN Value: SHADER_LOC_MAP_METALNESS Description: +Define 057: GetMouseRay + Name: GetMouseRay + Type: UNKNOWN + Value: GetScreenToWorldRay + Description: Compatibility hack for previous raylib versions Structures found: 34 @@ -1424,14 +1429,14 @@ Function 083: UnloadShader() (1 input parameters) Function 084: GetScreenToWorldRay() (2 input parameters) Name: GetScreenToWorldRay Return type: Ray - Description: Get a ray trace from mouse position - Param[1]: mousePosition (type: Vector2) + Description: Get a ray trace from screen position (i.e mouse) + Param[1]: position (type: Vector2) Param[2]: camera (type: Camera) Function 085: GetScreenToWorldRayEx() (4 input parameters) Name: GetScreenToWorldRayEx Return type: Ray - Description: Get a ray trace from mouse position in a viewport - Param[1]: mousePosition (type: Vector2) + Description: Get a ray trace from screen position (i.e mouse) in a viewport + Param[1]: position (type: Vector2) Param[2]: camera (type: Camera) Param[3]: width (type: float) Param[4]: height (type: float) diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 45697f24d..d4dddbcdf 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -1,6 +1,6 @@ - + @@ -57,6 +57,7 @@ + @@ -470,9 +471,9 @@ - + - + @@ -902,12 +903,12 @@ - - + + - - + + From d3744570405976e33e2a6cfd7aceda3a30c5e000 Mon Sep 17 00:00:00 2001 From: Nikolas Mauropoulos <3339081+ProIcons@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:36:30 +0200 Subject: [PATCH 200/745] Fixes zig build that was broken on #3863 (#3891) * Fixes zig build that was broken on #3863 * Make this work with wayland --- src/build.zig | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/src/build.zig b/src/build.zig index ed9013aca..93ffe47a2 100644 --- a/src/build.zig +++ b/src/build.zig @@ -115,10 +115,34 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("dl"); raylib.linkSystemLibrary("m"); - raylib.linkSystemLibrary("X11"); + raylib.addLibraryPath(.{ .path = "/usr/lib" }); raylib.addIncludePath(.{ .path = "/usr/include" }); + switch (options.linux_display_backend) { + .X11 => { + raylib.defineCMacro("_GLFW_X11", null); + raylib.linkSystemLibrary("X11"); + }, + .Wayland => { + raylib.defineCMacro("_GLFW_WAYLAND", null); + raylib.linkSystemLibrary("wayland-client"); + raylib.linkSystemLibrary("wayland-cursor"); + raylib.linkSystemLibrary("wayland-egl"); + raylib.linkSystemLibrary("xkbcommon"); + raylib.addIncludePath(.{ .path = srcdir }); + try waylandGenerate(gpa, "wayland.xml", "wayland-client-protocol"); + try waylandGenerate(gpa, "xdg-shell.xml", "xdg-shell-client-protocol"); + try waylandGenerate(gpa, "xdg-decoration-unstable-v1.xml", "xdg-decoration-unstable-v1-client-protocol"); + try waylandGenerate(gpa, "viewporter.xml", "viewporter-client-protocol"); + try waylandGenerate(gpa, "relative-pointer-unstable-v1.xml", "relative-pointer-unstable-v1-client-protocol"); + try waylandGenerate(gpa, "pointer-constraints-unstable-v1.xml", "pointer-constraints-unstable-v1-client-protocol"); + try waylandGenerate(gpa, "fractional-scale-v1.xml", "fractional-scale-v1-client-protocol"); + try waylandGenerate(gpa, "xdg-activation-v1.xml", "xdg-activation-v1-client-protocol"); + try waylandGenerate(gpa, "idle-inhibit-unstable-v1.xml", "idle-inhibit-unstable-v1-client-protocol"); + }, + } + raylib.defineCMacro("PLATFORM_DESKTOP", null); } else { raylib.linkSystemLibrary("GLESv2"); @@ -201,6 +225,12 @@ pub const Options = struct { raygui: bool = false, platform_drm: bool = false, shared: bool = false, + linux_display_backend: LinuxDisplayBackend = .X11, +}; + +pub const LinuxDisplayBackend = enum { + X11, + Wayland, }; pub fn build(b: *std.Build) !void { @@ -245,6 +275,8 @@ const srcdir = struct { } }.getSrcDir(); +const waylandDir = srcdir ++ "/external/glfw/deps/wayland"; + fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { if (comptime builtin.zig_version.minor >= 12) { return target.result.os.tag; @@ -273,6 +305,27 @@ fn addCSourceFilesVersioned( } } +fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { + _ = try std.process.Child.run(.{ + .allocator = allocator, + .argv = &[_][]const u8{ + "wayland-scanner", + "client-header", + waylandDir ++ "/" ++ protocol, + srcdir ++ "/" ++ basename ++ ".h", + }, + }); + _ = try std.process.Child.run(.{ + .allocator = allocator, + .argv = &[_][]const u8{ + "wayland-scanner", + "private-code", + waylandDir ++ "/" ++ protocol, + srcdir ++ "/" ++ basename ++ "-code.h", + }, + }); +} + fn join2(allocator: std.mem.Allocator, path1: []const u8, path2: []const u8) ![]u8 { const joinedPath = try std.fs.path.join(allocator, &[_][]const u8{ path1, path2 }); return joinedPath; From 3b353da3ab8742c5a2cf386bc96989d4a1fdc2dd Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 1 Apr 2024 18:00:52 +0200 Subject: [PATCH 201/745] Address parsing issue when generating XML #3893 --- src/raylib.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 0f6fdf514..edf4f1384 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1663,10 +1663,10 @@ RLAPI void SetAudioStreamPan(AudioStream stream, float pan); // Set pan RLAPI void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams RLAPI void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data -RLAPI void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream, receives the samples as s +RLAPI void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream, receives the samples as 'float' RLAPI void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream -RLAPI void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline, receives the samples as s +RLAPI void AttachAudioMixedProcessor(AudioCallback processor); // Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' RLAPI void DetachAudioMixedProcessor(AudioCallback processor); // Detach audio stream processor from the entire audio pipeline #if defined(__cplusplus) From 1b047995d1046a869fb0f1e8ecf430573e0207e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 1 Apr 2024 16:01:29 +0000 Subject: [PATCH 202/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 4 ++-- parser/output/raylib_api.lua | 4 ++-- parser/output/raylib_api.txt | 4 ++-- parser/output/raylib_api.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index ab12a43ed..1517846b9 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -11669,7 +11669,7 @@ }, { "name": "AttachAudioStreamProcessor", - "description": "Attach audio stream processor to stream, receives the samples as s", + "description": "Attach audio stream processor to stream, receives the samples as 'float'", "returnType": "void", "params": [ { @@ -11699,7 +11699,7 @@ }, { "name": "AttachAudioMixedProcessor", - "description": "Attach audio stream processor to the entire audio pipeline, receives the samples as s", + "description": "Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'", "returnType": "void", "params": [ { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index f64e8eb0e..1423e237d 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -8021,7 +8021,7 @@ return { }, { name = "AttachAudioStreamProcessor", - description = "Attach audio stream processor to stream, receives the samples as s", + description = "Attach audio stream processor to stream, receives the samples as 'float'", returnType = "void", params = { {type = "AudioStream", name = "stream"}, @@ -8039,7 +8039,7 @@ return { }, { name = "AttachAudioMixedProcessor", - description = "Attach audio stream processor to the entire audio pipeline, receives the samples as s", + description = "Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'", returnType = "void", params = { {type = "AudioCallback", name = "processor"} diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 6a1c17c05..1feba41e3 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -4500,7 +4500,7 @@ Function 557: SetAudioStreamCallback() (2 input parameters) Function 558: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void - Description: Attach audio stream processor to stream, receives the samples as s + Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) Function 559: DetachAudioStreamProcessor() (2 input parameters) @@ -4512,7 +4512,7 @@ Function 559: DetachAudioStreamProcessor() (2 input parameters) Function 560: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void - Description: Attach audio stream processor to the entire audio pipeline, receives the samples as s + Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) Function 561: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index d4dddbcdf..492e30a89 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -2988,7 +2988,7 @@ - + @@ -2996,7 +2996,7 @@ - + From 646d70e93a5a049cb9f603c3b94ee1ba98c9161e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 2 Apr 2024 09:38:06 +0200 Subject: [PATCH 203/745] Remove trailing spaces --- src/CMakeLists.txt | 2 +- src/platforms/rcore_desktop.c | 2 +- src/raudio.c | 8 ++++---- src/raymath.h | 8 ++++---- src/rcore.c | 12 ++++++------ src/rlgl.h | 6 +++--- src/rmodels.c | 4 ++-- src/utils.c | 4 ++-- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 919efeb4d..387665705 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,7 +15,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) endif() message(STATUS "Setting build type to '${default_build_type}' as none was specified.") - + set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index e9d372f73..04b73355e 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1739,7 +1739,7 @@ static void MouseButtonCallback(GLFWwindow *window, int button, int action, int // but future releases may add more actions (i.e. GLFW_REPEAT) CORE.Input.Mouse.currentButtonState[button] = action; CORE.Input.Touch.currentTouchState[button] = action; - + #if defined(SUPPORT_GESTURES_SYSTEM) && defined(SUPPORT_MOUSE_GESTURES) // Process mouse events as touches to be able to use mouse-gestures GestureEvent gestureEvent = { 0 }; diff --git a/src/raudio.c b/src/raudio.c index 4d0de45a5..0e9e043d1 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -942,13 +942,13 @@ Sound LoadSoundAlias(Sound source) if (source.stream.buffer->data != NULL) { AudioBuffer *audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO.System.device.sampleRate, 0, AUDIO_BUFFER_USAGE_STATIC); - + if (audioBuffer == NULL) { TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer"); return sound; // Early return to avoid dereferencing the audioBuffer null pointer } - + audioBuffer->sizeInFrames = source.stream.buffer->sizeInFrames; audioBuffer->volume = source.stream.buffer->volume; audioBuffer->data = source.stream.buffer->data; @@ -1081,7 +1081,7 @@ bool ExportWaveAsCode(Wave wave, const char *fileName) int waveDataSize = wave.frameCount*wave.channels*wave.sampleSize/8; // NOTE: Text data buffer size is estimated considering wave data size in bytes - // and requiring 12 char bytes for every byte; the actual size varies, but + // and requiring 12 char bytes for every byte; the actual size varies, but // the longest possible char being appended is "%.4ff,\n ", which is 12 bytes. char *txtData = (char *)RL_CALLOC(waveDataSize*12 + 2000, sizeof(char)); @@ -2752,7 +2752,7 @@ static bool SaveFileData(const char *fileName, void *data, int dataSize) return false; } } - else + else { TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); return false; diff --git a/src/raymath.h b/src/raymath.h index 52c11b21c..96f2c2cdd 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -777,7 +777,7 @@ RMAPI Vector3 Vector3Normalize(Vector3 v) RMAPI Vector3 Vector3Project(Vector3 v1, Vector3 v2) { Vector3 result = { 0 }; - + float v1dv2 = (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z); float v2dv2 = (v2.x*v2.x + v2.y*v2.y + v2.z*v2.z); @@ -794,7 +794,7 @@ RMAPI Vector3 Vector3Project(Vector3 v1, Vector3 v2) RMAPI Vector3 Vector3Reject(Vector3 v1, Vector3 v2) { Vector3 result = { 0 }; - + float v1dv2 = (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z); float v2dv2 = (v2.x*v2.x + v2.y*v2.y + v2.z*v2.z); @@ -1213,7 +1213,7 @@ RMAPI Vector3 Vector3Refract(Vector3 v, Vector3 n, float r) RMAPI Vector4 Vector4Zero(void) { Vector4 result = { 0.0f, 0.0f, 0.0f, 0.0f }; - return result; + return result; } RMAPI Vector4 Vector4One(void) @@ -1296,7 +1296,7 @@ RMAPI float Vector4Distance(Vector4 v1, Vector4 v2) // Calculate square distance between two vectors RMAPI float Vector4DistanceSqr(Vector4 v1, Vector4 v2) { - float result = + float result = (v1.x - v2.x)*(v1.x - v2.x) + (v1.y - v2.y)*(v1.y - v2.y) + (v1.z - v2.z)*(v1.z - v2.z) + (v1.w - v2.w)*(v1.w - v2.w); diff --git a/src/rcore.c b/src/rcore.c index aa9724cb1..b7147745a 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -118,12 +118,12 @@ #if defined(SUPPORT_GESTURES_SYSTEM) #define RGESTURES_IMPLEMENTATION - #include "rgestures.h" // Gestures detection functionality + #include "rgestures.h" // Gestures detection functionality #endif #if defined(SUPPORT_CAMERA_SYSTEM) #define RCAMERA_IMPLEMENTATION - #include "rcamera.h" // Camera system functionality + #include "rcamera.h" // Camera system functionality #endif #if defined(SUPPORT_GIF_RECORDING) @@ -1799,7 +1799,7 @@ void TakeScreenshot(const char *fileName) char path[512] = { 0 }; strcpy(path, TextFormat("%s/%s", CORE.Storage.basePath, GetFileName(fileName))); - + ExportImage(image, path); // WARNING: Module required: rtextures RL_FREE(imgData); @@ -1955,7 +1955,7 @@ const char *GetFileName(const char *filePath) const char *GetFileNameWithoutExt(const char *filePath) { #define MAX_FILENAME_LENGTH 256 - + static char fileName[MAX_FILENAME_LENGTH] = { 0 }; memset(fileName, 0, MAX_FILENAME_LENGTH); @@ -1963,7 +1963,7 @@ const char *GetFileNameWithoutExt(const char *filePath) { strcpy(fileName, GetFileName(filePath)); // Get filename.ext without path int size = (int)strlen(fileName); // Get size in bytes - + for (int i = size; i > 0; i--) // Reverse search '.' { if (fileName[i] == '.') @@ -1974,7 +1974,7 @@ const char *GetFileNameWithoutExt(const char *filePath) } } } - + return fileName; } diff --git a/src/rlgl.h b/src/rlgl.h index 0f7840259..87cff4ef6 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -623,7 +623,7 @@ RLAPI void rlDisableFramebuffer(void); // Disable render textur RLAPI unsigned int rlGetActiveFramebuffer(void); // Get the currently active render texture (fbo), 0 for default framebuffer RLAPI void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers RLAPI void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer -RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO) +RLAPI void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO) // General render state RLAPI void rlEnableColorBlend(void); // Enable color blending @@ -3828,8 +3828,8 @@ void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool norma { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // NOTE: Data type could be: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT - // Additional types (depends on OpenGL version or extensions): - // - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, + // Additional types (depends on OpenGL version or extensions): + // - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, // - GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_10F_11F_11F_REV glVertexAttribPointer(index, compSize, type, normalized, stride, pointer); #endif diff --git a/src/rmodels.c b/src/rmodels.c index d94754f1f..77bb19aa1 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5804,7 +5804,7 @@ static Model LoadM3D(const char *fileName) // If no map is provided, or we have colors defined, we allocate storage for vertex colors // M3D specs only consider vertex colors if no material is provided, however raylib uses both and mixes the colors if ((mi == M3D_UNDEF) || vcolor) model.meshes[k].colors = RL_CALLOC(model.meshes[k].vertexCount*4, sizeof(unsigned char)); - + // If no map is provided and we allocated vertex colors, set them to white if ((mi == M3D_UNDEF) && (model.meshes[k].colors != NULL)) { @@ -6076,7 +6076,7 @@ static ModelAnimation *LoadModelAnimationsM3D(const char *fileName, int *animCou animations[a].framePoses = RL_MALLOC(animations[a].frameCount*sizeof(Transform *)); strncpy(animations[a].name, m3d->action[a].name, sizeof(animations[a].name)); animations[a].name[sizeof(animations[a].name) - 1] = '\0'; - + TRACELOG(LOG_INFO, "MODEL: [%s] animation #%i: %i msec, %i frames", fileName, a, m3d->action[a].durationmsec, animations[a].frameCount); for (i = 0; i < (int)m3d->numbone; i++) diff --git a/src/utils.c b/src/utils.c index 2c26c114a..895f77775 100644 --- a/src/utils.c +++ b/src/utils.c @@ -211,13 +211,13 @@ unsigned char *LoadFileData(const char *fileName, int *dataSize) { // NOTE: fread() returns number of read elements instead of bytes, so we read [1 byte, size elements] size_t count = fread(data, sizeof(unsigned char), size, file); - + // WARNING: fread() returns a size_t value, usually 'unsigned int' (32bit compilation) and 'unsigned long long' (64bit compilation) // dataSize is unified along raylib as a 'int' type, so, for file-sizes > INT_MAX (2147483647 bytes) we have a limitation if (count > 2147483647) { TRACELOG(LOG_WARNING, "FILEIO: [%s] File is bigger than 2147483647 bytes, avoid using LoadFileData()", fileName); - + RL_FREE(data); data = NULL; } From c9d71689edb2ea7bae79b204337a3f3dadac1b43 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 2 Apr 2024 09:40:19 +0200 Subject: [PATCH 204/745] Remove TABS --- src/raylib.dll.rc | 10 +++++----- src/raylib.rc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/raylib.dll.rc b/src/raylib.dll.rc index e1455af7a..ba2f5bbf4 100644 --- a/src/raylib.dll.rc +++ b/src/raylib.dll.rc @@ -6,10 +6,10 @@ PRODUCTVERSION 5,0,0,0 BEGIN BLOCK "StringFileInfo" BEGIN - //BLOCK "080904E4" // English UK - BLOCK "040904E4" // English US + //BLOCK "080904E4" // English UK + BLOCK "040904E4" // English US BEGIN - //VALUE "CompanyName", "raylib technologies" + //VALUE "CompanyName", "raylib technologies" VALUE "FileDescription", "raylib dynamic library (www.raylib.com)" VALUE "FileVersion", "5.0.0" VALUE "InternalName", "raylib.dll" @@ -21,7 +21,7 @@ BEGIN END BLOCK "VarFileInfo" BEGIN - //VALUE "Translation", 0x809, 1252 // English UK - VALUE "Translation", 0x409, 1252 // English US + //VALUE "Translation", 0x809, 1252 // English UK + VALUE "Translation", 0x409, 1252 // English US END END diff --git a/src/raylib.rc b/src/raylib.rc index 8612a9561..12f35aaed 100644 --- a/src/raylib.rc +++ b/src/raylib.rc @@ -6,10 +6,10 @@ PRODUCTVERSION 5,0,0,0 BEGIN BLOCK "StringFileInfo" BEGIN - //BLOCK "080904E4" // English UK - BLOCK "040904E4" // English US + //BLOCK "080904E4" // English UK + BLOCK "040904E4" // English US BEGIN - //VALUE "CompanyName", "raylib technologies" + //VALUE "CompanyName", "raylib technologies" VALUE "FileDescription", "raylib application (www.raylib.com)" VALUE "FileVersion", "5.0.0" VALUE "InternalName", "raylib app" @@ -21,7 +21,7 @@ BEGIN END BLOCK "VarFileInfo" BEGIN - //VALUE "Translation", 0x809, 1252 // English UK - VALUE "Translation", 0x409, 1252 // English US + //VALUE "Translation", 0x809, 1252 // English UK + VALUE "Translation", 0x409, 1252 // English US END END From 9070eb9a132a4404e7d5247ff7bd2d2c2d77f3ad Mon Sep 17 00:00:00 2001 From: Rob Loach Date: Wed, 3 Apr 2024 06:10:52 -0400 Subject: [PATCH 205/745] Fix framerate recording for .gifs (#3894) --- src/rcore.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index b7147745a..3645c6179 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -849,23 +849,33 @@ void EndDrawing(void) // Draw record indicator if (gifRecording) { + #ifndef GIF_RECORD_FRAMERATE #define GIF_RECORD_FRAMERATE 10 - gifFrameCounter++; + #endif + gifFrameCounter += GetFrameTime()*1000; - // NOTE: We record one gif frame every 10 game frames - if ((gifFrameCounter%GIF_RECORD_FRAMERATE) == 0) + // NOTE: We record one gif frame depending on the desired gif framerate + if (gifFrameCounter > 1000/GIF_RECORD_FRAMERATE) { // Get image data for the current frame (from backbuffer) // NOTE: This process is quite slow... :( Vector2 scale = GetWindowScaleDPI(); unsigned char *screenData = rlReadScreenPixels((int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y)); - msf_gif_frame(&gifState, screenData, 10, 16, (int)((float)CORE.Window.render.width*scale.x)*4); + + #ifndef GIF_RECORD_BITRATE + #define GIF_RECORD_BITRATE 16 + #endif + + // Add the frame to the gif recording, given how many frames have passed in centiseconds + msf_gif_frame(&gifState, screenData, gifFrameCounter/10, GIF_RECORD_BITRATE, (int)((float)CORE.Window.render.width*scale.x)*4); + gifFrameCounter -= 1000/GIF_RECORD_FRAMERATE; RL_FREE(screenData); // Free image data } #if defined(SUPPORT_MODULE_RSHAPES) && defined(SUPPORT_MODULE_RTEXT) - if (((gifFrameCounter/15)%2) == 1) + // Display the recording indicator every half-second + if ((int)(GetTime()/0.5)%2 == 1) { DrawCircle(30, CORE.Window.screen.height - 20, 10, MAROON); // WARNING: Module required: rshapes DrawText("GIF RECORDING", 50, CORE.Window.screen.height - 25, 10, RED); // WARNING: Module required: rtext From d30cfea82da302b394006b45e80707f90ad1a956 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 3 Apr 2024 20:10:15 +0200 Subject: [PATCH 206/745] REVIEWED: `GetScreenToWorldRayEx()` --- src/raylib.h | 2 +- src/rcore.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index edf4f1384..e351d33fd 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1051,7 +1051,7 @@ RLAPI void UnloadShader(Shader shader); // Un // Screen-space-related functions #define GetMouseRay GetScreenToWorldRay // Compatibility hack for previous raylib versions RLAPI Ray GetScreenToWorldRay(Vector2 position, Camera camera); // Get a ray trace from screen position (i.e mouse) -RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height); // Get a ray trace from screen position (i.e mouse) in a viewport +RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height); // Get a ray trace from screen position (i.e mouse) in a viewport RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position diff --git a/src/rcore.c b/src/rcore.c index 3645c6179..9705495ee 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1419,18 +1419,18 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) // Get a ray trace from screen position (i.e mouse) Ray GetScreenToWorldRay(Vector2 position, Camera camera) { - return GetScreenToWorldRayEx(position, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); + return GetScreenToWorldRayEx(position, camera, GetScreenWidth(), GetScreenHeight()); } // Get a ray trace from the screen position (i.e mouse) within a specific section of the screen -Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height) +Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height) { Ray ray = { 0 }; // Calculate normalized device coordinates // NOTE: y value is negative - float x = (2.0f*position.x)/width - 1.0f; - float y = 1.0f - (2.0f*position.y)/height; + float x = (2.0f*position.x)/(float)width - 1.0f; + float y = 1.0f - (2.0f*position.y)/(float)height; float z = 1.0f; // Store values in a vector From 1987c90c736d74c28f79d19b0408c691982dc0b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 3 Apr 2024 18:10:31 +0000 Subject: [PATCH 207/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 4 ++-- parser/output/raylib_api.lua | 4 ++-- parser/output/raylib_api.txt | 4 ++-- parser/output/raylib_api.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 1517846b9..2b339512b 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -3906,11 +3906,11 @@ "name": "camera" }, { - "type": "float", + "type": "int", "name": "width" }, { - "type": "float", + "type": "int", "name": "height" } ] diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 1423e237d..8f0a62957 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -3656,8 +3656,8 @@ return { params = { {type = "Vector2", name = "position"}, {type = "Camera", name = "camera"}, - {type = "float", name = "width"}, - {type = "float", name = "height"} + {type = "int", name = "width"}, + {type = "int", name = "height"} } }, { diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 1feba41e3..8031f874c 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -1438,8 +1438,8 @@ Function 085: GetScreenToWorldRayEx() (4 input parameters) Description: Get a ray trace from screen position (i.e mouse) in a viewport Param[1]: position (type: Vector2) Param[2]: camera (type: Camera) - Param[3]: width (type: float) - Param[4]: height (type: float) + Param[3]: width (type: int) + Param[4]: height (type: int) Function 086: GetWorldToScreen() (2 input parameters) Name: GetWorldToScreen Return type: Vector2 diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 492e30a89..2f536db32 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -910,8 +910,8 @@ - - + + From 890058abcd6e3c03fe2c59ebb416db1e8b75446f Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 4 Apr 2024 13:18:28 +0200 Subject: [PATCH 208/745] Update raylib.h --- src/raylib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index e351d33fd..0d862a022 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1050,7 +1050,7 @@ RLAPI void UnloadShader(Shader shader); // Un // Screen-space-related functions #define GetMouseRay GetScreenToWorldRay // Compatibility hack for previous raylib versions -RLAPI Ray GetScreenToWorldRay(Vector2 position, Camera camera); // Get a ray trace from screen position (i.e mouse) +RLAPI Ray GetScreenToWorldRay(Vector2 position, Camera camera); // Get a ray trace from screen position (i.e mouse) RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height); // Get a ray trace from screen position (i.e mouse) in a viewport RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position From 414229bcf93816daaa253a82cd54fbd7b18e6449 Mon Sep 17 00:00:00 2001 From: iarkn <76028749+iarkn@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:55:23 +0700 Subject: [PATCH 209/745] Fix #3891 breaking builds for Zig v0.11.0 (#3896) The changes brought by #3891 uses `std.process.Child.run` which was renamed from `std.process.Child.exec` in Zig version 0.11.0. This commit adds a version check to use the appropriate function names. Additionally, the `linux_display_backend` configuration option is added so users can set it when running `zig build` with the `-D` option or when using raylib as a dependency. --- src/build.zig | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/build.zig b/src/build.zig index 93ffe47a2..91cd9cb1f 100644 --- a/src/build.zig +++ b/src/build.zig @@ -254,6 +254,7 @@ pub fn build(b: *std.Build) !void { .rshapes = b.option(bool, "rshapes", "Compile with shapes support") orelse defaults.rshapes, .raygui = b.option(bool, "raygui", "Compile with raygui support") orelse defaults.raygui, .shared = b.option(bool, "shared", "Compile as shared library") orelse defaults.shared, + .linux_display_backend = b.option(LinuxDisplayBackend, "linux_display_backend", "Linux display backend to use") orelse defaults.linux_display_backend, }; const lib = try addRaylib(b, target, optimize, options); @@ -306,24 +307,28 @@ fn addCSourceFilesVersioned( } fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { - _ = try std.process.Child.run(.{ - .allocator = allocator, - .argv = &[_][]const u8{ - "wayland-scanner", - "client-header", - waylandDir ++ "/" ++ protocol, - srcdir ++ "/" ++ basename ++ ".h", - }, - }); - _ = try std.process.Child.run(.{ - .allocator = allocator, - .argv = &[_][]const u8{ - "wayland-scanner", - "private-code", - waylandDir ++ "/" ++ protocol, - srcdir ++ "/" ++ basename ++ "-code.h", - }, - }); + const protocolDir = waylandDir ++ "/" ++ protocol; + const clientHeader = srcdir ++ "/" ++ basename ++ ".h"; + const privateCode = srcdir ++ "/" ++ basename ++ "-code.h"; + if (comptime builtin.zig_version.minor >= 12) { + _ = try std.process.Child.run(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, + }); + _ = try std.process.Child.run(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, + }); + } else { + _ = try std.process.Child.exec(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, + }); + _ = try std.process.Child.exec(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, + }); + } } fn join2(allocator: std.mem.Allocator, path1: []const u8, path2: []const u8) ![]u8 { From 1b14c082ed92db66a2fea40f415b506aefdab084 Mon Sep 17 00:00:00 2001 From: jtainer <92753845+jtainer@users.noreply.github.com> Date: Sat, 6 Apr 2024 07:56:20 -0400 Subject: [PATCH 210/745] Remove redundant axis length calculation (#3900) --- src/raymath.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 96f2c2cdd..3bafab510 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -2338,8 +2338,7 @@ RMAPI Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle) float ilength = 0.0f; // Vector3Normalize(axis) - Vector3 v = axis; - length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z); + length = axisLength; if (length == 0.0f) length = 1.0f; ilength = 1.0f/length; axis.x *= ilength; From aca9ab0ebb545a85f1959dfb27a7ebc6af0e3dd7 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Apr 2024 09:47:28 +0200 Subject: [PATCH 211/745] Update cgltf.h --- src/external/cgltf.h | 230 +++++++++++++++++++++++++++++++------------ 1 file changed, 168 insertions(+), 62 deletions(-) diff --git a/src/external/cgltf.h b/src/external/cgltf.h index ddec501b6..323120145 100644 --- a/src/external/cgltf.h +++ b/src/external/cgltf.h @@ -63,9 +63,14 @@ * By passing null for the output pointer, users can find out how many floats are required in the * output buffer. * + * `cgltf_accessor_unpack_indices` reads in the index data from an accessor. Assumes that + * `cgltf_load_buffers` has already been called. By passing null for the output pointer, users can + * find out how many indices are required in the output buffer. Returns 0 if the accessor is + * sparse or if the output component size is less than the accessor's component size. + * * `cgltf_num_components` is a tiny utility that tells you the dimensionality of * a certain accessor type. This can be used before `cgltf_accessor_unpack_floats` to help allocate - * the necessary amount of memory. `cgltf_component_size` and `cgltf_calc_size` exist for + * the necessary amount of memory. `cgltf_component_size` and `cgltf_calc_size` exist for * similar purposes. * * `cgltf_accessor_read_float` reads a certain element from a non-sparse accessor and converts it to @@ -75,7 +80,7 @@ * * `cgltf_accessor_read_uint` is similar to its floating-point counterpart, but limited to reading * vector types and does not support matrix types. The passed-in element size is the number of uints - * in the output buffer, which should be in the range [1, 4]. Returns false if the passed-in + * in the output buffer, which should be in the range [1, 4]. Returns false if the passed-in * element_size is too small, or if the accessor is sparse. * * `cgltf_accessor_read_index` is similar to its floating-point counterpart, but it returns size_t @@ -197,6 +202,7 @@ typedef enum cgltf_type typedef enum cgltf_primitive_type { + cgltf_primitive_type_invalid, cgltf_primitive_type_points, cgltf_primitive_type_lines, cgltf_primitive_type_line_loop, @@ -499,6 +505,11 @@ typedef struct cgltf_anisotropy cgltf_texture_view anisotropy_texture; } cgltf_anisotropy; +typedef struct cgltf_dispersion +{ + cgltf_float dispersion; +} cgltf_dispersion; + typedef struct cgltf_material { char* name; @@ -513,6 +524,7 @@ typedef struct cgltf_material cgltf_bool has_emissive_strength; cgltf_bool has_iridescence; cgltf_bool has_anisotropy; + cgltf_bool has_dispersion; cgltf_pbr_metallic_roughness pbr_metallic_roughness; cgltf_pbr_specular_glossiness pbr_specular_glossiness; cgltf_clearcoat clearcoat; @@ -524,6 +536,7 @@ typedef struct cgltf_material cgltf_emissive_strength emissive_strength; cgltf_iridescence iridescence; cgltf_anisotropy anisotropy; + cgltf_dispersion dispersion; cgltf_texture_view normal_texture; cgltf_texture_view occlusion_texture; cgltf_texture_view emissive_texture; @@ -838,7 +851,7 @@ cgltf_size cgltf_component_size(cgltf_component_type component_type); cgltf_size cgltf_calc_size(cgltf_type type, cgltf_component_type component_type); cgltf_size cgltf_accessor_unpack_floats(const cgltf_accessor* accessor, cgltf_float* out, cgltf_size float_count); -cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_uint* out, cgltf_size index_count); +cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, void* out, cgltf_size out_component_size, cgltf_size index_count); /* this function is deprecated and will be removed in the future; use cgltf_extras::data instead */ cgltf_result cgltf_copy_extras_json(const cgltf_data* data, const cgltf_extras* extras, char* dest, cgltf_size* dest_size); @@ -938,8 +951,8 @@ static int jsmn_parse(jsmn_parser *parser, const char *js, size_t len, jsmntok_t #ifndef CGLTF_CONSTS -static const cgltf_size GlbHeaderSize = 12; -static const cgltf_size GlbChunkHeaderSize = 8; +#define GlbHeaderSize 12 +#define GlbChunkHeaderSize 8 static const uint32_t GlbVersion = 2; static const uint32_t GlbMagic = 0x46546C67; static const uint32_t GlbMagicJsonChunk = 0x4E4F534A; @@ -1033,7 +1046,7 @@ static cgltf_result cgltf_default_file_read(const struct cgltf_memory_options* m fclose(file); return cgltf_result_out_of_memory; } - + cgltf_size read_size = fread(file_data, 1, file_size, file); fclose(file); @@ -1141,7 +1154,7 @@ cgltf_result cgltf_parse(const cgltf_options* options, const void* data, cgltf_s // JSON chunk: length uint32_t json_length; memcpy(&json_length, json_chunk, 4); - if (GlbHeaderSize + GlbChunkHeaderSize + json_length > size) + if (json_length > size - GlbHeaderSize - GlbChunkHeaderSize) { return cgltf_result_data_too_short; } @@ -1158,7 +1171,7 @@ cgltf_result cgltf_parse(const cgltf_options* options, const void* data, cgltf_s const void* bin = NULL; cgltf_size bin_size = 0; - if (GlbHeaderSize + GlbChunkHeaderSize + json_length + GlbChunkHeaderSize <= size) + if (GlbChunkHeaderSize <= size - GlbHeaderSize - GlbChunkHeaderSize - json_length) { // We can read another chunk const uint8_t* bin_chunk = json_chunk + json_length; @@ -1166,7 +1179,7 @@ cgltf_result cgltf_parse(const cgltf_options* options, const void* data, cgltf_s // Bin chunk: length uint32_t bin_length; memcpy(&bin_length, bin_chunk, 4); - if (GlbHeaderSize + GlbChunkHeaderSize + json_length + GlbChunkHeaderSize + bin_length > size) + if (bin_length > size - GlbHeaderSize - GlbChunkHeaderSize - json_length - GlbChunkHeaderSize) { return cgltf_result_data_too_short; } @@ -1552,6 +1565,9 @@ cgltf_result cgltf_validate(cgltf_data* data) { cgltf_accessor* accessor = &data->accessors[i]; + CGLTF_ASSERT_IF(data->accessors[i].component_type == cgltf_component_type_invalid, cgltf_result_invalid_gltf); + CGLTF_ASSERT_IF(data->accessors[i].type == cgltf_type_invalid, cgltf_result_invalid_gltf); + cgltf_size element_size = cgltf_calc_size(accessor->type, accessor->component_type); if (accessor->buffer_view) @@ -1565,7 +1581,7 @@ cgltf_result cgltf_validate(cgltf_data* data) { cgltf_accessor_sparse* sparse = &accessor->sparse; - cgltf_size indices_component_size = cgltf_calc_size(cgltf_type_scalar, sparse->indices_component_type); + cgltf_size indices_component_size = cgltf_component_size(sparse->indices_component_type); cgltf_size indices_req_size = sparse->indices_byte_offset + indices_component_size * sparse->count; cgltf_size values_req_size = sparse->values_byte_offset + element_size * sparse->count; @@ -1631,43 +1647,48 @@ cgltf_result cgltf_validate(cgltf_data* data) for (cgltf_size j = 0; j < data->meshes[i].primitives_count; ++j) { + CGLTF_ASSERT_IF(data->meshes[i].primitives[j].type == cgltf_primitive_type_invalid, cgltf_result_invalid_gltf); CGLTF_ASSERT_IF(data->meshes[i].primitives[j].targets_count != data->meshes[i].primitives[0].targets_count, cgltf_result_invalid_gltf); - if (data->meshes[i].primitives[j].attributes_count) + CGLTF_ASSERT_IF(data->meshes[i].primitives[j].attributes_count == 0, cgltf_result_invalid_gltf); + + cgltf_accessor* first = data->meshes[i].primitives[j].attributes[0].data; + + CGLTF_ASSERT_IF(first->count == 0, cgltf_result_invalid_gltf); + + for (cgltf_size k = 0; k < data->meshes[i].primitives[j].attributes_count; ++k) { - cgltf_accessor* first = data->meshes[i].primitives[j].attributes[0].data; + CGLTF_ASSERT_IF(data->meshes[i].primitives[j].attributes[k].data->count != first->count, cgltf_result_invalid_gltf); + } - for (cgltf_size k = 0; k < data->meshes[i].primitives[j].attributes_count; ++k) + for (cgltf_size k = 0; k < data->meshes[i].primitives[j].targets_count; ++k) + { + for (cgltf_size m = 0; m < data->meshes[i].primitives[j].targets[k].attributes_count; ++m) { - CGLTF_ASSERT_IF(data->meshes[i].primitives[j].attributes[k].data->count != first->count, cgltf_result_invalid_gltf); + CGLTF_ASSERT_IF(data->meshes[i].primitives[j].targets[k].attributes[m].data->count != first->count, cgltf_result_invalid_gltf); } + } - for (cgltf_size k = 0; k < data->meshes[i].primitives[j].targets_count; ++k) - { - for (cgltf_size m = 0; m < data->meshes[i].primitives[j].targets[k].attributes_count; ++m) - { - CGLTF_ASSERT_IF(data->meshes[i].primitives[j].targets[k].attributes[m].data->count != first->count, cgltf_result_invalid_gltf); - } - } + cgltf_accessor* indices = data->meshes[i].primitives[j].indices; - cgltf_accessor* indices = data->meshes[i].primitives[j].indices; + CGLTF_ASSERT_IF(indices && + indices->component_type != cgltf_component_type_r_8u && + indices->component_type != cgltf_component_type_r_16u && + indices->component_type != cgltf_component_type_r_32u, cgltf_result_invalid_gltf); - CGLTF_ASSERT_IF(indices && - indices->component_type != cgltf_component_type_r_8u && - indices->component_type != cgltf_component_type_r_16u && - indices->component_type != cgltf_component_type_r_32u, cgltf_result_invalid_gltf); + CGLTF_ASSERT_IF(indices && indices->type != cgltf_type_scalar, cgltf_result_invalid_gltf); + CGLTF_ASSERT_IF(indices && indices->stride != cgltf_component_size(indices->component_type), cgltf_result_invalid_gltf); - if (indices && indices->buffer_view && indices->buffer_view->buffer->data) - { - cgltf_size index_bound = cgltf_calc_index_bound(indices->buffer_view, indices->offset, indices->component_type, indices->count); + if (indices && indices->buffer_view && indices->buffer_view->buffer->data) + { + cgltf_size index_bound = cgltf_calc_index_bound(indices->buffer_view, indices->offset, indices->component_type, indices->count); - CGLTF_ASSERT_IF(index_bound >= first->count, cgltf_result_data_too_short); - } + CGLTF_ASSERT_IF(index_bound >= first->count, cgltf_result_data_too_short); + } - for (cgltf_size k = 0; k < data->meshes[i].primitives[j].mappings_count; ++k) - { - CGLTF_ASSERT_IF(data->meshes[i].primitives[j].mappings[k].variant >= data->variants_count, cgltf_result_invalid_gltf); - } + for (cgltf_size k = 0; k < data->meshes[i].primitives[j].mappings_count; ++k) + { + CGLTF_ASSERT_IF(data->meshes[i].primitives[j].mappings[k].variant >= data->variants_count, cgltf_result_invalid_gltf); } } } @@ -1724,10 +1745,15 @@ cgltf_result cgltf_validate(cgltf_data* data) cgltf_size values = channel->sampler->interpolation == cgltf_interpolation_type_cubic_spline ? 3 : 1; - CGLTF_ASSERT_IF(channel->sampler->input->count * components * values != channel->sampler->output->count, cgltf_result_data_too_short); + CGLTF_ASSERT_IF(channel->sampler->input->count * components * values != channel->sampler->output->count, cgltf_result_invalid_gltf); } } + for (cgltf_size i = 0; i < data->variants_count; ++i) + { + CGLTF_ASSERT_IF(!data->variants[i].name, cgltf_result_invalid_gltf); + } + return cgltf_result_success; } @@ -1902,7 +1928,7 @@ void cgltf_free(cgltf_data* data) data->memory.free_func(data->memory.user_data, data->materials); - for (cgltf_size i = 0; i < data->images_count; ++i) + for (cgltf_size i = 0; i < data->images_count; ++i) { data->memory.free_func(data->memory.user_data, data->images[i].name); data->memory.free_func(data->memory.user_data, data->images[i].uri); @@ -2550,7 +2576,7 @@ cgltf_size cgltf_animation_channel_index(const cgltf_animation* animation, const return (cgltf_size)(object - animation->channels); } -cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_uint* out, cgltf_size index_count) +cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, void* out, cgltf_size out_component_size, cgltf_size index_count) { if (out == NULL) { @@ -2558,6 +2584,7 @@ cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_u } index_count = accessor->count < index_count ? accessor->count : index_count; + cgltf_size index_component_size = cgltf_component_size(accessor->component_type); if (accessor->is_sparse) { @@ -2567,6 +2594,10 @@ cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_u { return 0; } + if (index_component_size > out_component_size) + { + return 0; + } const uint8_t* element = cgltf_buffer_view_data(accessor->buffer_view); if (element == NULL) { @@ -2574,18 +2605,29 @@ cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_u } element += accessor->offset; - if (accessor->component_type == cgltf_component_type_r_32u && accessor->stride == sizeof(cgltf_uint)) + if (index_component_size == out_component_size && accessor->stride == out_component_size) { - memcpy(out, element, index_count * sizeof(cgltf_uint)); + memcpy(out, element, index_count * index_component_size); + return index_count; } - else - { - cgltf_uint* dest = out; - for (cgltf_size index = 0; index < index_count; index++, dest++, element += accessor->stride) + // The component size of the output array is larger than the component size of the index data, so index data will be padded. + switch (out_component_size) + { + case 2: + for (cgltf_size index = 0; index < index_count; index++, element += accessor->stride) { - *dest = (cgltf_uint)cgltf_component_read_index(element, accessor->component_type); + ((uint16_t*)out)[index] = (uint16_t)cgltf_component_read_index(element, accessor->component_type); } + break; + case 4: + for (cgltf_size index = 0; index < index_count; index++, element += accessor->stride) + { + ((uint32_t*)out)[index] = (uint32_t)cgltf_component_read_index(element, accessor->component_type); + } + break; + default: + break; } return index_count; @@ -2596,7 +2638,7 @@ cgltf_size cgltf_accessor_unpack_indices(const cgltf_accessor* accessor, cgltf_u #define CGLTF_ERROR_LEGACY -3 #define CGLTF_CHECK_TOKTYPE(tok_, type_) if ((tok_).type != (type_)) { return CGLTF_ERROR_JSON; } -#define CGLTF_CHECK_TOKTYPE_RETTYPE(tok_, type_, ret_) if ((tok_).type != (type_)) { return (ret_)CGLTF_ERROR_JSON; } +#define CGLTF_CHECK_TOKTYPE_RET(tok_, type_, ret_) if ((tok_).type != (type_)) { return ret_; } #define CGLTF_CHECK_KEY(tok_) if ((tok_).type != JSMN_STRING || (tok_).size == 0) { return CGLTF_ERROR_JSON; } /* checking size for 0 verifies that a value follows the key */ #define CGLTF_PTRINDEX(type, idx) (type*)((cgltf_size)idx + 1) @@ -2623,12 +2665,13 @@ static int cgltf_json_to_int(jsmntok_t const* tok, const uint8_t* json_chunk) static cgltf_size cgltf_json_to_size(jsmntok_t const* tok, const uint8_t* json_chunk) { - CGLTF_CHECK_TOKTYPE_RETTYPE(*tok, JSMN_PRIMITIVE, cgltf_size); + CGLTF_CHECK_TOKTYPE_RET(*tok, JSMN_PRIMITIVE, 0); char tmp[128]; int size = (size_t)(tok->end - tok->start) < sizeof(tmp) ? (int)(tok->end - tok->start) : (int)(sizeof(tmp) - 1); strncpy(tmp, (const char*)json_chunk + tok->start, size); tmp[size] = 0; - return (cgltf_size)CGLTF_ATOLL(tmp); + long long res = CGLTF_ATOLL(tmp); + return res < 0 ? 0 : (cgltf_size)res; } static cgltf_float cgltf_json_to_float(jsmntok_t const* tok, const uint8_t* json_chunk) @@ -2810,6 +2853,11 @@ static void cgltf_parse_attribute_type(const char* name, cgltf_attribute_type* o if (us && *out_type != cgltf_attribute_type_invalid) { *out_index = CGLTF_ATOI(us + 1); + if (*out_index < 0) + { + *out_type = cgltf_attribute_type_invalid; + *out_index = 0; + } } } @@ -3142,6 +3190,31 @@ static int cgltf_parse_json_material_mappings(cgltf_options* options, jsmntok_t return i; } +static cgltf_primitive_type cgltf_json_to_primitive_type(jsmntok_t const* tok, const uint8_t* json_chunk) +{ + int type = cgltf_json_to_int(tok, json_chunk); + + switch (type) + { + case 0: + return cgltf_primitive_type_points; + case 1: + return cgltf_primitive_type_lines; + case 2: + return cgltf_primitive_type_line_loop; + case 3: + return cgltf_primitive_type_line_strip; + case 4: + return cgltf_primitive_type_triangles; + case 5: + return cgltf_primitive_type_triangle_strip; + case 6: + return cgltf_primitive_type_triangle_fan; + default: + return cgltf_primitive_type_invalid; + } +} + static int cgltf_parse_json_primitive(cgltf_options* options, jsmntok_t const* tokens, int i, const uint8_t* json_chunk, cgltf_primitive* out_prim) { CGLTF_CHECK_TOKTYPE(tokens[i], JSMN_OBJECT); @@ -3158,9 +3231,7 @@ static int cgltf_parse_json_primitive(cgltf_options* options, jsmntok_t const* t if (cgltf_json_strcmp(tokens+i, json_chunk, "mode") == 0) { ++i; - out_prim->type - = (cgltf_primitive_type) - cgltf_json_to_int(tokens+i, json_chunk); + out_prim->type = cgltf_json_to_primitive_type(tokens+i, json_chunk); ++i; } else if (cgltf_json_strcmp(tokens+i, json_chunk, "indices") == 0) @@ -3410,7 +3481,7 @@ static int cgltf_parse_json_accessor_sparse(jsmntok_t const* tokens, int i, cons if (cgltf_json_strcmp(tokens+i, json_chunk, "count") == 0) { ++i; - out_sparse->count = cgltf_json_to_int(tokens + i, json_chunk); + out_sparse->count = cgltf_json_to_size(tokens + i, json_chunk); ++i; } else if (cgltf_json_strcmp(tokens+i, json_chunk, "indices") == 0) @@ -3546,8 +3617,7 @@ static int cgltf_parse_json_accessor(cgltf_options* options, jsmntok_t const* to else if (cgltf_json_strcmp(tokens+i, json_chunk, "count") == 0) { ++i; - out_accessor->count = - cgltf_json_to_int(tokens+i, json_chunk); + out_accessor->count = cgltf_json_to_size(tokens+i, json_chunk); ++i; } else if (cgltf_json_strcmp(tokens+i, json_chunk, "type") == 0) @@ -3700,7 +3770,7 @@ static int cgltf_parse_json_texture_view(cgltf_options* options, jsmntok_t const out_texture_view->texcoord = cgltf_json_to_int(tokens + i, json_chunk); ++i; } - else if (cgltf_json_strcmp(tokens + i, json_chunk, "scale") == 0) + else if (cgltf_json_strcmp(tokens + i, json_chunk, "scale") == 0) { ++i; out_texture_view->scale = cgltf_json_to_float(tokens + i, json_chunk); @@ -3769,11 +3839,11 @@ static int cgltf_parse_json_pbr_metallic_roughness(cgltf_options* options, jsmnt if (cgltf_json_strcmp(tokens+i, json_chunk, "metallicFactor") == 0) { ++i; - out_pbr->metallic_factor = + out_pbr->metallic_factor = cgltf_json_to_float(tokens + i, json_chunk); ++i; } - else if (cgltf_json_strcmp(tokens+i, json_chunk, "roughnessFactor") == 0) + else if (cgltf_json_strcmp(tokens+i, json_chunk, "roughnessFactor") == 0) { ++i; out_pbr->roughness_factor = @@ -4234,6 +4304,37 @@ static int cgltf_parse_json_anisotropy(cgltf_options* options, jsmntok_t const* return i; } +static int cgltf_parse_json_dispersion(jsmntok_t const* tokens, int i, const uint8_t* json_chunk, cgltf_dispersion* out_dispersion) +{ + CGLTF_CHECK_TOKTYPE(tokens[i], JSMN_OBJECT); + int size = tokens[i].size; + ++i; + + + for (int j = 0; j < size; ++j) + { + CGLTF_CHECK_KEY(tokens[i]); + + if (cgltf_json_strcmp(tokens + i, json_chunk, "dispersion") == 0) + { + ++i; + out_dispersion->dispersion = cgltf_json_to_float(tokens + i, json_chunk); + ++i; + } + else + { + i = cgltf_skip_json(tokens, i + 1); + } + + if (i < 0) + { + return i; + } + } + + return i; +} + static int cgltf_parse_json_image(cgltf_options* options, jsmntok_t const* tokens, int i, const uint8_t* json_chunk, cgltf_image* out_image) { CGLTF_CHECK_TOKTYPE(tokens[i], JSMN_OBJECT); @@ -4241,11 +4342,11 @@ static int cgltf_parse_json_image(cgltf_options* options, jsmntok_t const* token int size = tokens[i].size; ++i; - for (int j = 0; j < size; ++j) + for (int j = 0; j < size; ++j) { CGLTF_CHECK_KEY(tokens[i]); - if (cgltf_json_strcmp(tokens + i, json_chunk, "uri") == 0) + if (cgltf_json_strcmp(tokens + i, json_chunk, "uri") == 0) { i = cgltf_parse_json_string(options, tokens, i + 1, json_chunk, &out_image->uri); } @@ -4325,7 +4426,7 @@ static int cgltf_parse_json_sampler(cgltf_options* options, jsmntok_t const* tok = cgltf_json_to_int(tokens + i, json_chunk); ++i; } - else if (cgltf_json_strcmp(tokens + i, json_chunk, "wrapT") == 0) + else if (cgltf_json_strcmp(tokens + i, json_chunk, "wrapT") == 0) { ++i; out_sampler->wrap_t @@ -4375,7 +4476,7 @@ static int cgltf_parse_json_texture(cgltf_options* options, jsmntok_t const* tok out_texture->sampler = CGLTF_PTRINDEX(cgltf_sampler, cgltf_json_to_int(tokens + i, json_chunk)); ++i; } - else if (cgltf_json_strcmp(tokens + i, json_chunk, "source") == 0) + else if (cgltf_json_strcmp(tokens + i, json_chunk, "source") == 0) { ++i; out_texture->image = CGLTF_PTRINDEX(cgltf_image, cgltf_json_to_int(tokens + i, json_chunk)); @@ -4627,6 +4728,11 @@ static int cgltf_parse_json_material(cgltf_options* options, jsmntok_t const* to out_material->has_anisotropy = 1; i = cgltf_parse_json_anisotropy(options, tokens, i + 1, json_chunk, &out_material->anisotropy); } + else if (cgltf_json_strcmp(tokens + i, json_chunk, "KHR_materials_dispersion") == 0) + { + out_material->has_dispersion = 1; + i = cgltf_parse_json_dispersion(tokens, i + 1, json_chunk, &out_material->dispersion); + } else { i = cgltf_parse_json_unprocessed_extension(options, tokens, i, json_chunk, &(out_material->extensions[out_material->extensions_count++])); @@ -4786,7 +4892,7 @@ static int cgltf_parse_json_meshopt_compression(cgltf_options* options, jsmntok_ else if (cgltf_json_strcmp(tokens+i, json_chunk, "count") == 0) { ++i; - out_meshopt_compression->count = cgltf_json_to_int(tokens+i, json_chunk); + out_meshopt_compression->count = cgltf_json_to_size(tokens+i, json_chunk); ++i; } else if (cgltf_json_strcmp(tokens+i, json_chunk, "mode") == 0) From 8bcf044983cb209f358617b6e952bdbeede3dd1a Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Apr 2024 10:01:25 +0200 Subject: [PATCH 212/745] Remove broken-link bindings #3899 --- BINDINGS.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 275087b82..9f0c33a8b 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -17,17 +17,14 @@ Some people ported raylib to other languages in form of bindings or wrappers to | chez-raylib | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib | | raylib-cr | 4.6-dev (5e1a81) | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | | ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | -| raylib-c3 | **5.0** | [C3](https://c3-lang.org/) | Zlib | https://github.com/Its-Kenta/Raylib-C3 | | dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | | bindbc-raylib3 | **5.0** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | | dray | 4.2 | [D](https://dlang.org/) | Apache-2.0 | https://github.com/redthing1/dray | | raylib-d | **5.0** | [D](https://dlang.org/) | Zlib | https://github.com/schveiguy/raylib-d | -| dlang_raylib | 4.0 | [D](https://dlang.org) | MPL-2.0 |https://github.com/rc-05/dlang_raylib | | rayex | 3.7 | [elixir](https://elixir-lang.org/) | Apache-2.0 | https://github.com/shiryel/rayex | | raylib-factor | 4.5 | [Factor](https://factorcode.org/) | BSD | https://github.com/factor/factor/blob/master/extra/raylib/raylib.factor | | raylib-freebasic | **5.0** | [FreeBASIC](https://www.freebasic.net/) | MIT | https://github.com/WIITD/raylib-freebasic | | fortran-raylib | 4.5 | [Fortran](https://fortran-lang.org/) | ISC | https://github.com/interkosmos/fortran-raylib | -| raylib for Pascal | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | Modified Zlib | https://github.com/tinyBigGAMES/raylib | | raylib-go | **5.0** | [Go](https://golang.org/) | Zlib | https://github.com/gen2brain/raylib-go | | raylib-guile | **auto** | [Guile](https://www.gnu.org/software/guile/) | Zlib | https://github.com/petelliott/raylib-guile | | gforth-raylib | 3.5 | [Gforth](https://gforth.org/) | **???** | https://github.com/ArnautDaniel/gforth-raylib | @@ -43,7 +40,6 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-lua | 4.5 | [Lua](http://www.lua.org/) | ISC | https://github.com/TSnake41/raylib-lua | | raylua | 4.0 | [Lua](http://www.lua.org/) | MIT | https://github.com/Rabios/raylua | | raylib-matte | 4.6-dev | [Matte](https://github.com/jcorks/matte/) | MIT | https://github.com/jcorks/raylib-matte | -| nelua-raylib | 4.0 | [nelua](https://nelua.io/) | MIT | https://github.com/AKDev21/nelua-raylib | | Raylib.nelua | **5.0** | [nelua](https://nelua.io/) | Zlib | https://github.com/AuzFox/Raylib.nelua | | NimraylibNow! | 4.2 | [Nim](https://nim-lang.org/) | MIT | https://github.com/greenfork/nimraylib_now | | raylib-bindings | 4.5 | [Ruby](https://www.ruby-lang.org/en/) | Zlib | https://github.com/vaiorabbit/raylib-bindings | @@ -58,11 +54,11 @@ Some people ported raylib to other languages in form of bindings or wrappers to | Raylib.4.0.Pascal | 4.0 | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/sysrpl/Raylib.4.0.Pascal | | pyraylib | 3.7 | [Python](https://www.python.org/) | Zlib | https://github.com/Ho011/pyraylib | | raylib-python-cffi | 4.2 | [Python](https://www.python.org/) | EPL-2.0 | https://github.com/electronstudio/raylib-python-cffi | -| raylibpyctbg | **4.5** | [Python](https://www.python.org/) | MIT | https://github.com/overdev/raylibpyctbg | +| raylibpyctbg | 4.5 | [Python](https://www.python.org/) | MIT | https://github.com/overdev/raylibpyctbg | | raylib-py | **5.0b1** | [Python](https://www.python.org/) | MIT | https://github.com/overdev/raylib-py | | raylib-python-ctypes | 4.6-dev | [Python](https://www.python.org/) | MIT | https://github.com/sDos280/raylib-python-ctypes | | raylib-pkpy-bindings | 4.6-dev | [pocketpy](https://pocketpy.dev/) | MIT | https://github.com/blueloveTH/pkpy-bindings | -| raylib-php | **4.5** | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/joseph-montanez/raylib-php | +| raylib-php | 4.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/joseph-montanez/raylib-php | | raylib-phpcpp | 3.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/oraoto/raylib-phpcpp | | raylibr | 4.0 | [R](https://www.r-project.org) | MIT | https://github.com/jeroenjanssens/raylibr | | raylib-ffi | 4.5 | [Rust](https://www.rust-lang.org/) | GPLv3 | https://github.com/ewpratten/raylib-ffi | @@ -72,7 +68,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-swift | 4.0 | [Swift](https://swift.org/) | MIT | https://github.com/STREGAsGate/Raylib | | raylib-scopes | auto | [Scopes](http://scopes.rocks) | MIT | https://github.com/salotz/raylib-scopes | | raylib-SmallBASIC | 5.0 | [SmallBASIC](https://github.com/smallbasic/SmallBASIC) | GPLv3 | https://github.com/smallbasic/smallbasic.plugins/tree/master/raylib | -| raylib-umka | **4.5** | [Umka](https://github.com/vtereshkov/umka-lang) | Zlib | https://github.com/robloach/raylib-umka | +| raylib-umka | 4.5 | [Umka](https://github.com/vtereshkov/umka-lang) | Zlib | https://github.com/robloach/raylib-umka | | raylib.v | 4.2 | [V](https://vlang.io/) | Zlib | https://github.com/irishgreencitrus/raylib.v | | raylib-vapi | 5.0 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | | raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | From 3e658ef502cf334e0f1803445002ffafd4b217da Mon Sep 17 00:00:00 2001 From: Belllg <102824244+Belllg@users.noreply.github.com> Date: Sun, 7 Apr 2024 09:48:32 -0300 Subject: [PATCH 213/745] Update Makefile RAYLIB_VERSION (#3901) Changed the raylib version from 4.2.0 to 5.1-dev, just like the raylib.h file --- projects/VSCode/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/VSCode/Makefile b/projects/VSCode/Makefile index 25e00c0b4..2f43c9ead 100644 --- a/projects/VSCode/Makefile +++ b/projects/VSCode/Makefile @@ -25,7 +25,7 @@ # Define required raylib variables PROJECT_NAME ?= game -RAYLIB_VERSION ?= 4.2.0 +RAYLIB_VERSION ?= 5.1-dev RAYLIB_PATH ?= ..\.. # Define compiler path on Windows From 892e57d46e92d43533d11c608d554b56375b8517 Mon Sep 17 00:00:00 2001 From: Nikolas Date: Sun, 7 Apr 2024 23:03:39 +0200 Subject: [PATCH 214/745] Update raylib-zig version (#3902) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 9f0c33a8b..178fd987c 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -72,7 +72,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib.v | 4.2 | [V](https://vlang.io/) | Zlib | https://github.com/irishgreencitrus/raylib.v | | raylib-vapi | 5.0 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | | raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | -| raylib-zig | 4.6-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | +| raylib-zig | 5.0 | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | | raylib.zig | 5.1-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | | hare-raylib | **auto** | [Hare](https://harelang.org/) | Zlib | https://git.sr.ht/~evantj/hare-raylib | | raylib-sunder | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | https://github.com/ashn-dot-dev/raylib-sunder | From 04afba260f64ee2ea9ef0b4a6d2058c9ffdad66d Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 8 Apr 2024 11:27:56 +0200 Subject: [PATCH 215/745] REVIEWED: Window positioning, avoid out-of-screen window-bar --- src/platforms/rcore_desktop.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 04b73355e..64e79c6dc 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1515,7 +1515,15 @@ int InitPlatform(void) // If graphic device is no properly initialized, we end program if (!CORE.Window.ready) { TRACELOG(LOG_FATAL, "PLATFORM: Failed to initialize graphic device"); return -1; } - else SetWindowPosition(GetMonitorWidth(GetCurrentMonitor())/2 - CORE.Window.screen.width/2, GetMonitorHeight(GetCurrentMonitor())/2 - CORE.Window.screen.height/2); + else + { + // Try to center window on screen but avoiding window-bar outside of screen + int posX = GetMonitorWidth(GetCurrentMonitor())/2 - CORE.Window.screen.width/2; + int posY = GetMonitorHeight(GetCurrentMonitor())/2 - CORE.Window.screen.height/2; + if (posX < 0) posX = 0; + if (posY < 0) posY = 0; + SetWindowPosition(posX, posY); + } // Load OpenGL extensions // NOTE: GL procedures address loader is required to load extensions From a1f5e34d81af38a0829880c517ecf76f5bd5c524 Mon Sep 17 00:00:00 2001 From: Aria Date: Wed, 10 Apr 2024 01:34:05 -0700 Subject: [PATCH 216/745] Update rcore_android.c (#3910) add gamepad previous button state tracking to Android --- src/platforms/rcore_android.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/platforms/rcore_android.c b/src/platforms/rcore_android.c index 23b8f4369..d8568d929 100644 --- a/src/platforms/rcore_android.c +++ b/src/platforms/rcore_android.c @@ -651,6 +651,16 @@ void PollInputEvents(void) CORE.Input.Gamepad.lastButtonPressed = 0; // GAMEPAD_BUTTON_UNKNOWN //CORE.Input.Gamepad.axisCount = 0; + for (int i = 0; i < MAX_GAMEPADS; i++) + { + if (CORE.Input.Gamepad.ready[i]) // Check if gamepad is available + { + // Register previous gamepad states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) + CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; + } + } + // Register previous touch states for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i]; From a4819f99cbf191d132e4dacea1f0ba1574fe2a7e Mon Sep 17 00:00:00 2001 From: Yousif <82059810+He-Is-HaZaRdOuS@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:36:03 +0300 Subject: [PATCH 217/745] Update shaders_hybrid_render.c (#3908) Fix typo --- examples/shaders/shaders_hybrid_render.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/shaders/shaders_hybrid_render.c b/examples/shaders/shaders_hybrid_render.c index 97c773f1d..5bf2e49a8 100644 --- a/examples/shaders/shaders_hybrid_render.c +++ b/examples/shaders/shaders_hybrid_render.c @@ -116,7 +116,7 @@ int main(void) DrawRectangleRec((Rectangle){0,0, (float)screenWidth, (float)screenHeight},WHITE); EndShaderMode(); - // Raserize Scene + // Rasterize Scene BeginMode3D(camera); BeginShaderMode(shdrRaster); DrawCubeWiresV((Vector3){ 0.0f, 0.5f, 1.0f }, (Vector3){ 1.0f, 1.0f, 1.0f }, RED); @@ -205,4 +205,4 @@ void UnloadRenderTextureDepthTex(RenderTexture2D target) // queried and deleted before deleting framebuffer rlUnloadFramebuffer(target.id); } -} \ No newline at end of file +} From b3dfa2d8abff549a9a9129f7ef2462ef1261ac4d Mon Sep 17 00:00:00 2001 From: freakmangd <53349189+freakmangd@users.noreply.github.com> Date: Wed, 10 Apr 2024 04:36:18 -0400 Subject: [PATCH 218/745] Update to latest zig and simplify build.zig (#3905) * update to latest zig, and don't use srcdir * preserve compatibility, simplify Child.run compatibility --- src/build.zig | 107 +++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 58 deletions(-) diff --git a/src/build.zig b/src/build.zig index 91cd9cb1f..fe6365ef1 100644 --- a/src/build.zig +++ b/src/build.zig @@ -3,8 +3,7 @@ const builtin = @import("builtin"); // This has been tested with zig version(s): // 0.11.0 -// 0.12.0-dev.2075+f5978181e -// 0.12.0-dev.2990+31763d28c +// 0.12.0-dev.3580+e204a6edb // // Anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type // was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows @@ -51,37 +50,37 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // No GLFW required on PLATFORM_DRM if (!options.platform_drm) { - raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "/external/glfw/include" }); + raylib.addIncludePath(.{ .path = "src/external/glfw/include" }); } addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rcore.c"), - try join2(gpa, srcdir, "utils.c"), + "src/rcore.c", + "src/utils.c", }, raylib_flags_arr.items); if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "raudio.c"), + "src/raudio.c", }, raylib_flags_arr.items); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rmodels.c"), + "src/rmodels.c", }, raylib_flags_arr.items); } if (options.rshapes) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rshapes.c"), + "src/rshapes.c", }, raylib_flags_arr.items); } if (options.rtext) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rtext.c"), + "src/rtext.c", }, raylib_flags_arr.items); } if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rtextures.c"), + "src/rtextures.c", }, raylib_flags_arr.items); } @@ -91,14 +90,14 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM if (options.raygui) { const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); - raylib.addIncludePath(.{ .cwd_relative = srcdir }); - raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "/../../raygui/src" }); + raylib.addIncludePath(.{ .path = "src" }); + raylib.addIncludePath(.{ .path = "../raygui/src" }); } switch (getOsTagVersioned(target)) { .windows => { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rglfw.c"), + "src/rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); @@ -109,7 +108,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .linux => { if (!options.platform_drm) { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rglfw.c"), + "src/rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -130,7 +129,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("wayland-cursor"); raylib.linkSystemLibrary("wayland-egl"); raylib.linkSystemLibrary("xkbcommon"); - raylib.addIncludePath(.{ .path = srcdir }); + raylib.addIncludePath(.{ .path = "src" }); try waylandGenerate(gpa, "wayland.xml", "wayland-client-protocol"); try waylandGenerate(gpa, "xdg-shell.xml", "xdg-shell-client-protocol"); try waylandGenerate(gpa, "xdg-decoration-unstable-v1.xml", "xdg-decoration-unstable-v1-client-protocol"); @@ -163,7 +162,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .freebsd, .openbsd, .netbsd, .dragonfly => { addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rglfw.c"), + "src/rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -182,7 +181,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // On macos rglfw.c include Objective-C files. try raylib_flags_arr.append("-ObjC"); addCSourceFilesVersioned(raylib, &.{ - try join2(gpa, srcdir, "rglfw.c"), + "src/rglfw.c", }, raylib_flags_arr.items); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); @@ -259,24 +258,18 @@ pub fn build(b: *std.Build) !void { const lib = try addRaylib(b, target, optimize, options); - lib.installHeader("src/raylib.h", "raylib.h"); - lib.installHeader("src/raymath.h", "raymath.h"); - lib.installHeader("src/rlgl.h", "rlgl.h"); + installHeaderVersioned(lib, "src/raylib.h", "raylib.h"); + installHeaderVersioned(lib, "src/raymath.h", "raymath.h"); + installHeaderVersioned(lib, "src/rlgl.h", "rlgl.h"); if (options.raygui) { - lib.installHeader("../raygui/src/raygui.h", "raygui.h"); + installHeaderVersioned(lib, "../raygui/src/raygui.h", "raygui.h"); } b.installArtifact(lib); } -const srcdir = struct { - fn getSrcDir() []const u8 { - return std.fs.path.dirname(@src().file).?; - } -}.getSrcDir(); - -const waylandDir = srcdir ++ "/external/glfw/deps/wayland"; +const waylandDir = "src/external/glfw/deps/wayland"; fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { if (comptime builtin.zig_version.minor >= 12) { @@ -291,14 +284,11 @@ fn addCSourceFilesVersioned( files: []const []const u8, flags: []const []const u8, ) void { - //- HACK(cabarger): I hate this so much!!! if (comptime builtin.zig_version.minor >= 12) { - for (files) |file| { - exe.addCSourceFile(.{ - .file = .{ .path = file }, - .flags = flags, - }); - } + exe.addCSourceFiles(.{ + .files = files, + .flags = flags, + }); } else if (comptime builtin.zig_version.minor == 11) { exe.addCSourceFiles(files, flags); } else { @@ -306,32 +296,33 @@ fn addCSourceFilesVersioned( } } -fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { - const protocolDir = waylandDir ++ "/" ++ protocol; - const clientHeader = srcdir ++ "/" ++ basename ++ ".h"; - const privateCode = srcdir ++ "/" ++ basename ++ "-code.h"; +fn installHeaderVersioned( + lib: *std.Build.Step.Compile, + source: []const u8, + dest: []const u8, +) void { if (comptime builtin.zig_version.minor >= 12) { - _ = try std.process.Child.run(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, - }); - _ = try std.process.Child.run(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, - }); + lib.installHeader(.{ .path = source }, dest); } else { - _ = try std.process.Child.exec(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, - }); - _ = try std.process.Child.exec(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, - }); + lib.installHeader(source, dest); } } -fn join2(allocator: std.mem.Allocator, path1: []const u8, path2: []const u8) ![]u8 { - const joinedPath = try std.fs.path.join(allocator, &[_][]const u8{ path1, path2 }); - return joinedPath; +const childRunVersioned = if (builtin.zig_version.minor >= 12) + std.process.Child.run +else + std.process.Child.exec; + +fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { + const protocolDir = waylandDir ++ "/" ++ protocol; + const clientHeader = "src/" ++ basename ++ ".h"; + const privateCode = "src/" ++ basename ++ "-code.h"; + _ = try childRunVersioned(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, + }); + _ = try childRunVersioned(.{ + .allocator = allocator, + .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, + }); } From 214b1997a8fba0e60ed92352c908823a53eb3a8d Mon Sep 17 00:00:00 2001 From: Mute Date: Sat, 13 Apr 2024 23:33:21 +0200 Subject: [PATCH 219/745] Changed RLGL_VERSION from "4.5" to "5.0 (#3914) Line 110 of file rlgl.h is the one in question. --- src/rlgl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index 87cff4ef6..c5c51319a 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -107,7 +107,7 @@ #ifndef RLGL_H #define RLGL_H -#define RLGL_VERSION "4.5" +#define RLGL_VERSION "5.0" // 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 From ba2a103011b47438ee05427c1f33dd7d52b07efa Mon Sep 17 00:00:00 2001 From: freakmangd <53349189+freakmangd@users.noreply.github.com> Date: Sat, 13 Apr 2024 17:34:14 -0400 Subject: [PATCH 220/745] [build.zig] Fix local dependency breakage (#3913) * fix local dependency breakage * revert accidental change in include path --- build.zig | 2 +- src/build.zig | 54 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/build.zig b/build.zig index 1cf9e9503..4c8ede79d 100644 --- a/build.zig +++ b/build.zig @@ -1,7 +1,7 @@ const std = @import("std"); const raylib = @import("src/build.zig"); -// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.2075+f5978181e +// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.3632+7fb5a0b18 pub fn build(b: *std.Build) !void { try raylib.build(b); } diff --git a/src/build.zig b/src/build.zig index fe6365ef1..bd6dd032f 100644 --- a/src/build.zig +++ b/src/build.zig @@ -3,7 +3,7 @@ const builtin = @import("builtin"); // This has been tested with zig version(s): // 0.11.0 -// 0.12.0-dev.3580+e204a6edb +// 0.12.0-dev.3632+7fb5a0b18 // // Anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type // was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows @@ -50,37 +50,37 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // No GLFW required on PLATFORM_DRM if (!options.platform_drm) { - raylib.addIncludePath(.{ .path = "src/external/glfw/include" }); + raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "external/glfw/include" }); } addCSourceFilesVersioned(raylib, &.{ - "src/rcore.c", - "src/utils.c", + "rcore.c", + "utils.c", }, raylib_flags_arr.items); if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ - "src/raudio.c", + "raudio.c", }, raylib_flags_arr.items); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ - "src/rmodels.c", + "rmodels.c", }, raylib_flags_arr.items); } if (options.rshapes) { addCSourceFilesVersioned(raylib, &.{ - "src/rshapes.c", + "rshapes.c", }, raylib_flags_arr.items); } if (options.rtext) { addCSourceFilesVersioned(raylib, &.{ - "src/rtext.c", + "rtext.c", }, raylib_flags_arr.items); } if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ - "src/rtextures.c", + "rtextures.c", }, raylib_flags_arr.items); } @@ -90,14 +90,14 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM if (options.raygui) { const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); - raylib.addIncludePath(.{ .path = "src" }); - raylib.addIncludePath(.{ .path = "../raygui/src" }); + raylib.addIncludePath(.{ .cwd_relative = srcdir }); + raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "../../raygui/src" }); } switch (getOsTagVersioned(target)) { .windows => { addCSourceFilesVersioned(raylib, &.{ - "src/rglfw.c", + "rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); @@ -108,7 +108,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .linux => { if (!options.platform_drm) { addCSourceFilesVersioned(raylib, &.{ - "src/rglfw.c", + "rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -129,7 +129,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("wayland-cursor"); raylib.linkSystemLibrary("wayland-egl"); raylib.linkSystemLibrary("xkbcommon"); - raylib.addIncludePath(.{ .path = "src" }); + raylib.addIncludePath(.{ .path = srcdir }); try waylandGenerate(gpa, "wayland.xml", "wayland-client-protocol"); try waylandGenerate(gpa, "xdg-shell.xml", "xdg-shell-client-protocol"); try waylandGenerate(gpa, "xdg-decoration-unstable-v1.xml", "xdg-decoration-unstable-v1-client-protocol"); @@ -162,7 +162,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .freebsd, .openbsd, .netbsd, .dragonfly => { addCSourceFilesVersioned(raylib, &.{ - "src/rglfw.c", + "rglfw.c", }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -181,7 +181,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // On macos rglfw.c include Objective-C files. try raylib_flags_arr.append("-ObjC"); addCSourceFilesVersioned(raylib, &.{ - "src/rglfw.c", + "rglfw.c", }, raylib_flags_arr.items); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); @@ -269,7 +269,13 @@ pub fn build(b: *std.Build) !void { b.installArtifact(lib); } -const waylandDir = "src/external/glfw/deps/wayland"; +const srcdir = struct { + fn getSrcDir() []const u8 { + return std.fs.path.dirname(@src().file).?; + } +}.getSrcDir() ++ "/"; + +const waylandDir = srcdir ++ "external/glfw/deps/wayland"; fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { if (comptime builtin.zig_version.minor >= 12) { @@ -279,18 +285,24 @@ fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { } } -fn addCSourceFilesVersioned( +inline fn addCSourceFilesVersioned( exe: *std.Build.Step.Compile, files: []const []const u8, flags: []const []const u8, ) void { if (comptime builtin.zig_version.minor >= 12) { exe.addCSourceFiles(.{ + .root = .{ .path = srcdir }, .files = files, .flags = flags, }); } else if (comptime builtin.zig_version.minor == 11) { - exe.addCSourceFiles(files, flags); + inline for (files) |file| { + exe.addCSourceFile(.{ + .file = .{ .path = srcdir ++ file }, + .flags = flags, + }); + } } else { @compileError("Expected zig version 11 or 12"); } @@ -315,8 +327,8 @@ else fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { const protocolDir = waylandDir ++ "/" ++ protocol; - const clientHeader = "src/" ++ basename ++ ".h"; - const privateCode = "src/" ++ basename ++ "-code.h"; + const clientHeader = srcdir ++ basename ++ ".h"; + const privateCode = srcdir ++ basename ++ "-code.h"; _ = try childRunVersioned(.{ .allocator = allocator, .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, From 583f81f4587d612eb187dea899b432be4af60508 Mon Sep 17 00:00:00 2001 From: Dylan Date: Sat, 13 Apr 2024 17:35:23 -0400 Subject: [PATCH 221/745] Fix FileNotFound: .../src/raylib.h (#3915) --- src/build.zig | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/build.zig b/src/build.zig index bd6dd032f..4134c4a84 100644 --- a/src/build.zig +++ b/src/build.zig @@ -258,12 +258,12 @@ pub fn build(b: *std.Build) !void { const lib = try addRaylib(b, target, optimize, options); - installHeaderVersioned(lib, "src/raylib.h", "raylib.h"); - installHeaderVersioned(lib, "src/raymath.h", "raymath.h"); - installHeaderVersioned(lib, "src/rlgl.h", "rlgl.h"); + installHeaderVersioned(b, lib, "src/raylib.h", "raylib.h"); + installHeaderVersioned(b, lib, "src/raymath.h", "raymath.h"); + installHeaderVersioned(b, lib, "src/rlgl.h", "rlgl.h"); if (options.raygui) { - installHeaderVersioned(lib, "../raygui/src/raygui.h", "raygui.h"); + installHeaderVersioned(b, lib, "../raygui/src/raygui.h", "raygui.h"); } b.installArtifact(lib); @@ -309,12 +309,16 @@ inline fn addCSourceFilesVersioned( } fn installHeaderVersioned( + b: *std.Build, lib: *std.Build.Step.Compile, source: []const u8, dest: []const u8, ) void { if (comptime builtin.zig_version.minor >= 12) { - lib.installHeader(.{ .path = source }, dest); + lib.installHeader(.{ .src_path = .{ + .owner = b, + .sub_path = source, + } }, dest); } else { lib.installHeader(source, dest); } From 289e7d3a6c5b9ee05ff9e4f77db6de7f897e49ec Mon Sep 17 00:00:00 2001 From: veins1 <19636663+veins1@users.noreply.github.com> Date: Sun, 14 Apr 2024 03:15:50 +0500 Subject: [PATCH 222/745] Reset music.ctxType if loading wasn't succesful (#3917) Fixes some crashes, e.g. calling StopMusicStream after trying to load Music from a non-existant .mp3 file --- src/raudio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/raudio.c b/src/raudio.c index 0e9e043d1..555dfe505 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1461,6 +1461,7 @@ Music LoadMusicStream(const char *fileName) #endif music.ctxData = NULL; + music.ctxType = MUSIC_AUDIO_NONE; TRACELOG(LOG_WARNING, "FILEIO: [%s] Music file could not be opened", fileName); } else @@ -1670,6 +1671,7 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, #endif music.ctxData = NULL; + music.ctxType = MUSIC_AUDIO_NONE; TRACELOG(LOG_WARNING, "FILEIO: Music data could not be loaded"); } else From 4e37c8e370f9c3846dc1136047809ed5d8886a90 Mon Sep 17 00:00:00 2001 From: Benji <64439681+benjitrosch@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:08:09 -0400 Subject: [PATCH 223/745] Added missing interpolation types for GLTF animation channels (#3919) --- src/raymath.h | 28 +++++++++++++ src/rmodels.c | 114 ++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 120 insertions(+), 22 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 3bafab510..8b2bbed5b 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -955,6 +955,22 @@ RMAPI Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount) return result; } +// Calculate cubic hermite interpolation between two vectors and their tangents +// taken directly from: https://en.wikipedia.org/wiki/Cubic_Hermite_spline +RMAPI Vector3 Vector3CubicHermite(Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount) +{ + Vector3 result = { 0 }; + + float amountPow2 = amount * amount; + float amountPow3 = amount * amount * amount; + + result.x = (2 * amountPow3 - 3 * amountPow2 + 1) * v1.x + (amountPow3 - 2 * amountPow2 + amount) * tangent1.x + (-2 * amountPow3 + 3 * amountPow2) * v2.x + (amountPow3 - amountPow2) * tangent2.x; + result.y = (2 * amountPow3 - 3 * amountPow2 + 1) * v1.y + (amountPow3 - 2 * amountPow2 + amount) * tangent1.y + (-2 * amountPow3 + 3 * amountPow2) * v2.y + (amountPow3 - amountPow2) * tangent2.y; + result.z = (2 * amountPow3 - 3 * amountPow2 + 1) * v1.z + (amountPow3 - 2 * amountPow2 + amount) * tangent1.z + (-2 * amountPow3 + 3 * amountPow2) * v2.z + (amountPow3 - amountPow2) * tangent2.z; + + return result; +} + // Calculate reflected vector to normal RMAPI Vector3 Vector3Reflect(Vector3 v, Vector3 normal) { @@ -2197,6 +2213,18 @@ RMAPI Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount) return result; } +// Calculate quaternion cubic spline interpolation using the SQUAD algorithm +// roughly adapted from the SQUAD algorithm presented here: https://roboop.sourceforge.io/htmldoc/robotse9.html +RMAPI Quaternion QuaternionCubicSpline(Quaternion q1, Quaternion tangent1, Quaternion q2, Quaternion tangent2, float amount) +{ + Quaternion slerp1 = QuaternionSlerp(q1, q2, amount); + Quaternion slerp2 = QuaternionSlerp(tangent1, tangent2, amount); + float t = 2 * amount * (1 - amount); + + Quaternion result = QuaternionSlerp(slerp1, slerp2, t); + return result; +} + // Calculate quaternion based on the rotation from one vector to another RMAPI Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to) { diff --git a/src/rmodels.c b/src/rmodels.c index 77bb19aa1..04b2f1291 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5356,8 +5356,10 @@ static Model LoadGLTF(const char *fileName) } // Get interpolated pose for bone sampler at a specific time. Returns true on success. -static bool GetPoseAtTimeGLTF(cgltf_accessor *input, cgltf_accessor *output, float time, void *data) +static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_accessor *input, cgltf_accessor *output, float time, void *data) { + if (interpolationType >= cgltf_interpolation_type_max_enum) return false; + // Input and output should have the same count float tstart = 0.0f; float tend = 0.0f; @@ -5377,7 +5379,7 @@ static bool GetPoseAtTimeGLTF(cgltf_accessor *input, cgltf_accessor *output, flo break; } } - + float t = (time - tstart)/fmax((tend - tstart), EPSILON); t = (t < 0.0f)? 0.0f : t; t = (t > 1.0f)? 1.0f : t; @@ -5386,25 +5388,90 @@ static bool GetPoseAtTimeGLTF(cgltf_accessor *input, cgltf_accessor *output, flo if (output->type == cgltf_type_vec3) { - float tmp[3] = { 0.0f }; - cgltf_accessor_read_float(output, keyframe, tmp, 3); - Vector3 v1 = {tmp[0], tmp[1], tmp[2]}; - cgltf_accessor_read_float(output, keyframe+1, tmp, 3); - Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; - Vector3 *r = data; - *r = Vector3Lerp(v1, v2, t); + switch (interpolationType) + { + case cgltf_interpolation_type_step: + { + float tmp[3] = { 0.0f }; + cgltf_accessor_read_float(output, keyframe, tmp, 3); + Vector3 v1 = {tmp[0], tmp[1], tmp[2]}; + Vector3 *r = data; + + *r = v1; + } break; + + case cgltf_interpolation_type_linear: + { + float tmp[3] = { 0.0f }; + cgltf_accessor_read_float(output, keyframe, tmp, 3); + Vector3 v1 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, keyframe+1, tmp, 3); + Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; + Vector3 *r = data; + + *r = Vector3Lerp(v1, v2, t); + } break; + + case cgltf_interpolation_type_cubic_spline: + { + float tmp[3] = { 0.0f }; + cgltf_accessor_read_float(output, 3*keyframe+1, tmp, 3); + Vector3 v1 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, 3*keyframe+2, tmp, 3); + Vector3 tangent1 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 3); + Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, 3*(keyframe+1)+1, tmp, 3); + Vector3 tangent2 = {tmp[0], tmp[1], tmp[2]}; + Vector3 *r = data; + + *r = Vector3CubicHermite(v1, tangent1, v2, tangent2, t); + } break; + } } else if (output->type == cgltf_type_vec4) { - float tmp[4] = { 0.0f }; - cgltf_accessor_read_float(output, keyframe, tmp, 4); - Vector4 v1 = {tmp[0], tmp[1], tmp[2], tmp[3]}; - cgltf_accessor_read_float(output, keyframe+1, tmp, 4); - Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; - Vector4 *r = data; - // Only v4 is for rotations, so we know it's a quaternion - *r = QuaternionSlerp(v1, v2, t); + switch (interpolationType) + { + case cgltf_interpolation_type_step: + { + float tmp[4] = { 0.0f }; + cgltf_accessor_read_float(output, keyframe, tmp, 4); + Vector4 v1 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + Vector4 *r = data; + + *r = v1; + } break; + + case cgltf_interpolation_type_linear: + { + float tmp[4] = { 0.0f }; + cgltf_accessor_read_float(output, keyframe, tmp, 4); + Vector4 v1 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + cgltf_accessor_read_float(output, keyframe+1, tmp, 4); + Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + Vector4 *r = data; + + *r = QuaternionSlerp(v1, v2, t); + } break; + + case cgltf_interpolation_type_cubic_spline: + { + float tmp[4] = { 0.0f }; + cgltf_accessor_read_float(output, 3*keyframe+1, tmp, 4); + Vector4 v1 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + cgltf_accessor_read_float(output, 3*keyframe+2, tmp, 4); + Vector4 tangent1 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 4); + Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + cgltf_accessor_read_float(output, 3*(keyframe+1)+1, tmp, 4); + Vector4 tangent2 = {tmp[0], tmp[1], tmp[2]}; + Vector4 *r = data; + + *r = QuaternionCubicSpline(v1, tangent1, v2, tangent2, t); + } break; + } } return true; @@ -5455,6 +5522,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo cgltf_animation_channel *translate; cgltf_animation_channel *rotate; cgltf_animation_channel *scale; + cgltf_interpolation_type interpolationType; }; struct Channels *boneChannels = RL_CALLOC(animations[i].boneCount, sizeof(struct Channels)); @@ -5480,7 +5548,9 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo continue; } - if (animData.channels[j].sampler->interpolation == cgltf_interpolation_type_linear) + boneChannels[boneIndex].interpolationType = animData.channels[j].sampler->interpolation; + + if (animData.channels[j].sampler->interpolation != cgltf_interpolation_type_max_enum) { if (channel.target_path == cgltf_animation_path_type_translation) { @@ -5499,7 +5569,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo TRACELOG(LOG_WARNING, "MODEL: [%s] Unsupported target_path on channel %d's sampler for animation %d. Skipping.", fileName, j, i); } } - else TRACELOG(LOG_WARNING, "MODEL: [%s] Only linear interpolation curves are supported for GLTF animation.", fileName); + else TRACELOG(LOG_WARNING, "MODEL: [%s] Invalid interpolation curve encountered for GLTF animation.", fileName); float t = 0.0f; cgltf_bool r = cgltf_accessor_read_float(channel.sampler->input, channel.sampler->input->count - 1, &t, 1); @@ -5532,7 +5602,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo if (boneChannels[k].translate) { - if (!GetPoseAtTimeGLTF(boneChannels[k].translate->sampler->input, boneChannels[k].translate->sampler->output, time, &translation)) + if (!GetPoseAtTimeGLTF(boneChannels[k].interpolationType, boneChannels[k].translate->sampler->input, boneChannels[k].translate->sampler->output, time, &translation)) { TRACELOG(LOG_INFO, "MODEL: [%s] Failed to load translate pose data for bone %s", fileName, animations[i].bones[k].name); } @@ -5540,7 +5610,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo if (boneChannels[k].rotate) { - if (!GetPoseAtTimeGLTF(boneChannels[k].rotate->sampler->input, boneChannels[k].rotate->sampler->output, time, &rotation)) + if (!GetPoseAtTimeGLTF(boneChannels[k].interpolationType, boneChannels[k].rotate->sampler->input, boneChannels[k].rotate->sampler->output, time, &rotation)) { TRACELOG(LOG_INFO, "MODEL: [%s] Failed to load rotate pose data for bone %s", fileName, animations[i].bones[k].name); } @@ -5548,7 +5618,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo if (boneChannels[k].scale) { - if (!GetPoseAtTimeGLTF(boneChannels[k].scale->sampler->input, boneChannels[k].scale->sampler->output, time, &scale)) + if (!GetPoseAtTimeGLTF(boneChannels[k].interpolationType, boneChannels[k].scale->sampler->input, boneChannels[k].scale->sampler->output, time, &scale)) { TRACELOG(LOG_INFO, "MODEL: [%s] Failed to load scale pose data for bone %s", fileName, animations[i].bones[k].name); } From e42f9263b81e925d4a8023673c5983e83ae094f7 Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 15 Apr 2024 23:09:20 +0200 Subject: [PATCH 224/745] Fix GetKeyPressed for PLATFORM_DESKTOP_SDL (#3869) The key handling in PLATFORM_DESKTOP_SDL was faulty in two ways, which led to GetKeyPressed returning incorrect data. CORE.Input.Keyboard.keyPressedQueue was updated only on SDL_TEXTINPUT, meaning only text characters were registered as a pressed key, but not function keys (eg. tab, backspace...). Also on such event, both CORE.Input.Keyboard.keyPressedQueue and CORE.Input.Keyboard.charPressedQueue were assigned the key's corresponding codepoint, when CORE.Input.Keyboard.keyPressedQueue should get the raylib keycode instead. CORE.Input.Keyboard.keyPressedQueue is now updated on SDL_KEYDOWN event instead. Co-authored-by: Arthur --- src/platforms/rcore_desktop_sdl.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 1aea68546..9dfdd53ab 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1131,7 +1131,17 @@ void PollInputEvents(void) case SDL_KEYDOWN: { KeyboardKey key = ConvertScancodeToKey(event.key.keysym.scancode); - if (key != KEY_NULL) CORE.Input.Keyboard.currentKeyState[key] = 1; + + if (key != KEY_NULL) { + // If key was up, add it to the key pressed queue + if ((CORE.Input.Keyboard.currentKeyState[key] == 0) && (CORE.Input.Keyboard.keyPressedQueueCount < MAX_KEY_PRESSED_QUEUE)) + { + CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = key; + CORE.Input.Keyboard.keyPressedQueueCount++; + } + + CORE.Input.Keyboard.currentKeyState[key] = 1; + } if (event.key.repeat) CORE.Input.Keyboard.keyRepeatInFrame[key] = 1; @@ -1154,14 +1164,6 @@ void PollInputEvents(void) int codepointSize = 0; - // Check if there is space available in the key queue - if (CORE.Input.Keyboard.keyPressedQueueCount < MAX_KEY_PRESSED_QUEUE) - { - // Add character (key) to the queue - CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = GetCodepointNext(event.text.text, &codepointSize); - CORE.Input.Keyboard.keyPressedQueueCount++; - } - // Check if there is space available in the queue if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) { From 4491ff04262d11cf8f66e1bd6145c1a8d30bb503 Mon Sep 17 00:00:00 2001 From: Benji <64439681+benjitrosch@users.noreply.github.com> Date: Wed, 17 Apr 2024 02:10:48 -0400 Subject: [PATCH 225/745] Replaced SQUAD quat interpolation with cubic hermite to align with gltf 2.0 spec (#3920) --- src/raymath.h | 30 ++++++++++++++++++++++-------- src/rmodels.c | 28 ++++++++++++++++++++-------- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 8b2bbed5b..19625f10a 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -956,7 +956,7 @@ RMAPI Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount) } // Calculate cubic hermite interpolation between two vectors and their tangents -// taken directly from: https://en.wikipedia.org/wiki/Cubic_Hermite_spline +// as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic RMAPI Vector3 Vector3CubicHermite(Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount) { Vector3 result = { 0 }; @@ -2213,15 +2213,29 @@ RMAPI Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount) return result; } -// Calculate quaternion cubic spline interpolation using the SQUAD algorithm -// roughly adapted from the SQUAD algorithm presented here: https://roboop.sourceforge.io/htmldoc/robotse9.html -RMAPI Quaternion QuaternionCubicSpline(Quaternion q1, Quaternion tangent1, Quaternion q2, Quaternion tangent2, float amount) +// Calculate quaternion cubic spline interpolation using Cubic Hermite Spline algorithm +// as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic +RMAPI Quaternion QuaternionCubicHermiteSpline(Quaternion q1, Quaternion outTangent1, Quaternion q2, Quaternion inTangent2, float t) { - Quaternion slerp1 = QuaternionSlerp(q1, q2, amount); - Quaternion slerp2 = QuaternionSlerp(tangent1, tangent2, amount); - float t = 2 * amount * (1 - amount); + float t2 = t * t; + float t3 = t2 * t; + float h00 = 2 * t3 - 3 * t2 + 1; + float h10 = t3 - 2 * t2 + t; + float h01 = -2 * t3 + 3 * t2; + float h11 = t3 - t2; + + Quaternion p0 = QuaternionScale(q1, h00); + Quaternion m0 = QuaternionScale(outTangent1, h10); + Quaternion p1 = QuaternionScale(q2, h01); + Quaternion m1 = QuaternionScale(inTangent2, h11); + + Quaternion result = { 0 }; + + result = QuaternionAdd(p0, m0); + result = QuaternionAdd(result, p1); + result = QuaternionAdd(result, m1); + result = QuaternionNormalize(result); - Quaternion result = QuaternionSlerp(slerp1, slerp2, t); return result; } diff --git a/src/rmodels.c b/src/rmodels.c index 04b2f1291..0154a36fb 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5380,7 +5380,8 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ } } - float t = (time - tstart)/fmax((tend - tstart), EPSILON); + float duration = fmax((tend - tstart), EPSILON); + float t = (time - tstart)/duration; t = (t < 0.0f)? 0.0f : t; t = (t > 1.0f)? 1.0f : t; @@ -5419,9 +5420,9 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ Vector3 v1 = {tmp[0], tmp[1], tmp[2]}; cgltf_accessor_read_float(output, 3*keyframe+2, tmp, 3); Vector3 tangent1 = {tmp[0], tmp[1], tmp[2]}; - cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 3); - Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; cgltf_accessor_read_float(output, 3*(keyframe+1)+1, tmp, 3); + Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; + cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 3); Vector3 tangent2 = {tmp[0], tmp[1], tmp[2]}; Vector3 *r = data; @@ -5462,14 +5463,25 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ cgltf_accessor_read_float(output, 3*keyframe+1, tmp, 4); Vector4 v1 = {tmp[0], tmp[1], tmp[2], tmp[3]}; cgltf_accessor_read_float(output, 3*keyframe+2, tmp, 4); - Vector4 tangent1 = {tmp[0], tmp[1], tmp[2]}; - cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 4); - Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + Vector4 outTangent1 = {tmp[0], tmp[1], tmp[2]}; cgltf_accessor_read_float(output, 3*(keyframe+1)+1, tmp, 4); - Vector4 tangent2 = {tmp[0], tmp[1], tmp[2]}; + Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; + cgltf_accessor_read_float(output, 3*(keyframe+1), tmp, 4); + Vector4 inTangent2 = {tmp[0], tmp[1], tmp[2]}; Vector4 *r = data; - *r = QuaternionCubicSpline(v1, tangent1, v2, tangent2, t); + v1 = QuaternionNormalize(v1); + v2 = QuaternionNormalize(v2); + + if (Vector4DotProduct(v1, v2) < 0.0f) + { + v2 = Vector4Negate(v2); + } + + outTangent1 = Vector4Scale(outTangent1, duration); + inTangent2 = Vector4Scale(inTangent2, duration); + + *r = QuaternionCubicHermiteSpline(v1, outTangent1, v2, inTangent2, t); } break; } } From a6a08c75ebf222ee34a5a09f9623d1025c252f0d Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 17 Apr 2024 18:30:02 +0200 Subject: [PATCH 226/745] Update corrupted-header sounds #3554 --- examples/audio/resources/coin.wav | Bin 4776 -> 18114 bytes examples/audio/resources/spring.wav | Bin 10850 -> 31262 bytes examples/audio/resources/weird.wav | Bin 6246 -> 24388 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/audio/resources/coin.wav b/examples/audio/resources/coin.wav index 6007509bf42e0b4623a13a00160ae1b96db0e784..ad95bfb55a2e50da93fdb1e639b4635dfcc2b463 100644 GIT binary patch literal 18114 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 T!2-y_U;$(Tq8eFb1hE+aUh)m& literal 4776 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

&35^ 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℘rzq> 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 diff --git a/examples/audio/resources/weird.wav b/examples/audio/resources/weird.wav index 101029c5bf0abad9fc68bbaea63b55abbb97d982..f5c8f558ce052f3b8e3416996a5256bc74a7487a 100644 GIT binary patch literal 24388 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 Date: Wed, 17 Apr 2024 19:12:47 +0200 Subject: [PATCH 227/745] FIX: #3918 --- examples/Makefile.Android | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/examples/Makefile.Android b/examples/Makefile.Android index 08cdf1515..01d88fa49 100644 --- a/examples/Makefile.Android +++ b/examples/Makefile.Android @@ -158,7 +158,8 @@ LDLIBS = -lm -lc -lraylib -llog -landroid -lEGL -lGLESv2 -lOpenSLES -ldl OBJS = $(patsubst %.c, $(PROJECT_BUILD_PATH)/obj/%.o, $(PROJECT_SOURCE_FILES)) # Android APK building process... some steps required... -# NOTE: typing 'make' will invoke the default target entry called 'all', +# NOTE: typing 'make' will invoke the default target entry called 'all' +# TODO: Use apksigner for APK signing, jarsigner is not recommended all: create_temp_project_dirs \ copy_project_required_libs \ copy_project_resources \ @@ -170,8 +171,14 @@ all: create_temp_project_dirs \ compile_project_class \ compile_project_class_dex \ create_project_apk_package \ - zipalign_project_apk_package \ - sign_project_apk_package + sign_project_apk_package \ + zipalign_project_apk_package + +# WARNING: About build signing process: +# - If using apksigner, zipalign must be used before the APK file has been signed. +# - If using jarsigner (not recommended), zipalign must be used after the APK file has been signed. +# REF: https://developer.android.com/tools/zipalign +# REF: https://developer.android.com/tools/apksigner # Create required temp directories for APK building create_temp_project_dirs: From c1fd98591d7996dd45a5ce9ecbb4b571607d417b Mon Sep 17 00:00:00 2001 From: Benji <64439681+benjitrosch@users.noreply.github.com> Date: Wed, 17 Apr 2024 13:26:18 -0400 Subject: [PATCH 228/745] Build specific example using -DBUILD_EXAMPLE cmake flag (#3921) --- CMakeLists.txt | 5 ++++- CMakeOptions.txt | 1 + examples/CMakeLists.txt | 20 +++++++++++++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57719691a..d5c066045 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,7 +59,10 @@ if(NOT TARGET uninstall) COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) endif() -if (${BUILD_EXAMPLES}) +if (NOT ${BUILD_EXAMPLE} STREQUAL "") + MESSAGE(STATUS "Building example '${BUILD_EXAMPLE}'") + add_subdirectory(examples) +elseif (${BUILD_EXAMPLES}) MESSAGE(STATUS "Building examples is enabled") add_subdirectory(examples) endif() diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 2c58cd5cc..76fa411ff 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -8,6 +8,7 @@ enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific # Configuration options option(BUILD_EXAMPLES "Build the examples." ${RAYLIB_IS_MAIN}) +option(BUILD_EXAMPLE "Build a specific example by filename." "") option(CUSTOMIZE_BUILD "Show options for customizing your Raylib library build." OFF) option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF) option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer (UBSan) for debugging" OFF) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 922323674..0f4be2187 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -48,10 +48,24 @@ endif () # into a CMake variable set(example_sources) set(example_resources) +set(example_found FALSE) foreach (example_dir ${example_dirs}) - # Get the .c files - file(GLOB sources ${example_dir}/*.c) - list(APPEND example_sources ${sources}) + if (BUILD_EXAMPLE) + if (NOT example_found) + file(GLOB sources ${example_dir}/${BUILD_EXAMPLE}.c) + if (EXISTS ${sources}) + list(APPEND example_sources ${sources}) + set(example_found TRUE) + message("Raylib example '${BUILD_EXAMPLE}.c' found in ${example_dir}!") + else() + message("Raylib example '${BUILD_EXAMPLE}.c' not found in ${example_dir}...") + endif() + endif() + else() + # Get the .c files + file(GLOB sources ${example_dir}/*.c) + list(APPEND example_sources ${sources}) + endif() # Any any resources file(GLOB resources ${example_dir}/resources/*) From b00e4674949e6005e26a7f4088c491b50ec45886 Mon Sep 17 00:00:00 2001 From: Benji <64439681+benjitrosch@users.noreply.github.com> Date: Fri, 19 Apr 2024 02:43:24 -0400 Subject: [PATCH 229/745] Revert "Build specific example using -DBUILD_EXAMPLE cmake flag (#3921)" (#3922) This reverts commit c1fd98591d7996dd45a5ce9ecbb4b571607d417b. --- CMakeLists.txt | 5 +---- CMakeOptions.txt | 1 - examples/CMakeLists.txt | 20 +++----------------- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d5c066045..57719691a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,10 +59,7 @@ if(NOT TARGET uninstall) COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) endif() -if (NOT ${BUILD_EXAMPLE} STREQUAL "") - MESSAGE(STATUS "Building example '${BUILD_EXAMPLE}'") - add_subdirectory(examples) -elseif (${BUILD_EXAMPLES}) +if (${BUILD_EXAMPLES}) MESSAGE(STATUS "Building examples is enabled") add_subdirectory(examples) endif() diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 76fa411ff..2c58cd5cc 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -8,7 +8,6 @@ enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific # Configuration options option(BUILD_EXAMPLES "Build the examples." ${RAYLIB_IS_MAIN}) -option(BUILD_EXAMPLE "Build a specific example by filename." "") option(CUSTOMIZE_BUILD "Show options for customizing your Raylib library build." OFF) option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF) option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer (UBSan) for debugging" OFF) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 0f4be2187..922323674 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -48,24 +48,10 @@ endif () # into a CMake variable set(example_sources) set(example_resources) -set(example_found FALSE) foreach (example_dir ${example_dirs}) - if (BUILD_EXAMPLE) - if (NOT example_found) - file(GLOB sources ${example_dir}/${BUILD_EXAMPLE}.c) - if (EXISTS ${sources}) - list(APPEND example_sources ${sources}) - set(example_found TRUE) - message("Raylib example '${BUILD_EXAMPLE}.c' found in ${example_dir}!") - else() - message("Raylib example '${BUILD_EXAMPLE}.c' not found in ${example_dir}...") - endif() - endif() - else() - # Get the .c files - file(GLOB sources ${example_dir}/*.c) - list(APPEND example_sources ${sources}) - endif() + # Get the .c files + file(GLOB sources ${example_dir}/*.c) + list(APPEND example_sources ${sources}) # Any any resources file(GLOB resources ${example_dir}/resources/*) From 88f77629218c71b21cd8ce5cb74bc0a1b38ce1e6 Mon Sep 17 00:00:00 2001 From: Rafael Bordoni <49042948+eldskald@users.noreply.github.com> Date: Fri, 19 Apr 2024 10:17:22 -0300 Subject: [PATCH 230/745] Fix window not initializing on primary monitor on GLFW backend (#3923) The way the current code worked was by calling `GetCurrentMonitor()`, which would always return the monitor at position (0,0). This isn't the primary monitor on all platforms, on Linux in particular it isn't the case. This isn't the case on the SDL backend, after calling `InitWindow()` the window would always show up on the primary monitor. Even on the GLFW backend, if the full screen flag was set it would attempt to put it on the primary monitor as it would call `glfwGetPrimaryMonitor()` to do it, so for consistency's sake we should do it on windowed mode too. --- src/platforms/rcore_desktop.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 64e79c6dc..211a6cbb3 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1518,10 +1518,16 @@ int InitPlatform(void) else { // Try to center window on screen but avoiding window-bar outside of screen - int posX = GetMonitorWidth(GetCurrentMonitor())/2 - CORE.Window.screen.width/2; - int posY = GetMonitorHeight(GetCurrentMonitor())/2 - CORE.Window.screen.height/2; - if (posX < 0) posX = 0; - if (posY < 0) posY = 0; + int monitorX = 0; + int monitorY = 0; + int monitorWidth = 0; + int monitorHeight = 0; + glfwGetMonitorWorkarea(monitor, &monitorX, &monitorY, &monitorWidth, &monitorHeight); + + int posX = monitorX + (monitorWidth - CORE.Window.screen.width)/2; + int posY = monitorY + (monitorHeight - CORE.Window.screen.height)/2; + if (posX < monitorX) posX = monitorX; + if (posY < monitorY) posY = monitorY; SetWindowPosition(posX, posY); } From b88365fb01eb255be3d7acfab5af2cbadf90730e Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 19 Apr 2024 21:13:28 +0200 Subject: [PATCH 231/745] Disable some font formats support --- src/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.h b/src/config.h index 10aca978a..6d8169ba6 100644 --- a/src/config.h +++ b/src/config.h @@ -180,9 +180,9 @@ // NOTE: If enabled, uses external module functions to load default raylib font #define SUPPORT_DEFAULT_FONT 1 // Selected desired font fileformats to be supported for loading -#define SUPPORT_FILEFORMAT_FNT 1 #define SUPPORT_FILEFORMAT_TTF 1 -#define SUPPORT_FILEFORMAT_BDF 1 +//#define SUPPORT_FILEFORMAT_FNT 1 +//#define SUPPORT_FILEFORMAT_BDF 1 // Support text management functions // If not defined, still some functions are supported: TextLength(), TextFormat() From 51486a060654e042c3f5c177bb87875e8de8ebec Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 19 Apr 2024 21:13:36 +0200 Subject: [PATCH 232/745] Update rtext.c --- src/rtext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rtext.c b/src/rtext.c index 87b991025..51c10b55d 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2508,6 +2508,6 @@ static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, i return glyphs; } -#endif +#endif // SUPPORT_FILEFORMAT_BDF #endif // SUPPORT_MODULE_RTEXT From a17a81f05b62d92af1bff103721d17a180aa84e5 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 19 Apr 2024 21:13:52 +0200 Subject: [PATCH 233/745] Review code formating --- src/rmodels.c | 38 +++++++++++++++++++++----------------- src/rtextures.c | 38 ++++++++++++++++++++++---------------- 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 0154a36fb..969920c00 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -570,8 +570,9 @@ void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float e rlBegin(RL_TRIANGLES); rlColor4ub(color.r, color.g, color.b, color.a); - for (int i = 0; i < sides; i++) { - // compute the four vertices + for (int i = 0; i < sides; i++) + { + // Compute the four vertices float s1 = sinf(baseAngle*(i + 0))*startRadius; float c1 = cosf(baseAngle*(i + 0))*startRadius; Vector3 w1 = { startPos.x + s1*b1.x + c1*b2.x, startPos.y + s1*b1.y + c1*b2.y, startPos.z + s1*b1.z + c1*b2.z }; @@ -585,11 +586,12 @@ void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float e float c4 = cosf(baseAngle*(i + 1))*endRadius; Vector3 w4 = { endPos.x + s4*b1.x + c4*b2.x, endPos.y + s4*b1.y + c4*b2.y, endPos.z + s4*b1.z + c4*b2.z }; - if (startRadius > 0) { // + if (startRadius > 0) + { rlVertex3f(startPos.x, startPos.y, startPos.z); // | rlVertex3f(w2.x, w2.y, w2.z); // T0 rlVertex3f(w1.x, w1.y, w1.z); // | - } // + } // w2 x.-----------x startPos rlVertex3f(w1.x, w1.y, w1.z); // | |\'. T0 / rlVertex3f(w2.x, w2.y, w2.z); // T1 | \ '. / @@ -599,7 +601,8 @@ void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float e rlVertex3f(w4.x, w4.y, w4.z); // T2 '. \ |T3/ rlVertex3f(w3.x, w3.y, w3.z); // | '. \ | / // '.\|/ - if (endRadius > 0) { // 'x w3 + if (endRadius > 0) // 'x w3 + { rlVertex3f(endPos.x, endPos.y, endPos.z); // | rlVertex3f(w3.x, w3.y, w3.z); // T3 rlVertex3f(w4.x, w4.y, w4.z); // | @@ -657,8 +660,9 @@ void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, fl rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - for (int i = 0; i < sides; i++) { - // compute the four vertices + for (int i = 0; i < sides; i++) + { + // Compute the four vertices float s1 = sinf(baseAngle*(i + 0))*startRadius; float c1 = cosf(baseAngle*(i + 0))*startRadius; Vector3 w1 = { startPos.x + s1*b1.x + c1*b2.x, startPos.y + s1*b1.y + c1*b2.y, startPos.z + s1*b1.z + c1*b2.z }; @@ -4749,7 +4753,8 @@ static cgltf_result LoadFileGLTFCallback(const struct cgltf_memory_options *memo } // Release file data callback for cgltf -static void ReleaseFileGLTFCallback(const struct cgltf_memory_options *memoryOptions, const struct cgltf_file_options *fileOptions, void *data) { +static void ReleaseFileGLTFCallback(const struct cgltf_memory_options *memoryOptions, const struct cgltf_file_options *fileOptions, void *data) +{ UnloadFileData(data); } @@ -5335,7 +5340,8 @@ static Model LoadGLTF(const char *fileName) model.meshes[meshIndex].animVertices = RL_CALLOC(model.meshes[meshIndex].vertexCount*3, sizeof(float)); memcpy(model.meshes[meshIndex].animVertices, model.meshes[meshIndex].vertices, model.meshes[meshIndex].vertexCount*3*sizeof(float)); model.meshes[meshIndex].animNormals = RL_CALLOC(model.meshes[meshIndex].vertexCount*3, sizeof(float)); - if (model.meshes[meshIndex].normals != NULL) { + if (model.meshes[meshIndex].normals != NULL) + { memcpy(model.meshes[meshIndex].animNormals, model.meshes[meshIndex].normals, model.meshes[meshIndex].vertexCount*3*sizeof(float)); } @@ -5379,7 +5385,7 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ break; } } - + float duration = fmax((tend - tstart), EPSILON); float t = (time - tstart)/duration; t = (t < 0.0f)? 0.0f : t; @@ -5400,7 +5406,6 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ *r = v1; } break; - case cgltf_interpolation_type_linear: { float tmp[3] = { 0.0f }; @@ -5409,10 +5414,9 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ cgltf_accessor_read_float(output, keyframe+1, tmp, 3); Vector3 v2 = {tmp[0], tmp[1], tmp[2]}; Vector3 *r = data; - + *r = Vector3Lerp(v1, v2, t); } break; - case cgltf_interpolation_type_cubic_spline: { float tmp[3] = { 0.0f }; @@ -5428,6 +5432,7 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ *r = Vector3CubicHermite(v1, tangent1, v2, tangent2, t); } break; + default: break; } } else if (output->type == cgltf_type_vec4) @@ -5444,7 +5449,6 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ *r = v1; } break; - case cgltf_interpolation_type_linear: { float tmp[4] = { 0.0f }; @@ -5453,10 +5457,9 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ cgltf_accessor_read_float(output, keyframe+1, tmp, 4); Vector4 v2 = {tmp[0], tmp[1], tmp[2], tmp[3]}; Vector4 *r = data; - + *r = QuaternionSlerp(v1, v2, t); } break; - case cgltf_interpolation_type_cubic_spline: { float tmp[4] = { 0.0f }; @@ -5477,12 +5480,13 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ { v2 = Vector4Negate(v2); } - + outTangent1 = Vector4Scale(outTangent1, duration); inTangent2 = Vector4Scale(inTangent2, duration); *r = QuaternionCubicHermiteSpline(v1, outTangent1, v2, inTangent2, t); } break; + default: break; } } diff --git a/src/rtextures.c b/src/rtextures.c index 832164819..8abcb4538 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1993,8 +1993,9 @@ void ImageAlphaPremultiply(Image *image) ImageFormat(image, format); } -// Apply box blur -void ImageBlurGaussian(Image *image, int blurSize) { +// Apply box blur to image +void ImageBlurGaussian(Image *image, int blurSize) +{ // Security check to avoid program crash if ((image->data == NULL) || (image->width == 0) || (image->height == 0)) return; @@ -2006,7 +2007,8 @@ void ImageBlurGaussian(Image *image, int blurSize) { Vector4 *pixelsCopy1 = RL_MALLOC((image->height)*(image->width)*sizeof(Vector4)); Vector4 *pixelsCopy2 = RL_MALLOC((image->height)*(image->width)*sizeof(Vector4)); - for (int i = 0; i < (image->height)*(image->width); i++) { + for (int i = 0; i < (image->height*image->width); i++) + { pixelsCopy1[i].x = pixels[i].r; pixelsCopy1[i].y = pixels[i].g; pixelsCopy1[i].z = pixels[i].b; @@ -2014,7 +2016,8 @@ void ImageBlurGaussian(Image *image, int blurSize) { } // Repeated convolution of rectangular window signal by itself converges to a gaussian distribution - for (int j = 0; j < GAUSSIAN_BLUR_ITERATIONS; j++) { + for (int j = 0; j < GAUSSIAN_BLUR_ITERATIONS; j++) + { // Horizontal motion blur for (int row = 0; row < image->height; row++) { @@ -4997,22 +5000,25 @@ int GetPixelDataSize(int width, int height, int format) //---------------------------------------------------------------------------------- // Module specific Functions Definition //---------------------------------------------------------------------------------- -// From https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion/60047308#60047308 - -static float HalfToFloat(unsigned short x) { - const unsigned int e = (x&0x7C00)>>10; // exponent - const unsigned int m = (x&0x03FF)<<13; // mantissa +// Convert half-float (stored as unsigned short) to float +// REF: https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion/60047308#60047308 +static float HalfToFloat(unsigned short x) +{ + const unsigned int e = (x & 0x7C00) >> 10; // Exponent + const unsigned int m = (x & 0x03FF) << 13; // Mantissa const float fm = (float)m; - const unsigned int v = (*(unsigned int*)&fm)>>23; // evil log2 bit hack to count leading zeros in denormalized format - const unsigned int r = (x&0x8000)<<16 | (e!=0)*((e+112)<<23|m) | ((e==0)&(m!=0))*((v-37)<<23|((m<<(150-v))&0x007FE000)); // sign : normalized : denormalized + const unsigned int v = (*(unsigned int*)&fm) >> 23; // Evil log2 bit hack to count leading zeros in denormalized format + const unsigned int r = (x & 0x8000) << 16 | (e != 0)*((e + 112) << 23 | m) | ((e == 0)&(m != 0))*((v - 37) << 23 | ((m << (150 - v)) & 0x007FE000)); // sign : normalized : denormalized return *(float*)&r; } -static unsigned short FloatToHalf(float x) { - const unsigned int b = (*(unsigned int*)&x)+0x00001000; // round-to-nearest-even: add last bit after truncated mantissa - const unsigned int e = (b&0x7F800000)>>23; // exponent - const unsigned int m = b&0x007FFFFF; // mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding - return (b&0x80000000)>>16 | (e>112)*((((e-112)<<10)&0x7C00)|m>>13) | ((e<113)&(e>101))*((((0x007FF000+m)>>(125-e))+1)>>1) | (e>143)*0x7FFF; // sign : normalized : denormalized : saturate +// Convert float to half-float (stored as unsigned short) +static unsigned short FloatToHalf(float x) +{ + const unsigned int b = (*(unsigned int*) & x) + 0x00001000; // Round-to-nearest-even: add last bit after truncated mantissa + const unsigned int e = (b & 0x7F800000) >> 23; // Exponent + const unsigned int m = b & 0x007FFFFF; // Mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding + return (b & 0x80000000) >> 16 | (e > 112)*((((e - 112) << 10) & 0x7C00) | m >> 13) | ((e < 113) & (e > 101))*((((0x007FF000 + m) >> (125 - e)) + 1) >> 1) | (e > 143)*0x7FFF; // sign : normalized : denormalized : saturate } // Get pixel data from image as Vector4 array (float normalized) From 2754c80596eda7b322ba0ce8bd33c0e130ee5cbb Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 13:50:34 +0200 Subject: [PATCH 234/745] Added security checks #3924 --- src/rtextures.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rtextures.c b/src/rtextures.c index 8abcb4538..c82232d8b 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -457,6 +457,9 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat { Image image = { 0 }; int frameCount = 0; + + // Security check for input data + if ((fileType == NULL) || (fileData == NULL) || (dataSize == 0)) return image; #if defined(SUPPORT_FILEFORMAT_GIF) if ((strcmp(fileType, ".gif") == 0) || (strcmp(fileType, ".GIF") == 0)) From 29ce13b77736f4eb2fa6018d9c164d76c4df54bc Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 13:53:13 +0200 Subject: [PATCH 235/745] Code gardening - Review formatting - Improve readability for some functions result return - Minimize early returns - Align LoadFileData() to UnloadFileData() --- src/raudio.c | 36 ++++++++++++------- src/rcore.c | 45 ++++++++++++++++-------- src/rmodels.c | 40 ++++++++++++--------- src/rshapes.c | 15 +++++--- src/rtext.c | 12 +++---- src/rtextures.c | 92 +++++++++++++++++++++++++++++++++++-------------- 6 files changed, 160 insertions(+), 80 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 555dfe505..afb076af3 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -752,7 +752,7 @@ Wave LoadWave(const char *fileName) // Loading wave from memory data if (fileData != NULL) wave = LoadWaveFromMemory(GetFileExtension(fileName), fileData, dataSize); - RL_FREE(fileData); + UnloadFileData(fileData); return wave; } @@ -870,11 +870,15 @@ Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int // Checks if wave data is ready bool IsWaveReady(Wave wave) { - return ((wave.data != NULL) && // Validate wave data available - (wave.frameCount > 0) && // Validate frame count - (wave.sampleRate > 0) && // Validate sample rate is supported - (wave.sampleSize > 0) && // Validate sample size is supported - (wave.channels > 0)); // Validate number of channels supported + bool result = false; + + if ((wave.data != NULL) && // Validate wave data available + (wave.frameCount > 0) && // Validate frame count + (wave.sampleRate > 0) && // Validate sample rate is supported + (wave.sampleSize > 0) && // Validate sample size is supported + (wave.channels > 0)) result = true; // Validate number of channels supported + + return result; } // Load sound from file @@ -967,11 +971,15 @@ Sound LoadSoundAlias(Sound source) // Checks if a sound is ready bool IsSoundReady(Sound sound) { - return ((sound.frameCount > 0) && // Validate frame count - (sound.stream.buffer != NULL) && // Validate stream buffer - (sound.stream.sampleRate > 0) && // Validate sample rate is supported - (sound.stream.sampleSize > 0) && // Validate sample size is supported - (sound.stream.channels > 0)); // Validate number of channels supported + bool result = false; + + if ((sound.frameCount > 0) && // Validate frame count + (sound.stream.buffer != NULL) && // Validate stream buffer + (sound.stream.sampleRate > 0) && // Validate sample rate is supported + (sound.stream.sampleSize > 0) && // Validate sample size is supported + (sound.stream.channels > 0)) result = true; // Validate number of channels supported + + return result; } // Unload wave data @@ -1163,7 +1171,11 @@ void StopSound(Sound sound) // Check if a sound is playing bool IsSoundPlaying(Sound sound) { - return IsAudioBufferPlaying(sound.stream.buffer); + bool result = false; + + if (IsAudioBufferPlaying(sound.stream.buffer)) result = true; + + return result; } // Set volume for a sound diff --git a/src/rcore.c b/src/rcore.c index 9705495ee..b4aaed683 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1419,7 +1419,9 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) // Get a ray trace from screen position (i.e mouse) Ray GetScreenToWorldRay(Vector2 position, Camera camera) { - return GetScreenToWorldRayEx(position, camera, GetScreenWidth(), GetScreenHeight()); + Ray ray = GetScreenToWorldRayEx(position, camera, GetScreenWidth(), GetScreenHeight()); + + return ray; } // Get a ray trace from the screen position (i.e mouse) within a specific section of the screen @@ -1480,7 +1482,9 @@ Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height // Get transform matrix for camera Matrix GetCameraMatrix(Camera camera) { - return MatrixLookAt(camera.position, camera.target, camera.up); + Matrix mat = MatrixLookAt(camera.position, camera.target, camera.up); + + return mat; } // Get camera 2d transform matrix @@ -1661,7 +1665,7 @@ float GetFrameTime(void) // Ref: http://www.geisswerks.com/ryan/FAQS/timing.html --> All about timing on Win32! void WaitTime(double seconds) { - if (seconds < 0) return; + if (seconds < 0) return; // Security check #if defined(SUPPORT_BUSY_WAIT_LOOP) || defined(SUPPORT_PARTIALBUSY_WAIT_LOOP) double destinationTime = GetTime() + seconds; @@ -1754,7 +1758,7 @@ int *LoadRandomSequence(unsigned int count, int min, int max) #if defined(SUPPORT_RPRAND_GENERATOR) values = rprand_load_sequence(count, min, max); #else - if (count > ((unsigned int)abs(max - min) + 1)) return values; + if (count > ((unsigned int)abs(max - min) + 1)) return values; // Security check values = (int *)RL_CALLOC(count, sizeof(int)); @@ -1946,7 +1950,9 @@ const char *GetFileExtension(const char *fileName) static const char *strprbrk(const char *s, const char *charset) { const char *latestMatch = NULL; + for (; s = strpbrk(s, charset), s != NULL; latestMatch = s++) { } + return latestMatch; } @@ -1954,9 +1960,10 @@ static const char *strprbrk(const char *s, const char *charset) const char *GetFileName(const char *filePath) { const char *fileName = NULL; + if (filePath != NULL) fileName = strprbrk(filePath, "\\/"); - - if (!fileName) return filePath; + + if (fileName != NULL) return filePath; return fileName + 1; } @@ -2235,8 +2242,11 @@ bool IsPathFile(const char *path) // Check if a file has been dropped into window bool IsFileDropped(void) { - if (CORE.Window.dropFileCount > 0) return true; - else return false; + bool result = false; + + if (CORE.Window.dropFileCount > 0) result = true; + + return result; } // Load dropped filepaths @@ -2270,15 +2280,16 @@ void UnloadDroppedFiles(FilePathList files) long GetFileModTime(const char *fileName) { struct stat result = { 0 }; + long modTime = 0; if (stat(fileName, &result) == 0) { time_t mod = result.st_mtime; - return (long)mod; + modTime = (long)mod; } - return 0; + return modTime; } //---------------------------------------------------------------------------------- @@ -2347,7 +2358,7 @@ char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize) char *encodedData = (char *)RL_MALLOC(*outputSize); - if (encodedData == NULL) return NULL; + if (encodedData == NULL) return NULL; // Security check for (int i = 0, j = 0; i < dataSize;) { @@ -2949,13 +2960,15 @@ bool IsMouseButtonUp(int button) // Get mouse position X int GetMouseX(void) { - return (int)((CORE.Input.Mouse.currentPosition.x + CORE.Input.Mouse.offset.x)*CORE.Input.Mouse.scale.x); + int mouseX = (int)((CORE.Input.Mouse.currentPosition.x + CORE.Input.Mouse.offset.x)*CORE.Input.Mouse.scale.x); + return mouseX; } // Get mouse position Y int GetMouseY(void) { - return (int)((CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y); + int mouseY = (int)((CORE.Input.Mouse.currentPosition.y + CORE.Input.Mouse.offset.y)*CORE.Input.Mouse.scale.y); + return mouseY; } // Get mouse position XY @@ -3022,13 +3035,15 @@ Vector2 GetMouseWheelMoveV(void) // Get touch position X for touch point 0 (relative to screen size) int GetTouchX(void) { - return (int)CORE.Input.Touch.position[0].x; + int touchX = (int)CORE.Input.Touch.position[0].x; + return touchX; } // Get touch position Y for touch point 0 (relative to screen size) int GetTouchY(void) { - return (int)CORE.Input.Touch.position[0].y; + int touchY = (int)CORE.Input.Touch.position[0].y; + return touchY; } // Get touch position XY for a touch point index (relative to screen size) diff --git a/src/rmodels.c b/src/rmodels.c index 969920c00..4bbceaf27 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -228,7 +228,7 @@ void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color) // Draw a triangle strip defined by points void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color) { - if (pointCount < 3) return; + if (pointCount < 3) return; // Security check rlBegin(RL_TRIANGLES); rlColor4ub(color.r, color.g, color.b, color.a); @@ -559,7 +559,7 @@ void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float e if (sides < 3) sides = 3; Vector3 direction = { endPos.x - startPos.x, endPos.y - startPos.y, endPos.z - startPos.z }; - if ((direction.x == 0) && (direction.y == 0) && (direction.z == 0)) return; + if ((direction.x == 0) && (direction.y == 0) && (direction.z == 0)) return; // Security check // Construct a basis of the base and the top face: Vector3 b1 = Vector3Normalize(Vector3Perpendicular(direction)); @@ -649,7 +649,7 @@ void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, fl if (sides < 3) sides = 3; Vector3 direction = { endPos.x - startPos.x, endPos.y - startPos.y, endPos.z - startPos.z }; - if ((direction.x == 0) && (direction.y == 0) && (direction.z == 0))return; + if ((direction.x == 0) && (direction.y == 0) && (direction.z == 0)) return; // Security check // Construct a basis of the base and the top face: Vector3 b1 = Vector3Normalize(Vector3Perpendicular(direction)); @@ -755,8 +755,8 @@ void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int capCenter.z + (sinf(baseRingAngle * ( i + 1 ))*b0.z + ringSin4*b1.z + ringCos4*b2.z) * radius }; - // make sure cap triangle normals are facing outwards - if(c == 0) + // Make sure cap triangle normals are facing outwards + if (c == 0) { rlVertex3f(w1.x, w1.y, w1.z); rlVertex3f(w2.x, w2.y, w2.z); @@ -1104,13 +1104,17 @@ Model LoadModelFromMesh(Mesh mesh) // Check if a model is ready bool IsModelReady(Model model) { - return ((model.meshes != NULL) && // Validate model contains some mesh - (model.materials != NULL) && // Validate model contains some material (at least default one) - (model.meshMaterial != NULL) && // Validate mesh-material linkage - (model.meshCount > 0) && // Validate mesh count - (model.materialCount > 0)); // Validate material count + bool result = false; + + if ((model.meshes != NULL) && // Validate model contains some mesh + (model.materials != NULL) && // Validate model contains some material (at least default one) + (model.meshMaterial != NULL) && // Validate mesh-material linkage + (model.meshCount > 0) && // Validate mesh count + (model.materialCount > 0)) result = true; // Validate material count // NOTE: This is a very general model validation, many elements could be validated from a model... + + return result; } // Unload model (meshes/materials) from memory (RAM and/or VRAM) @@ -2033,8 +2037,12 @@ Material LoadMaterialDefault(void) // Check if a material is ready bool IsMaterialReady(Material material) { - return ((material.maps != NULL) && // Validate material contain some map - (material.shader.id > 0)); // Validate material shader is valid + bool result = false; + + if ((material.maps != NULL) && // Validate material contain some map + (material.shader.id > 0)) result = true; // Validate material shader is valid + + return result; } // Unload material from memory @@ -2230,7 +2238,7 @@ Mesh GenMeshPoly(int sides, float radius) { Mesh mesh = { 0 }; - if (sides < 3) return mesh; + if (sides < 3) return mesh; // Security check int vertexCount = sides*3; @@ -4493,7 +4501,7 @@ static Model LoadIQM(const char *fileName) BuildPoseFromParentJoints(model.bones, model.boneCount, model.bindPose); - RL_FREE(fileData); + UnloadFileData(fileData); RL_FREE(imesh); RL_FREE(tri); @@ -4725,7 +4733,7 @@ static ModelAnimation *LoadModelAnimationsIQM(const char *fileName, int *animCou } } - RL_FREE(fileData); + UnloadFileData(fileData); RL_FREE(joints); RL_FREE(framedata); @@ -6102,7 +6110,7 @@ static Model LoadM3D(const char *fileName) // called, but not before, however DrawMesh uses these if they exist (so not good if they are left empty). if (m3d->numbone && m3d->numskin) { - for(i = 0; i < model.meshCount; i++) + for (i = 0; i < model.meshCount; i++) { memcpy(model.meshes[i].animVertices, model.meshes[i].vertices, model.meshes[i].vertexCount*3*sizeof(float)); memcpy(model.meshes[i].animNormals, model.meshes[i].normals, model.meshes[i].vertexCount*3*sizeof(float)); diff --git a/src/rshapes.c b/src/rshapes.c index 5c6900b2f..bb3a736c2 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2345,11 +2345,16 @@ Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2) // NOTE: Used by DrawLineBezier() only static float EaseCubicInOut(float t, float b, float c, float d) { - if ((t /= 0.5f*d) < 1) return 0.5f*c*t*t*t + b; - - t -= 2; - - return 0.5f*c*(t*t*t + 2.0f) + b; + float result = 0.0f; + + if ((t /= 0.5f*d) < 1) result = 0.5f*c*t*t*t + b; + else + { + t -= 2; + result = 0.5f*c*(t*t*t + 2.0f) + b; + } + + return result; } #endif // SUPPORT_MODULE_RSHAPES diff --git a/src/rtext.c b/src/rtext.c index 51c10b55d..2ff6fd92b 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -434,7 +434,7 @@ Font LoadFontFromImage(Image image, Color key, int firstChar) if (!COLOR_EQUAL(pixels[y*image.width + x], key)) break; } - if ((x == 0) || (y == 0)) return font; + if ((x == 0) || (y == 0)) return font; // Security check charSpacing = x; lineSpacing = y; @@ -823,7 +823,7 @@ Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyp if (offsetY > (atlas.height - fontSize - padding)) { - for(int j = i + 1; j < glyphCount; j++) + for (int j = i + 1; j < glyphCount; j++) { TRACELOG(LOG_WARNING, "FONT: Failed to package character (%i)", j); // Make sure remaining recs contain valid data @@ -1282,7 +1282,7 @@ Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing { Vector2 textSize = { 0 }; - if ((font.texture.id == 0) || (text == NULL)) return textSize; + if ((font.texture.id == 0) || (text == NULL)) return textSize; // Security check int size = TextLength(text); // Get size in bytes of text int tempByteCounter = 0; // Used to count longer text line num chars @@ -2029,21 +2029,21 @@ int GetCodepointNext(const char *text, int *codepointSize) if (0xf0 == (0xf8 & ptr[0])) { // 4 byte UTF-8 codepoint - if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80) || ((ptr[3] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks + if (((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80) || ((ptr[3] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks codepoint = ((0x07 & ptr[0]) << 18) | ((0x3f & ptr[1]) << 12) | ((0x3f & ptr[2]) << 6) | (0x3f & ptr[3]); *codepointSize = 4; } else if (0xe0 == (0xf0 & ptr[0])) { // 3 byte UTF-8 codepoint */ - if(((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks + if (((ptr[1] & 0xC0) ^ 0x80) || ((ptr[2] & 0xC0) ^ 0x80)) { return codepoint; } // 10xxxxxx checks codepoint = ((0x0f & ptr[0]) << 12) | ((0x3f & ptr[1]) << 6) | (0x3f & ptr[2]); *codepointSize = 3; } else if (0xc0 == (0xe0 & ptr[0])) { // 2 byte UTF-8 codepoint - if((ptr[1] & 0xC0) ^ 0x80) { return codepoint; } // 10xxxxxx checks + if ((ptr[1] & 0xC0) ^ 0x80) { return codepoint; } // 10xxxxxx checks codepoint = ((0x1f & ptr[0]) << 6) | (0x3f & ptr[1]); *codepointSize = 2; } diff --git a/src/rtextures.c b/src/rtextures.c index c82232d8b..d47df7628 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -71,10 +71,10 @@ #if defined(SUPPORT_MODULE_RTEXTURES) #include "utils.h" // Required for: TRACELOG() -#include "rlgl.h" // OpenGL abstraction layer to OpenGL 1.1, 3.3 or ES2 +#include "rlgl.h" // OpenGL abstraction layer to multiple versions -#include // Required for: malloc(), free() -#include // Required for: strlen() [Used in ImageTextEx()], strcmp() [Used in LoadImageFromMemory()] +#include // Required for: malloc(), calloc(), free() +#include // Required for: strlen() [Used in ImageTextEx()], strcmp() [Used in LoadImageFromMemory()/LoadImageAnimFromMemory()/ExportImageToMemory()] #include // Required for: fabsf() [Used in DrawTextureRec()] #include // Required for: sprintf() [Used in ExportImageAsCode()] @@ -293,9 +293,12 @@ Image LoadImage(const char *fileName) unsigned char *fileData = LoadFileData(fileName, &dataSize); // Loading image from memory data - if (fileData != NULL) image = LoadImageFromMemory(GetFileExtension(fileName), fileData, dataSize); + if (fileData != NULL) + { + image = LoadImageFromMemory(GetFileExtension(fileName), fileData, dataSize); - RL_FREE(fileData); + UnloadFileData(fileData); + } return image; } @@ -322,7 +325,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int image.mipmaps = 1; image.format = format; - RL_FREE(fileData); + UnloadFileData(fileData); } return image; @@ -431,7 +434,7 @@ Image LoadImageAnim(const char *fileName, int *frames) image.mipmaps = 1; image.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; - RL_FREE(fileData); + UnloadFileData(fileData); RL_FREE(delays); // NOTE: Frames delays are discarded } } @@ -494,6 +497,9 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) { Image image = { 0 }; + + // Security check for input data + if ((fileType == NULL) || (fileData == NULL) || (dataSize == 0)) return image; if ((false) #if defined(SUPPORT_FILEFORMAT_PNG) @@ -699,11 +705,15 @@ Image LoadImageFromScreen(void) // Check if an image is ready bool IsImageReady(Image image) { - return ((image.data != NULL) && // Validate pixel data available - (image.width > 0) && - (image.height > 0) && // Validate image size - (image.format > 0) && // Validate image format - (image.mipmaps > 0)); // Validate image mipmaps (at least 1 for basic mipmap level) + bool result = false; + + if ((image.data != NULL) && // Validate pixel data available + (image.width > 0) && + (image.height > 0) && // Validate image size + (image.format > 0) && // Validate image format + (image.mipmaps > 0)) result = true; // Validate image mipmaps (at least 1 for basic mipmap level) + + return result; } // Unload image from CPU memory (RAM) @@ -718,6 +728,7 @@ bool ExportImage(Image image, const char *fileName) { int result = 0; + // Security check for input data if ((image.width == 0) || (image.height == 0) || (image.data == NULL)) return result; #if defined(SUPPORT_IMAGE_EXPORT) @@ -805,6 +816,7 @@ unsigned char *ExportImageToMemory(Image image, const char *fileType, int *dataS unsigned char *fileData = NULL; *dataSize = 0; + // Security check for input data if ((image.width == 0) || (image.height == 0) || (image.data == NULL)) return NULL; #if defined(SUPPORT_IMAGE_EXPORT) @@ -2184,7 +2196,7 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) endRange = kernelWidth/2 + 1; } - for(int x = 0; x < image->height; x++) + for (int x = 0; x < image->height; x++) { for (int y = 0; y < image->width; y++) { @@ -3940,13 +3952,17 @@ RenderTexture2D LoadRenderTexture(int width, int height) // Check if a texture is ready bool IsTextureReady(Texture2D texture) { + bool result = false; + // TODO: Validate maximum texture size supported by GPU? - return ((texture.id > 0) && // Validate OpenGL id - (texture.width > 0) && - (texture.height > 0) && // Validate texture size - (texture.format > 0) && // Validate texture pixel format - (texture.mipmaps > 0)); // Validate texture mipmaps (at least 1 for basic mipmap level) + if ((texture.id > 0) && // Validate OpenGL id + (texture.width > 0) && + (texture.height > 0) && // Validate texture size + (texture.format > 0) && // Validate texture pixel format + (texture.mipmaps > 0)) result = true; // Validate texture mipmaps (at least 1 for basic mipmap level) + + return result; } // Unload texture from GPU memory (VRAM) @@ -3963,9 +3979,13 @@ void UnloadTexture(Texture2D texture) // Check if a render texture is ready bool IsRenderTextureReady(RenderTexture2D target) { - return ((target.id > 0) && // Validate OpenGL id - IsTextureReady(target.depth) && // Validate FBO depth texture/renderbuffer - IsTextureReady(target.texture)); // Validate FBO texture + bool result = false; + + if ((target.id > 0) && // Validate OpenGL id + IsTextureReady(target.depth) && // Validate FBO depth texture/renderbuffer + IsTextureReady(target.texture)) result = true; // Validate FBO texture + + return result; } // Unload render texture from GPU memory (VRAM) @@ -4473,16 +4493,22 @@ bool ColorIsEqual(Color col1, Color col2) // Get color with alpha applied, alpha goes from 0.0f to 1.0f Color Fade(Color color, float alpha) { + Color result = color; + if (alpha < 0.0f) alpha = 0.0f; else if (alpha > 1.0f) alpha = 1.0f; + + result.a = (unsigned char)(255.0f*alpha); - return (Color){ color.r, color.g, color.b, (unsigned char)(255.0f*alpha) }; + return result; } // Get hexadecimal value for a Color int ColorToInt(Color color) { - return (((int)color.r << 24) | ((int)color.g << 16) | ((int)color.b << 8) | (int)color.a); + int result = (((int)color.r << 24) | ((int)color.g << 16) | ((int)color.b << 8) | (int)color.a); + + return result; } // Get color normalized as float [0..1] @@ -4701,10 +4727,14 @@ Color ColorContrast(Color color, float contrast) // Get color with alpha applied, alpha goes from 0.0f to 1.0f Color ColorAlpha(Color color, float alpha) { + Color result = color; + if (alpha < 0.0f) alpha = 0.0f; else if (alpha > 1.0f) alpha = 1.0f; - return (Color){color.r, color.g, color.b, (unsigned char)(255.0f*alpha)}; + result.a = (unsigned char)(255.0f*alpha); + + return result; } // Get src alpha-blended into dst color with tint @@ -5007,21 +5037,31 @@ int GetPixelDataSize(int width, int height, int format) // REF: https://stackoverflow.com/questions/1659440/32-bit-to-16-bit-floating-point-conversion/60047308#60047308 static float HalfToFloat(unsigned short x) { + float result = 0.0f; + const unsigned int e = (x & 0x7C00) >> 10; // Exponent const unsigned int m = (x & 0x03FF) << 13; // Mantissa const float fm = (float)m; const unsigned int v = (*(unsigned int*)&fm) >> 23; // Evil log2 bit hack to count leading zeros in denormalized format const unsigned int r = (x & 0x8000) << 16 | (e != 0)*((e + 112) << 23 | m) | ((e == 0)&(m != 0))*((v - 37) << 23 | ((m << (150 - v)) & 0x007FE000)); // sign : normalized : denormalized - return *(float*)&r; + + result = *(float *)&r; + + return result; } // Convert float to half-float (stored as unsigned short) static unsigned short FloatToHalf(float x) { + unsigned short result = 0; + const unsigned int b = (*(unsigned int*) & x) + 0x00001000; // Round-to-nearest-even: add last bit after truncated mantissa const unsigned int e = (b & 0x7F800000) >> 23; // Exponent const unsigned int m = b & 0x007FFFFF; // Mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding - return (b & 0x80000000) >> 16 | (e > 112)*((((e - 112) << 10) & 0x7C00) | m >> 13) | ((e < 113) & (e > 101))*((((0x007FF000 + m) >> (125 - e)) + 1) >> 1) | (e > 143)*0x7FFF; // sign : normalized : denormalized : saturate + + result = (b & 0x80000000) >> 16 | (e > 112)*((((e - 112) << 10) & 0x7C00) | m >> 13) | ((e < 113) & (e > 101))*((((0x007FF000 + m) >> (125 - e)) + 1) >> 1) | (e > 143)*0x7FFF; // sign : normalized : denormalized : saturate + + return result; } // Get pixel data from image as Vector4 array (float normalized) From b51f4db8c29eba3506e953b351bedbf41f2a5c95 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 19:53:59 +0200 Subject: [PATCH 236/745] REVIEWED: `DrawRectangleLines()` #3884 For consistency, now _almost_ all `Draw*Lines()` functions use `RL_LINES` mode for drawing. It solves the linked issue but it can have other implications, as mentioned in the WARNING comment in `DrawRectangleLines()`. Side note: `DrawRectangleRoundedLines()` now should be reviewed for consistency. --- src/raylib.h | 3 ++- src/rshapes.c | 41 +++++++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 0d862a022..b9463228b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1255,7 +1255,8 @@ RLAPI void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline RLAPI void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color); // Draw rectangle outline with extended parameters RLAPI void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle with rounded edges -RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline +RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color); // Draw rectangle lines with rounded edges +RLAPI void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!) RLAPI void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) diff --git a/src/rshapes.c b/src/rshapes.c index bb3a736c2..956ca735d 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -196,18 +196,17 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) // Draw lines sequuence (using gl lines) void DrawLineStrip(Vector2 *points, int pointCount, Color color) { - if (pointCount >= 2) - { - rlBegin(RL_LINES); - rlColor4ub(color.r, color.g, color.b, color.a); + if (pointCount < 2) return; // Security check - for (int i = 0; i < pointCount - 1; i++) - { - rlVertex2f(points[i].x, points[i].y); - rlVertex2f(points[i + 1].x, points[i + 1].y); - } - rlEnd(); - } + rlBegin(RL_LINES); + rlColor4ub(color.r, color.g, color.b, color.a); + + for (int i = 0; i < pointCount - 1; i++) + { + rlVertex2f(points[i].x, points[i].y); + rlVertex2f(points[i + 1].x, points[i + 1].y); + } + rlEnd(); } // Draw line using cubic-bezier spline, in-out interpolation, no control points @@ -807,15 +806,11 @@ void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, } // Draw rectangle outline -// NOTE: On OpenGL 3.3 and ES2 we use QUADS to avoid drawing order issues +// WARNING: All Draw*Lines() functions use RL_LINES for drawing, +// it implies flushing the current batch and changing draw mode to RL_LINES +// but it solves another issue: https://github.com/raysan5/raylib/issues/3884 void DrawRectangleLines(int posX, int posY, int width, int height, Color color) { -#if defined(SUPPORT_QUADS_DRAW_MODE) - DrawRectangle(posX, posY, width, 1, color); - DrawRectangle(posX + width - 1, posY + 1, 1, height - 2, color); - DrawRectangle(posX, posY + height - 1, width, 1, color); - DrawRectangle(posX, posY + 1, 1, height - 2, color); -#else rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); rlVertex2f(posX + 1, posY + 1); @@ -830,7 +825,6 @@ void DrawRectangleLines(int posX, int posY, int width, int height, Color color) rlVertex2f(posX + 1, posY + height); rlVertex2f(posX + 1, posY + 1); rlEnd(); -#endif } // Draw rectangle outline with extended parameters @@ -1090,8 +1084,15 @@ void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color co #endif } +// Draw rectangle with rounded edges +// TODO: This function should be refactored to use RL_LINES, for consistency with other Draw*Lines() +void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color) +{ + DrawRectangleRoundedLinesEx(rec, roundness, segments, 1.0f, color); +} + // Draw rectangle with rounded edges outline -void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color) +void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float lineThick, Color color) { if (lineThick < 0) lineThick = 0; From 349ff166005ad5eb8f6cb97be2e99c9b8220e14b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Apr 2024 17:54:14 +0000 Subject: [PATCH 237/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 23 ++ parser/output/raylib_api.lua | 11 + parser/output/raylib_api.txt | 666 +++++++++++++++++----------------- parser/output/raylib_api.xml | 10 +- 4 files changed, 379 insertions(+), 331 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 2b339512b..c7caabfac 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -5911,6 +5911,29 @@ }, { "name": "DrawRectangleRoundedLines", + "description": "Draw rectangle lines with rounded edges", + "returnType": "void", + "params": [ + { + "type": "Rectangle", + "name": "rec" + }, + { + "type": "float", + "name": "roundness" + }, + { + "type": "int", + "name": "segments" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "DrawRectangleRoundedLinesEx", "description": "Draw rectangle with rounded edges outline", "returnType": "void", "params": [ diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 8f0a62957..607904bbc 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -4891,6 +4891,17 @@ return { }, { name = "DrawRectangleRoundedLines", + description = "Draw rectangle lines with rounded edges", + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRoundedLinesEx", description = "Draw rectangle with rounded edges outline", returnType = "void", params = { diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 8031f874c..631be9a8b 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 561 +Functions found: 562 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -2318,16 +2318,24 @@ Function 233: DrawRectangleRounded() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 234: DrawRectangleRoundedLines() (5 input parameters) +Function 234: DrawRectangleRoundedLines() (4 input parameters) Name: DrawRectangleRoundedLines Return type: void + Description: Draw rectangle lines with rounded edges + Param[1]: rec (type: Rectangle) + Param[2]: roundness (type: float) + Param[3]: segments (type: int) + Param[4]: color (type: Color) +Function 235: DrawRectangleRoundedLinesEx() (5 input parameters) + Name: DrawRectangleRoundedLinesEx + Return type: void Description: Draw rectangle with rounded edges outline Param[1]: rec (type: Rectangle) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: lineThick (type: float) Param[5]: color (type: Color) -Function 235: DrawTriangle() (4 input parameters) +Function 236: DrawTriangle() (4 input parameters) Name: DrawTriangle Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -2335,7 +2343,7 @@ Function 235: DrawTriangle() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 236: DrawTriangleLines() (4 input parameters) +Function 237: DrawTriangleLines() (4 input parameters) Name: DrawTriangleLines Return type: void Description: Draw triangle outline (vertex in counter-clockwise order!) @@ -2343,21 +2351,21 @@ Function 236: DrawTriangleLines() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 237: DrawTriangleFan() (3 input parameters) +Function 238: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 238: DrawTriangleStrip() (3 input parameters) +Function 239: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 239: DrawPoly() (5 input parameters) +Function 240: DrawPoly() (5 input parameters) Name: DrawPoly Return type: void Description: Draw a regular polygon (Vector version) @@ -2366,7 +2374,7 @@ Function 239: DrawPoly() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 240: DrawPolyLines() (5 input parameters) +Function 241: DrawPolyLines() (5 input parameters) Name: DrawPolyLines Return type: void Description: Draw a polygon outline of n sides @@ -2375,7 +2383,7 @@ Function 240: DrawPolyLines() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 241: DrawPolyLinesEx() (6 input parameters) +Function 242: DrawPolyLinesEx() (6 input parameters) Name: DrawPolyLinesEx Return type: void Description: Draw a polygon outline of n sides with extended parameters @@ -2385,7 +2393,7 @@ Function 241: DrawPolyLinesEx() (6 input parameters) Param[4]: rotation (type: float) Param[5]: lineThick (type: float) Param[6]: color (type: Color) -Function 242: DrawSplineLinear() (4 input parameters) +Function 243: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points @@ -2393,7 +2401,7 @@ Function 242: DrawSplineLinear() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 243: DrawSplineBasis() (4 input parameters) +Function 244: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points @@ -2401,7 +2409,7 @@ Function 243: DrawSplineBasis() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 244: DrawSplineCatmullRom() (4 input parameters) +Function 245: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points @@ -2409,7 +2417,7 @@ Function 244: DrawSplineCatmullRom() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 245: DrawSplineBezierQuadratic() (4 input parameters) +Function 246: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] @@ -2417,7 +2425,7 @@ Function 245: DrawSplineBezierQuadratic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 246: DrawSplineBezierCubic() (4 input parameters) +Function 247: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] @@ -2425,7 +2433,7 @@ Function 246: DrawSplineBezierCubic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 247: DrawSplineSegmentLinear() (4 input parameters) +Function 248: DrawSplineSegmentLinear() (4 input parameters) Name: DrawSplineSegmentLinear Return type: void Description: Draw spline segment: Linear, 2 points @@ -2433,7 +2441,7 @@ Function 247: DrawSplineSegmentLinear() (4 input parameters) Param[2]: p2 (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 248: DrawSplineSegmentBasis() (6 input parameters) +Function 249: DrawSplineSegmentBasis() (6 input parameters) Name: DrawSplineSegmentBasis Return type: void Description: Draw spline segment: B-Spline, 4 points @@ -2443,7 +2451,7 @@ Function 248: DrawSplineSegmentBasis() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 249: DrawSplineSegmentCatmullRom() (6 input parameters) +Function 250: DrawSplineSegmentCatmullRom() (6 input parameters) Name: DrawSplineSegmentCatmullRom Return type: void Description: Draw spline segment: Catmull-Rom, 4 points @@ -2453,7 +2461,7 @@ Function 249: DrawSplineSegmentCatmullRom() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 250: DrawSplineSegmentBezierQuadratic() (5 input parameters) +Function 251: DrawSplineSegmentBezierQuadratic() (5 input parameters) Name: DrawSplineSegmentBezierQuadratic Return type: void Description: Draw spline segment: Quadratic Bezier, 2 points, 1 control point @@ -2462,7 +2470,7 @@ Function 250: DrawSplineSegmentBezierQuadratic() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: thick (type: float) Param[5]: color (type: Color) -Function 251: DrawSplineSegmentBezierCubic() (6 input parameters) +Function 252: DrawSplineSegmentBezierCubic() (6 input parameters) Name: DrawSplineSegmentBezierCubic Return type: void Description: Draw spline segment: Cubic Bezier, 2 points, 2 control points @@ -2472,14 +2480,14 @@ Function 251: DrawSplineSegmentBezierCubic() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 252: GetSplinePointLinear() (3 input parameters) +Function 253: GetSplinePointLinear() (3 input parameters) Name: GetSplinePointLinear Return type: Vector2 Description: Get (evaluate) spline point: Linear Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: t (type: float) -Function 253: GetSplinePointBasis() (5 input parameters) +Function 254: GetSplinePointBasis() (5 input parameters) Name: GetSplinePointBasis Return type: Vector2 Description: Get (evaluate) spline point: B-Spline @@ -2488,7 +2496,7 @@ Function 253: GetSplinePointBasis() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 254: GetSplinePointCatmullRom() (5 input parameters) +Function 255: GetSplinePointCatmullRom() (5 input parameters) Name: GetSplinePointCatmullRom Return type: Vector2 Description: Get (evaluate) spline point: Catmull-Rom @@ -2497,7 +2505,7 @@ Function 254: GetSplinePointCatmullRom() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 255: GetSplinePointBezierQuad() (4 input parameters) +Function 256: GetSplinePointBezierQuad() (4 input parameters) Name: GetSplinePointBezierQuad Return type: Vector2 Description: Get (evaluate) spline point: Quadratic Bezier @@ -2505,7 +2513,7 @@ Function 255: GetSplinePointBezierQuad() (4 input parameters) Param[2]: c2 (type: Vector2) Param[3]: p3 (type: Vector2) Param[4]: t (type: float) -Function 256: GetSplinePointBezierCubic() (5 input parameters) +Function 257: GetSplinePointBezierCubic() (5 input parameters) Name: GetSplinePointBezierCubic Return type: Vector2 Description: Get (evaluate) spline point: Cubic Bezier @@ -2514,13 +2522,13 @@ Function 256: GetSplinePointBezierCubic() (5 input parameters) Param[3]: c3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 257: CheckCollisionRecs() (2 input parameters) +Function 258: CheckCollisionRecs() (2 input parameters) Name: CheckCollisionRecs Return type: bool Description: Check collision between two rectangles Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 258: CheckCollisionCircles() (4 input parameters) +Function 259: CheckCollisionCircles() (4 input parameters) Name: CheckCollisionCircles Return type: bool Description: Check collision between two circles @@ -2528,27 +2536,27 @@ Function 258: CheckCollisionCircles() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector2) Param[4]: radius2 (type: float) -Function 259: CheckCollisionCircleRec() (3 input parameters) +Function 260: CheckCollisionCircleRec() (3 input parameters) Name: CheckCollisionCircleRec Return type: bool Description: Check collision between circle and rectangle Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: rec (type: Rectangle) -Function 260: CheckCollisionPointRec() (2 input parameters) +Function 261: CheckCollisionPointRec() (2 input parameters) Name: CheckCollisionPointRec Return type: bool Description: Check if point is inside rectangle Param[1]: point (type: Vector2) Param[2]: rec (type: Rectangle) -Function 261: CheckCollisionPointCircle() (3 input parameters) +Function 262: CheckCollisionPointCircle() (3 input parameters) Name: CheckCollisionPointCircle Return type: bool Description: Check if point is inside circle Param[1]: point (type: Vector2) Param[2]: center (type: Vector2) Param[3]: radius (type: float) -Function 262: CheckCollisionPointTriangle() (4 input parameters) +Function 263: CheckCollisionPointTriangle() (4 input parameters) Name: CheckCollisionPointTriangle Return type: bool Description: Check if point is inside a triangle @@ -2556,14 +2564,14 @@ Function 262: CheckCollisionPointTriangle() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: p3 (type: Vector2) -Function 263: CheckCollisionPointPoly() (3 input parameters) +Function 264: CheckCollisionPointPoly() (3 input parameters) Name: CheckCollisionPointPoly Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) -Function 264: CheckCollisionLines() (5 input parameters) +Function 265: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines Return type: bool Description: Check the collision between two lines defined by two points each, returns collision point by reference @@ -2572,7 +2580,7 @@ Function 264: CheckCollisionLines() (5 input parameters) Param[3]: startPos2 (type: Vector2) Param[4]: endPos2 (type: Vector2) Param[5]: collisionPoint (type: Vector2 *) -Function 265: CheckCollisionPointLine() (4 input parameters) +Function 266: CheckCollisionPointLine() (4 input parameters) Name: CheckCollisionPointLine Return type: bool Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] @@ -2580,18 +2588,18 @@ Function 265: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 266: GetCollisionRec() (2 input parameters) +Function 267: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 267: LoadImage() (1 input parameters) +Function 268: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 268: LoadImageRaw() (5 input parameters) +Function 269: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2600,20 +2608,20 @@ Function 268: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 269: LoadImageSvg() (3 input parameters) +Function 270: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 270: LoadImageAnim() (2 input parameters) +Function 271: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 271: LoadImageAnimFromMemory() (4 input parameters) +Function 272: LoadImageAnimFromMemory() (4 input parameters) Name: LoadImageAnimFromMemory Return type: Image Description: Load image sequence from memory buffer @@ -2621,60 +2629,60 @@ Function 271: LoadImageAnimFromMemory() (4 input parameters) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) Param[4]: frames (type: int *) -Function 272: LoadImageFromMemory() (3 input parameters) +Function 273: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 273: LoadImageFromTexture() (1 input parameters) +Function 274: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 274: LoadImageFromScreen() (0 input parameters) +Function 275: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 275: IsImageReady() (1 input parameters) +Function 276: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 276: UnloadImage() (1 input parameters) +Function 277: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 277: ExportImage() (2 input parameters) +Function 278: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 278: ExportImageToMemory() (3 input parameters) +Function 279: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 279: ExportImageAsCode() (2 input parameters) +Function 280: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 280: GenImageColor() (3 input parameters) +Function 281: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 281: GenImageGradientLinear() (5 input parameters) +Function 282: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2683,7 +2691,7 @@ Function 281: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 282: GenImageGradientRadial() (5 input parameters) +Function 283: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2692,7 +2700,7 @@ Function 282: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 283: GenImageGradientSquare() (5 input parameters) +Function 284: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2701,7 +2709,7 @@ Function 283: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 284: GenImageChecked() (6 input parameters) +Function 285: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2711,14 +2719,14 @@ Function 284: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 285: GenImageWhiteNoise() (3 input parameters) +Function 286: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 286: GenImagePerlinNoise() (5 input parameters) +Function 287: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2727,39 +2735,39 @@ Function 286: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 287: GenImageCellular() (3 input parameters) +Function 288: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 288: GenImageText() (3 input parameters) +Function 289: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 289: ImageCopy() (1 input parameters) +Function 290: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 290: ImageFromImage() (2 input parameters) +Function 291: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 291: ImageText() (3 input parameters) +Function 292: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 292: ImageTextEx() (5 input parameters) +Function 293: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2768,76 +2776,76 @@ Function 292: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 293: ImageFormat() (2 input parameters) +Function 294: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 294: ImageToPOT() (2 input parameters) +Function 295: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 295: ImageCrop() (2 input parameters) +Function 296: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 296: ImageAlphaCrop() (2 input parameters) +Function 297: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 297: ImageAlphaClear() (3 input parameters) +Function 298: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 298: ImageAlphaMask() (2 input parameters) +Function 299: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 299: ImageAlphaPremultiply() (1 input parameters) +Function 300: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 300: ImageBlurGaussian() (2 input parameters) +Function 301: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 301: ImageKernelConvolution() (3 input parameters) +Function 302: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 302: ImageResize() (3 input parameters) +Function 303: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 303: ImageResizeNN() (3 input parameters) +Function 304: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 304: ImageResizeCanvas() (6 input parameters) +Function 305: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2847,12 +2855,12 @@ Function 304: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 305: ImageMipmaps() (1 input parameters) +Function 306: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 306: ImageDither() (5 input parameters) +Function 307: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2861,109 +2869,109 @@ Function 306: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 307: ImageFlipVertical() (1 input parameters) +Function 308: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 308: ImageFlipHorizontal() (1 input parameters) +Function 309: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 309: ImageRotate() (2 input parameters) +Function 310: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 310: ImageRotateCW() (1 input parameters) +Function 311: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 311: ImageRotateCCW() (1 input parameters) +Function 312: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 312: ImageColorTint() (2 input parameters) +Function 313: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 313: ImageColorInvert() (1 input parameters) +Function 314: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 314: ImageColorGrayscale() (1 input parameters) +Function 315: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 315: ImageColorContrast() (2 input parameters) +Function 316: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 316: ImageColorBrightness() (2 input parameters) +Function 317: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 317: ImageColorReplace() (3 input parameters) +Function 318: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 318: LoadImageColors() (1 input parameters) +Function 319: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 319: LoadImagePalette() (3 input parameters) +Function 320: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 320: UnloadImageColors() (1 input parameters) +Function 321: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 321: UnloadImagePalette() (1 input parameters) +Function 322: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 322: GetImageAlphaBorder() (2 input parameters) +Function 323: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 323: GetImageColor() (3 input parameters) +Function 324: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 324: ImageClearBackground() (2 input parameters) +Function 325: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 325: ImageDrawPixel() (4 input parameters) +Function 326: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2971,14 +2979,14 @@ Function 325: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 326: ImageDrawPixelV() (3 input parameters) +Function 327: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 327: ImageDrawLine() (6 input parameters) +Function 328: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -2988,7 +2996,7 @@ Function 327: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 328: ImageDrawLineV() (4 input parameters) +Function 329: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -2996,7 +3004,7 @@ Function 328: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 329: ImageDrawCircle() (5 input parameters) +Function 330: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -3005,7 +3013,7 @@ Function 329: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 330: ImageDrawCircleV() (4 input parameters) +Function 331: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -3013,7 +3021,7 @@ Function 330: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 331: ImageDrawCircleLines() (5 input parameters) +Function 332: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3022,7 +3030,7 @@ Function 331: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 332: ImageDrawCircleLinesV() (4 input parameters) +Function 333: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3030,7 +3038,7 @@ Function 332: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 333: ImageDrawRectangle() (6 input parameters) +Function 334: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3040,7 +3048,7 @@ Function 333: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 334: ImageDrawRectangleV() (4 input parameters) +Function 335: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3048,14 +3056,14 @@ Function 334: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 335: ImageDrawRectangleRec() (3 input parameters) +Function 336: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 336: ImageDrawRectangleLines() (4 input parameters) +Function 337: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3063,7 +3071,7 @@ Function 336: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 337: ImageDraw() (5 input parameters) +Function 338: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3072,7 +3080,7 @@ Function 337: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 338: ImageDrawText() (6 input parameters) +Function 339: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3082,7 +3090,7 @@ Function 338: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 339: ImageDrawTextEx() (7 input parameters) +Function 340: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3093,79 +3101,79 @@ Function 339: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 340: LoadTexture() (1 input parameters) +Function 341: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 341: LoadTextureFromImage() (1 input parameters) +Function 342: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 342: LoadTextureCubemap() (2 input parameters) +Function 343: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 343: LoadRenderTexture() (2 input parameters) +Function 344: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 344: IsTextureReady() (1 input parameters) +Function 345: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 345: UnloadTexture() (1 input parameters) +Function 346: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 346: IsRenderTextureReady() (1 input parameters) +Function 347: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 347: UnloadRenderTexture() (1 input parameters) +Function 348: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 348: UpdateTexture() (2 input parameters) +Function 349: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 349: UpdateTextureRec() (3 input parameters) +Function 350: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 350: GenTextureMipmaps() (1 input parameters) +Function 351: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 351: SetTextureFilter() (2 input parameters) +Function 352: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 352: SetTextureWrap() (2 input parameters) +Function 353: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 353: DrawTexture() (4 input parameters) +Function 354: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3173,14 +3181,14 @@ Function 353: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 354: DrawTextureV() (3 input parameters) +Function 355: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 355: DrawTextureEx() (5 input parameters) +Function 356: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3189,7 +3197,7 @@ Function 355: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 356: DrawTextureRec() (4 input parameters) +Function 357: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3197,7 +3205,7 @@ Function 356: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 357: DrawTexturePro() (6 input parameters) +Function 358: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3207,7 +3215,7 @@ Function 357: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 358: DrawTextureNPatch() (6 input parameters) +Function 359: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3217,112 +3225,112 @@ Function 358: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 359: ColorIsEqual() (2 input parameters) +Function 360: ColorIsEqual() (2 input parameters) Name: ColorIsEqual Return type: bool Description: Check if two colors are equal Param[1]: col1 (type: Color) Param[2]: col2 (type: Color) -Function 360: Fade() (2 input parameters) +Function 361: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 361: ColorToInt() (1 input parameters) +Function 362: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) -Function 362: ColorNormalize() (1 input parameters) +Function 363: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 363: ColorFromNormalized() (1 input parameters) +Function 364: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 364: ColorToHSV() (1 input parameters) +Function 365: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 365: ColorFromHSV() (3 input parameters) +Function 366: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 366: ColorTint() (2 input parameters) +Function 367: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 367: ColorBrightness() (2 input parameters) +Function 368: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 368: ColorContrast() (2 input parameters) +Function 369: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 369: ColorAlpha() (2 input parameters) +Function 370: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 370: ColorAlphaBlend() (3 input parameters) +Function 371: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 371: GetColor() (1 input parameters) +Function 372: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 372: GetPixelColor() (2 input parameters) +Function 373: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 373: SetPixelColor() (3 input parameters) +Function 374: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 374: GetPixelDataSize() (3 input parameters) +Function 375: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 375: GetFontDefault() (0 input parameters) +Function 376: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 376: LoadFont() (1 input parameters) +Function 377: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 377: LoadFontEx() (4 input parameters) +Function 378: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3330,14 +3338,14 @@ Function 377: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 378: LoadFontFromImage() (3 input parameters) +Function 379: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 379: LoadFontFromMemory() (6 input parameters) +Function 380: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3347,12 +3355,12 @@ Function 379: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 380: IsFontReady() (1 input parameters) +Function 381: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 381: LoadFontData() (6 input parameters) +Function 382: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3362,7 +3370,7 @@ Function 381: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 382: GenImageFontAtlas() (6 input parameters) +Function 383: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3372,30 +3380,30 @@ Function 382: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 383: UnloadFontData() (2 input parameters) +Function 384: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 384: UnloadFont() (1 input parameters) +Function 385: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 385: ExportFontAsCode() (2 input parameters) +Function 386: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 386: DrawFPS() (2 input parameters) +Function 387: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 387: DrawText() (5 input parameters) +Function 388: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3404,7 +3412,7 @@ Function 387: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 388: DrawTextEx() (6 input parameters) +Function 389: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3414,7 +3422,7 @@ Function 388: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 389: DrawTextPro() (8 input parameters) +Function 390: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3426,7 +3434,7 @@ Function 389: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 390: DrawTextCodepoint() (5 input parameters) +Function 391: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3435,7 +3443,7 @@ Function 390: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 391: DrawTextCodepoints() (7 input parameters) +Function 392: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3446,18 +3454,18 @@ Function 391: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 392: SetTextLineSpacing() (1 input parameters) +Function 393: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 393: MeasureText() (2 input parameters) +Function 394: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 394: MeasureTextEx() (4 input parameters) +Function 395: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3465,185 +3473,185 @@ Function 394: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 395: GetGlyphIndex() (2 input parameters) +Function 396: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 396: GetGlyphInfo() (2 input parameters) +Function 397: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 397: GetGlyphAtlasRec() (2 input parameters) +Function 398: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 398: LoadUTF8() (2 input parameters) +Function 399: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 399: UnloadUTF8() (1 input parameters) +Function 400: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 400: LoadCodepoints() (2 input parameters) +Function 401: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 401: UnloadCodepoints() (1 input parameters) +Function 402: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 402: GetCodepointCount() (1 input parameters) +Function 403: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 403: GetCodepoint() (2 input parameters) +Function 404: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 404: GetCodepointNext() (2 input parameters) +Function 405: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 405: GetCodepointPrevious() (2 input parameters) +Function 406: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 406: CodepointToUTF8() (2 input parameters) +Function 407: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 407: TextCopy() (2 input parameters) +Function 408: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 408: TextIsEqual() (2 input parameters) +Function 409: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 409: TextLength() (1 input parameters) +Function 410: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 410: TextFormat() (2 input parameters) +Function 411: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 411: TextSubtext() (3 input parameters) +Function 412: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 412: TextReplace() (3 input parameters) +Function 413: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 413: TextInsert() (3 input parameters) +Function 414: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 414: TextJoin() (3 input parameters) +Function 415: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 415: TextSplit() (3 input parameters) +Function 416: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 416: TextAppend() (3 input parameters) +Function 417: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 417: TextFindIndex() (2 input parameters) +Function 418: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 418: TextToUpper() (1 input parameters) +Function 419: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 419: TextToLower() (1 input parameters) +Function 420: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 420: TextToPascal() (1 input parameters) +Function 421: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 421: TextToInteger() (1 input parameters) +Function 422: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 422: TextToFloat() (1 input parameters) +Function 423: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 423: DrawLine3D() (3 input parameters) +Function 424: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 424: DrawPoint3D() (2 input parameters) +Function 425: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 425: DrawCircle3D() (5 input parameters) +Function 426: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3652,7 +3660,7 @@ Function 425: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 426: DrawTriangle3D() (4 input parameters) +Function 427: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3660,14 +3668,14 @@ Function 426: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 427: DrawTriangleStrip3D() (3 input parameters) +Function 428: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 428: DrawCube() (5 input parameters) +Function 429: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3676,14 +3684,14 @@ Function 428: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 429: DrawCubeV() (3 input parameters) +Function 430: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 430: DrawCubeWires() (5 input parameters) +Function 431: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3692,21 +3700,21 @@ Function 430: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 431: DrawCubeWiresV() (3 input parameters) +Function 432: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 432: DrawSphere() (3 input parameters) +Function 433: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 433: DrawSphereEx() (5 input parameters) +Function 434: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3715,7 +3723,7 @@ Function 433: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 434: DrawSphereWires() (5 input parameters) +Function 435: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3724,7 +3732,7 @@ Function 434: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 435: DrawCylinder() (6 input parameters) +Function 436: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3734,7 +3742,7 @@ Function 435: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 436: DrawCylinderEx() (6 input parameters) +Function 437: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3744,7 +3752,7 @@ Function 436: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 437: DrawCylinderWires() (6 input parameters) +Function 438: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3754,7 +3762,7 @@ Function 437: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 438: DrawCylinderWiresEx() (6 input parameters) +Function 439: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3764,7 +3772,7 @@ Function 438: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 439: DrawCapsule() (6 input parameters) +Function 440: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3774,7 +3782,7 @@ Function 439: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 440: DrawCapsuleWires() (6 input parameters) +Function 441: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3784,51 +3792,51 @@ Function 440: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 441: DrawPlane() (3 input parameters) +Function 442: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 442: DrawRay() (2 input parameters) +Function 443: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 443: DrawGrid() (2 input parameters) +Function 444: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 444: LoadModel() (1 input parameters) +Function 445: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 445: LoadModelFromMesh() (1 input parameters) +Function 446: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 446: IsModelReady() (1 input parameters) +Function 447: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 447: UnloadModel() (1 input parameters) +Function 448: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 448: GetModelBoundingBox() (1 input parameters) +Function 449: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 449: DrawModel() (4 input parameters) +Function 450: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3836,7 +3844,7 @@ Function 449: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 450: DrawModelEx() (6 input parameters) +Function 451: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3846,7 +3854,7 @@ Function 450: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 451: DrawModelWires() (4 input parameters) +Function 452: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3854,7 +3862,7 @@ Function 451: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 452: DrawModelWiresEx() (6 input parameters) +Function 453: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3864,13 +3872,13 @@ Function 452: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 453: DrawBoundingBox() (2 input parameters) +Function 454: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 454: DrawBillboard() (5 input parameters) +Function 455: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3879,7 +3887,7 @@ Function 454: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 455: DrawBillboardRec() (6 input parameters) +Function 456: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3889,7 +3897,7 @@ Function 455: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 456: DrawBillboardPro() (9 input parameters) +Function 457: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3902,13 +3910,13 @@ Function 456: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 457: UploadMesh() (2 input parameters) +Function 458: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 458: UpdateMeshBuffer() (5 input parameters) +Function 459: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3917,19 +3925,19 @@ Function 458: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 459: UnloadMesh() (1 input parameters) +Function 460: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 460: DrawMesh() (3 input parameters) +Function 461: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 461: DrawMeshInstanced() (4 input parameters) +Function 462: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3937,35 +3945,35 @@ Function 461: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 462: GetMeshBoundingBox() (1 input parameters) +Function 463: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 463: GenMeshTangents() (1 input parameters) +Function 464: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 464: ExportMesh() (2 input parameters) +Function 465: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 465: ExportMeshAsCode() (2 input parameters) +Function 466: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 466: GenMeshPoly() (2 input parameters) +Function 467: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 467: GenMeshPlane() (4 input parameters) +Function 468: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3973,42 +3981,42 @@ Function 467: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 468: GenMeshCube() (3 input parameters) +Function 469: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 469: GenMeshSphere() (3 input parameters) +Function 470: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 470: GenMeshHemiSphere() (3 input parameters) +Function 471: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 471: GenMeshCylinder() (3 input parameters) +Function 472: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 472: GenMeshCone() (3 input parameters) +Function 473: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 473: GenMeshTorus() (4 input parameters) +Function 474: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4016,7 +4024,7 @@ Function 473: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 474: GenMeshKnot() (4 input parameters) +Function 475: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4024,84 +4032,84 @@ Function 474: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 475: GenMeshHeightmap() (2 input parameters) +Function 476: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 476: GenMeshCubicmap() (2 input parameters) +Function 477: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 477: LoadMaterials() (2 input parameters) +Function 478: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 478: LoadMaterialDefault() (0 input parameters) +Function 479: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 479: IsMaterialReady() (1 input parameters) +Function 480: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 480: UnloadMaterial() (1 input parameters) +Function 481: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 481: SetMaterialTexture() (3 input parameters) +Function 482: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 482: SetModelMeshMaterial() (3 input parameters) +Function 483: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 483: LoadModelAnimations() (2 input parameters) +Function 484: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 484: UpdateModelAnimation() (3 input parameters) +Function 485: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 485: UnloadModelAnimation() (1 input parameters) +Function 486: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 486: UnloadModelAnimations() (2 input parameters) +Function 487: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 487: IsModelAnimationValid() (2 input parameters) +Function 488: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 488: CheckCollisionSpheres() (4 input parameters) +Function 489: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4109,40 +4117,40 @@ Function 488: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 489: CheckCollisionBoxes() (2 input parameters) +Function 490: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 490: CheckCollisionBoxSphere() (3 input parameters) +Function 491: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 491: GetRayCollisionSphere() (3 input parameters) +Function 492: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 492: GetRayCollisionBox() (2 input parameters) +Function 493: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 493: GetRayCollisionMesh() (3 input parameters) +Function 494: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 494: GetRayCollisionTriangle() (4 input parameters) +Function 495: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4150,7 +4158,7 @@ Function 494: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 495: GetRayCollisionQuad() (5 input parameters) +Function 496: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4159,158 +4167,158 @@ Function 495: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 496: InitAudioDevice() (0 input parameters) +Function 497: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 497: CloseAudioDevice() (0 input parameters) +Function 498: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 498: IsAudioDeviceReady() (0 input parameters) +Function 499: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 499: SetMasterVolume() (1 input parameters) +Function 500: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 500: GetMasterVolume() (0 input parameters) +Function 501: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 501: LoadWave() (1 input parameters) +Function 502: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 502: LoadWaveFromMemory() (3 input parameters) +Function 503: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 503: IsWaveReady() (1 input parameters) +Function 504: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 504: LoadSound() (1 input parameters) +Function 505: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 505: LoadSoundFromWave() (1 input parameters) +Function 506: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 506: LoadSoundAlias() (1 input parameters) +Function 507: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 507: IsSoundReady() (1 input parameters) +Function 508: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 508: UpdateSound() (3 input parameters) +Function 509: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 509: UnloadWave() (1 input parameters) +Function 510: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 510: UnloadSound() (1 input parameters) +Function 511: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 511: UnloadSoundAlias() (1 input parameters) +Function 512: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 512: ExportWave() (2 input parameters) +Function 513: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 513: ExportWaveAsCode() (2 input parameters) +Function 514: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 514: PlaySound() (1 input parameters) +Function 515: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 515: StopSound() (1 input parameters) +Function 516: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 516: PauseSound() (1 input parameters) +Function 517: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 517: ResumeSound() (1 input parameters) +Function 518: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 518: IsSoundPlaying() (1 input parameters) +Function 519: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 519: SetSoundVolume() (2 input parameters) +Function 520: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 520: SetSoundPitch() (2 input parameters) +Function 521: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 521: SetSoundPan() (2 input parameters) +Function 522: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 522: WaveCopy() (1 input parameters) +Function 523: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 523: WaveCrop() (3 input parameters) +Function 524: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined samples range Param[1]: wave (type: Wave *) Param[2]: initSample (type: int) Param[3]: finalSample (type: int) -Function 524: WaveFormat() (4 input parameters) +Function 525: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4318,203 +4326,203 @@ Function 524: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 525: LoadWaveSamples() (1 input parameters) +Function 526: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 526: UnloadWaveSamples() (1 input parameters) +Function 527: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 527: LoadMusicStream() (1 input parameters) +Function 528: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 528: LoadMusicStreamFromMemory() (3 input parameters) +Function 529: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 529: IsMusicReady() (1 input parameters) +Function 530: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 530: UnloadMusicStream() (1 input parameters) +Function 531: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 531: PlayMusicStream() (1 input parameters) +Function 532: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 532: IsMusicStreamPlaying() (1 input parameters) +Function 533: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 533: UpdateMusicStream() (1 input parameters) +Function 534: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 534: StopMusicStream() (1 input parameters) +Function 535: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 535: PauseMusicStream() (1 input parameters) +Function 536: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 536: ResumeMusicStream() (1 input parameters) +Function 537: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 537: SeekMusicStream() (2 input parameters) +Function 538: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 538: SetMusicVolume() (2 input parameters) +Function 539: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 539: SetMusicPitch() (2 input parameters) +Function 540: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 540: SetMusicPan() (2 input parameters) +Function 541: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 541: GetMusicTimeLength() (1 input parameters) +Function 542: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 542: GetMusicTimePlayed() (1 input parameters) +Function 543: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 543: LoadAudioStream() (3 input parameters) +Function 544: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 544: IsAudioStreamReady() (1 input parameters) +Function 545: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 545: UnloadAudioStream() (1 input parameters) +Function 546: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 546: UpdateAudioStream() (3 input parameters) +Function 547: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 547: IsAudioStreamProcessed() (1 input parameters) +Function 548: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 548: PlayAudioStream() (1 input parameters) +Function 549: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 549: PauseAudioStream() (1 input parameters) +Function 550: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 550: ResumeAudioStream() (1 input parameters) +Function 551: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 551: IsAudioStreamPlaying() (1 input parameters) +Function 552: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 552: StopAudioStream() (1 input parameters) +Function 553: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 553: SetAudioStreamVolume() (2 input parameters) +Function 554: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 554: SetAudioStreamPitch() (2 input parameters) +Function 555: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 555: SetAudioStreamPan() (2 input parameters) +Function 556: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 556: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 557: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 557: SetAudioStreamCallback() (2 input parameters) +Function 558: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 558: AttachAudioStreamProcessor() (2 input parameters) +Function 559: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 559: DetachAudioStreamProcessor() (2 input parameters) +Function 560: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 560: AttachAudioMixedProcessor() (1 input parameters) +Function 561: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 561: DetachAudioMixedProcessor() (1 input parameters) +Function 562: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 2f536db32..8183d5cf8 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -1464,7 +1464,13 @@ - + + + + + + + From 41b0c5c4f9dcd80ab1228bee7eac35f9ab9f08e7 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 19:58:10 +0200 Subject: [PATCH 238/745] REVIEWED: `DrawRectangleLines()` pixel offset This could be actually very tricky and GPU/drivers dependant... --- src/rshapes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rshapes.c b/src/rshapes.c index 956ca735d..e2b55bc32 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -813,7 +813,7 @@ void DrawRectangleLines(int posX, int posY, int width, int height, Color color) { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2f(posX + 1, posY + 1); + rlVertex2f(posX, posY); rlVertex2f(posX + width, posY + 1); rlVertex2f(posX + width, posY + 1); From 68201c10c292ccc9a66bd301fb8cdded34e7c1ce Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 19:58:14 +0200 Subject: [PATCH 239/745] Update models_cubicmap.c --- examples/models/models_cubicmap.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/examples/models/models_cubicmap.c b/examples/models/models_cubicmap.c index 2cbb7bf32..8e1c1fa1a 100644 --- a/examples/models/models_cubicmap.c +++ b/examples/models/models_cubicmap.c @@ -46,6 +46,8 @@ int main(void) Vector3 mapPosition = { -16.0f, 0.0f, -8.0f }; // Set model position UnloadImage(image); // Unload cubesmap image from RAM, already uploaded to VRAM + + bool pause = false; // Pause camera orbital rotation (and zoom) SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -55,7 +57,9 @@ int main(void) { // Update //---------------------------------------------------------------------------------- - UpdateCamera(&camera, CAMERA_ORBITAL); + if (IsKeyPressed(KEY_P)) pause = !pause; + + if (!pause) UpdateCamera(&camera, CAMERA_ORBITAL); //---------------------------------------------------------------------------------- // Draw @@ -72,10 +76,10 @@ int main(void) DrawTextureEx(cubicmap, (Vector2){ screenWidth - cubicmap.width*4.0f - 20, 20.0f }, 0.0f, 4.0f, WHITE); DrawRectangleLines(screenWidth - cubicmap.width*4 - 20, 20, cubicmap.width*4, cubicmap.height*4, GREEN); - + DrawText("cubicmap image used to", 658, 90, 10, GRAY); DrawText("generate map 3d model", 658, 104, 10, GRAY); - + DrawFPS(10, 10); EndDrawing(); From d80a622972deaaa1185d2c37d82cb21f0c16e697 Mon Sep 17 00:00:00 2001 From: Christian Haas Date: Sat, 20 Apr 2024 20:15:09 +0200 Subject: [PATCH 240/745] [raudio] Fix 3664: crash in raudio from multithreading issues (#3907) * Flip release of buffer; First it needs to be taken out of the processing chain, then it can be released. The inverse of the initialization. * Add mutex locks to audio buffer functions; Separate those used from both threads * Flip release of buffer; First it needs to be taken out of the processing chain, then it can be released. The inverse of the initialization. * Remove TODO marker; The buffer is in stopped state and its data won't be accessed * Add mutex locks to music/stream functions directly operating on buffer * Secure UpdateMusicStream/PlayMusicStream/UpdateAudioStream; This change is twofold: * Add locks to UpdateMusicStream/UpdateAudioStream (second one needed separation) * Remove unnecessary hack to restart music - inlining the statements resulted in a no-op Especially the second part made it easier to ensure thread-safety overall * Remove redundant check; Already checked at beginning of function --- src/raudio.c | 124 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 92 insertions(+), 32 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index afb076af3..6f7e9a72f 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -431,8 +431,10 @@ static bool SaveFileText(const char *fileName, char *text); // Save text AudioBuffer *LoadAudioBuffer(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, ma_uint32 sizeInFrames, int usage); void UnloadAudioBuffer(AudioBuffer *buffer); +bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer); bool IsAudioBufferPlaying(AudioBuffer *buffer); void PlayAudioBuffer(AudioBuffer *buffer); +void StopAudioBufferInLockedState(AudioBuffer *buffer); void StopAudioBuffer(AudioBuffer *buffer); void PauseAudioBuffer(AudioBuffer *buffer); void ResumeAudioBuffer(AudioBuffer *buffer); @@ -442,6 +444,11 @@ void SetAudioBufferPan(AudioBuffer *buffer, float pan); void TrackAudioBuffer(AudioBuffer *buffer); void UntrackAudioBuffer(AudioBuffer *buffer); +//---------------------------------------------------------------------------------- +// AudioStream management functions declaration +//---------------------------------------------------------------------------------- +void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount); + //---------------------------------------------------------------------------------- // Module Functions Definition - Audio Device initialization and Closing //---------------------------------------------------------------------------------- @@ -612,15 +619,15 @@ void UnloadAudioBuffer(AudioBuffer *buffer) { if (buffer != NULL) { - ma_data_converter_uninit(&buffer->converter, NULL); UntrackAudioBuffer(buffer); + ma_data_converter_uninit(&buffer->converter, NULL); RL_FREE(buffer->data); RL_FREE(buffer); } } -// Check if an audio buffer is playing -bool IsAudioBufferPlaying(AudioBuffer *buffer) +// Check if an audio buffer is playing, assuming the audio system mutex has been locked. +bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer) { bool result = false; @@ -629,6 +636,16 @@ bool IsAudioBufferPlaying(AudioBuffer *buffer) return result; } +// Check if an audio buffer is playing from a program state without lock. +bool IsAudioBufferPlaying(AudioBuffer *buffer) +{ + bool result = false; + ma_mutex_lock(&AUDIO.System.lock); + result = IsAudioBufferPlayingInLockedState(buffer); + ma_mutex_unlock(&AUDIO.System.lock); + return result; +} + // Play an audio buffer // NOTE: Buffer is restarted to the start. // Use PauseAudioBuffer() and ResumeAudioBuffer() if the playback position should be maintained. @@ -636,18 +653,20 @@ void PlayAudioBuffer(AudioBuffer *buffer) { if (buffer != NULL) { + ma_mutex_lock(&AUDIO.System.lock); buffer->playing = true; buffer->paused = false; buffer->frameCursorPos = 0; + ma_mutex_unlock(&AUDIO.System.lock); } } -// Stop an audio buffer -void StopAudioBuffer(AudioBuffer *buffer) +// Stop an audio buffer, assuming the audio system mutex has been locked. +void StopAudioBufferInLockedState(AudioBuffer *buffer) { if (buffer != NULL) { - if (IsAudioBufferPlaying(buffer)) + if (IsAudioBufferPlayingInLockedState(buffer)) { buffer->playing = false; buffer->paused = false; @@ -659,22 +678,45 @@ void StopAudioBuffer(AudioBuffer *buffer) } } +// Stop an audio buffer from a program state without lock. +void StopAudioBuffer(AudioBuffer *buffer) +{ + ma_mutex_lock(&AUDIO.System.lock); + StopAudioBufferInLockedState(buffer); + ma_mutex_unlock(&AUDIO.System.lock); +} + // Pause an audio buffer void PauseAudioBuffer(AudioBuffer *buffer) { - if (buffer != NULL) buffer->paused = true; + if (buffer != NULL) + { + ma_mutex_lock(&AUDIO.System.lock); + buffer->paused = true; + ma_mutex_unlock(&AUDIO.System.lock); + } } // Resume an audio buffer void ResumeAudioBuffer(AudioBuffer *buffer) { - if (buffer != NULL) buffer->paused = false; + if (buffer != NULL) + { + ma_mutex_lock(&AUDIO.System.lock); + buffer->paused = false; + ma_mutex_unlock(&AUDIO.System.lock); + } } // Set volume for an audio buffer void SetAudioBufferVolume(AudioBuffer *buffer, float volume) { - if (buffer != NULL) buffer->volume = volume; + if (buffer != NULL) + { + ma_mutex_lock(&AUDIO.System.lock); + buffer->volume = volume; + ma_mutex_unlock(&AUDIO.System.lock); + } } // Set pitch for an audio buffer @@ -682,6 +724,7 @@ void SetAudioBufferPitch(AudioBuffer *buffer, float pitch) { if ((buffer != NULL) && (pitch > 0.0f)) { + ma_mutex_lock(&AUDIO.System.lock); // Pitching is just an adjustment of the sample rate. // Note that this changes the duration of the sound: // - higher pitches will make the sound faster @@ -690,6 +733,7 @@ void SetAudioBufferPitch(AudioBuffer *buffer, float pitch) ma_data_converter_set_rate(&buffer->converter, buffer->converter.sampleRateIn, outputSampleRate); buffer->pitch = pitch; + ma_mutex_unlock(&AUDIO.System.lock); } } @@ -699,7 +743,12 @@ void SetAudioBufferPan(AudioBuffer *buffer, float pan) if (pan < 0.0f) pan = 0.0f; else if (pan > 1.0f) pan = 1.0f; - if (buffer != NULL) buffer->pan = pan; + if (buffer != NULL) + { + ma_mutex_lock(&AUDIO.System.lock); + buffer->pan = pan; + ma_mutex_unlock(&AUDIO.System.lock); + } } // Track audio buffer to linked list next position @@ -1001,8 +1050,8 @@ void UnloadSoundAlias(Sound alias) // Untrack and unload just the sound buffer, not the sample data, it is shared with the source for the alias if (alias.stream.buffer != NULL) { - ma_data_converter_uninit(&alias.stream.buffer->converter, NULL); UntrackAudioBuffer(alias.stream.buffer); + ma_data_converter_uninit(&alias.stream.buffer->converter, NULL); RL_FREE(alias.stream.buffer); } } @@ -1014,7 +1063,6 @@ void UpdateSound(Sound sound, const void *data, int frameCount) { StopAudioBuffer(sound.stream.buffer); - // TODO: May want to lock/unlock this since this data buffer is read at mixing time memcpy(sound.stream.buffer->data, data, frameCount*ma_get_bytes_per_frame(sound.stream.buffer->converter.formatIn, sound.stream.buffer->converter.channelsIn)); } } @@ -1741,19 +1789,10 @@ void UnloadMusicStream(Music music) } } -// Start music playing (open stream) +// Start music playing (open stream) from beginning void PlayMusicStream(Music music) { - if (music.stream.buffer != NULL) - { - // For music streams, we need to make sure we maintain the frame cursor position - // This is a hack for this section of code in UpdateMusicStream() - // NOTE: In case window is minimized, music stream is stopped, just make sure to - // play again on window restore: if (IsMusicStreamPlaying(music)) PlayMusicStream(music); - ma_uint32 frameCursorPos = music.stream.buffer->frameCursorPos; - PlayAudioStream(music.stream); // WARNING: This resets the cursor position. - music.stream.buffer->frameCursorPos = frameCursorPos; - } + PlayAudioStream(music.stream); } // Pause music playing @@ -1835,7 +1874,9 @@ void SeekMusicStream(Music music, float position) default: break; } + ma_mutex_lock(&AUDIO.System.lock); music.stream.buffer->framesProcessed = positionInFrames; + ma_mutex_unlock(&AUDIO.System.lock); } // Update (re-fill) music buffers if data already processed @@ -1843,6 +1884,8 @@ void UpdateMusicStream(Music music) { if (music.stream.buffer == NULL) return; + ma_mutex_lock(&AUDIO.System.lock); + unsigned int subBufferSizeInFrames = music.stream.buffer->sizeInFrames/2; // On first call of this function we lazily pre-allocated a temp buffer to read audio files/memory data in @@ -1859,7 +1902,7 @@ void UpdateMusicStream(Music music) // Check both sub-buffers to check if they require refilling for (int i = 0; i < 2; i++) { - if ((music.stream.buffer != NULL) && !music.stream.buffer->isSubBufferProcessed[i]) continue; // No refilling required, move to next sub-buffer + if (!music.stream.buffer->isSubBufferProcessed[i]) continue; // No refilling required, move to next sub-buffer unsigned int framesLeft = music.frameCount - music.stream.buffer->framesProcessed; // Frames left to be processed unsigned int framesToStream = 0; // Total frames to be streamed @@ -1978,7 +2021,7 @@ void UpdateMusicStream(Music music) default: break; } - UpdateAudioStream(music.stream, AUDIO.System.pcmBuffer, framesToStream); + UpdateAudioStreamInLockedState(music.stream, AUDIO.System.pcmBuffer, framesToStream); music.stream.buffer->framesProcessed = music.stream.buffer->framesProcessed%music.frameCount; @@ -1986,6 +2029,7 @@ void UpdateMusicStream(Music music) { if (!music.looping) { + ma_mutex_unlock(&AUDIO.System.lock); // Streaming is ending, we filled latest frames from input StopMusicStream(music); return; @@ -1993,9 +2037,7 @@ void UpdateMusicStream(Music music) } } - // NOTE: In case window is minimized, music stream is stopped, - // just make sure to play again on window restore - if (IsMusicStreamPlaying(music)) PlayMusicStream(music); + ma_mutex_unlock(&AUDIO.System.lock); } // Check if any music is playing @@ -2049,6 +2091,7 @@ float GetMusicTimePlayed(Music music) else #endif { + ma_mutex_lock(&AUDIO.System.lock); //ma_uint32 frameSizeInBytes = ma_get_bytes_per_sample(music.stream.buffer->dsp.formatConverterIn.config.formatIn)*music.stream.buffer->dsp.formatConverterIn.config.channels; int framesProcessed = (int)music.stream.buffer->framesProcessed; int subBufferSize = (int)music.stream.buffer->sizeInFrames/2; @@ -2058,6 +2101,7 @@ float GetMusicTimePlayed(Music music) int framesPlayed = (framesProcessed - framesInFirstBuffer - framesInSecondBuffer + framesSentToMix)%(int)music.frameCount; if (framesPlayed < 0) framesPlayed += music.frameCount; secondsPlayed = (float)framesPlayed/music.stream.sampleRate; + ma_mutex_unlock(&AUDIO.System.lock); } } @@ -2117,6 +2161,13 @@ void UnloadAudioStream(AudioStream stream) // NOTE 1: Only updates one buffer of the stream source: dequeue -> update -> queue // NOTE 2: To dequeue a buffer it needs to be processed: IsAudioStreamProcessed() void UpdateAudioStream(AudioStream stream, const void *data, int frameCount) +{ + ma_mutex_lock(&AUDIO.System.lock); + UpdateAudioStreamInLockedState(stream, data, frameCount); + ma_mutex_unlock(&AUDIO.System.lock); +} + +void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount) { if (stream.buffer != NULL) { @@ -2170,7 +2221,11 @@ bool IsAudioStreamProcessed(AudioStream stream) { if (stream.buffer == NULL) return false; - return (stream.buffer->isSubBufferProcessed[0] || stream.buffer->isSubBufferProcessed[1]); + bool result = false; + ma_mutex_lock(&AUDIO.System.lock); + result = stream.buffer->isSubBufferProcessed[0] || stream.buffer->isSubBufferProcessed[1]; + ma_mutex_unlock(&AUDIO.System.lock); + return result; } // Play audio stream @@ -2230,7 +2285,12 @@ void SetAudioStreamBufferSizeDefault(int size) // Audio thread callback to request new data void SetAudioStreamCallback(AudioStream stream, AudioCallback callback) { - if (stream.buffer != NULL) stream.buffer->callback = callback; + if (stream.buffer != NULL) + { + ma_mutex_lock(&AUDIO.System.lock); + stream.buffer->callback = callback; + ma_mutex_unlock(&AUDIO.System.lock); + } } // Add processor to audio stream. Contrary to buffers, the order of processors is important. @@ -2424,7 +2484,7 @@ static ma_uint32 ReadAudioBufferFramesInInternalFormat(AudioBuffer *audioBuffer, // We need to break from this loop if we're not looping if (!audioBuffer->looping) { - StopAudioBuffer(audioBuffer); + StopAudioBufferInLockedState(audioBuffer); break; } } @@ -2560,7 +2620,7 @@ static void OnSendAudioDataToDevice(ma_device *pDevice, void *pFramesOut, const { if (!audioBuffer->looping) { - StopAudioBuffer(audioBuffer); + StopAudioBufferInLockedState(audioBuffer); break; } else From c1943f0f7c253cd839c7633e02d3d7f3aa3a6833 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 20:30:35 +0200 Subject: [PATCH 241/745] REVIEWED: Move some functions, made them static --- src/raudio.c | 212 ++++++++++++++++++++++++++------------------------- 1 file changed, 108 insertions(+), 104 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 6f7e9a72f..b3874dbe1 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -410,9 +410,18 @@ static AudioData AUDIO = { // Global AUDIO context // Module specific Functions Declaration //---------------------------------------------------------------------------------- static void OnLog(void *pUserData, ma_uint32 level, const char *pMessage); + +// Reads audio data from an AudioBuffer object in internal/device formats +static ma_uint32 ReadAudioBufferFramesInInternalFormat(AudioBuffer *audioBuffer, void *framesOut, ma_uint32 frameCount); +static ma_uint32 ReadAudioBufferFramesInMixingFormat(AudioBuffer *audioBuffer, float *framesOut, ma_uint32 frameCount); + static void OnSendAudioDataToDevice(ma_device *pDevice, void *pFramesOut, const void *pFramesInput, ma_uint32 frameCount); static void MixAudioFrames(float *framesOut, const float *framesIn, ma_uint32 frameCount, AudioBuffer *buffer); +static bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer); +static void StopAudioBufferInLockedState(AudioBuffer *buffer); +static void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount); + #if defined(RAUDIO_STANDALONE) static bool IsFileExtension(const char *fileName, const char *ext); // Check file extension static const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes the dot: .png) @@ -431,10 +440,8 @@ static bool SaveFileText(const char *fileName, char *text); // Save text AudioBuffer *LoadAudioBuffer(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, ma_uint32 sizeInFrames, int usage); void UnloadAudioBuffer(AudioBuffer *buffer); -bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer); bool IsAudioBufferPlaying(AudioBuffer *buffer); void PlayAudioBuffer(AudioBuffer *buffer); -void StopAudioBufferInLockedState(AudioBuffer *buffer); void StopAudioBuffer(AudioBuffer *buffer); void PauseAudioBuffer(AudioBuffer *buffer); void ResumeAudioBuffer(AudioBuffer *buffer); @@ -444,10 +451,6 @@ void SetAudioBufferPan(AudioBuffer *buffer, float pan); void TrackAudioBuffer(AudioBuffer *buffer); void UntrackAudioBuffer(AudioBuffer *buffer); -//---------------------------------------------------------------------------------- -// AudioStream management functions declaration -//---------------------------------------------------------------------------------- -void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount); //---------------------------------------------------------------------------------- // Module Functions Definition - Audio Device initialization and Closing @@ -467,12 +470,12 @@ void InitAudioDevice(void) } // Init audio device - // NOTE: Using the default device. Format is floating point because it simplifies mixing. + // NOTE: Using the default device. Format is floating point because it simplifies mixing ma_device_config config = ma_device_config_init(ma_device_type_playback); - config.playback.pDeviceID = NULL; // NULL for the default playback AUDIO.System.device. + config.playback.pDeviceID = NULL; // NULL for the default playback AUDIO.System.device config.playback.format = AUDIO_DEVICE_FORMAT; config.playback.channels = AUDIO_DEVICE_CHANNELS; - config.capture.pDeviceID = NULL; // NULL for the default capture AUDIO.System.device. + config.capture.pDeviceID = NULL; // NULL for the default capture AUDIO.System.device config.capture.format = ma_format_s16; config.capture.channels = 1; config.sampleRate = AUDIO_DEVICE_SAMPLE_RATE; @@ -488,7 +491,7 @@ void InitAudioDevice(void) } // Mixing happens on a separate thread which means we need to synchronize. I'm using a mutex here to make things simple, but may - // want to look at something a bit smarter later on to keep everything real-time, if that's necessary. + // want to look at something a bit smarter later on to keep everything real-time, if that's necessary if (ma_mutex_init(&AUDIO.System.lock) != MA_SUCCESS) { TRACELOG(LOG_WARNING, "AUDIO: Failed to create mutex for mixing"); @@ -498,7 +501,7 @@ void InitAudioDevice(void) } // Keep the device running the whole time. May want to consider doing something a bit smarter and only have the device running - // while there's at least one sound being played. + // while there's at least one sound being played result = ma_device_start(&AUDIO.System.device); if (result != MA_SUCCESS) { @@ -626,17 +629,7 @@ void UnloadAudioBuffer(AudioBuffer *buffer) } } -// Check if an audio buffer is playing, assuming the audio system mutex has been locked. -bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer) -{ - bool result = false; - - if (buffer != NULL) result = (buffer->playing && !buffer->paused); - - return result; -} - -// Check if an audio buffer is playing from a program state without lock. +// Check if an audio buffer is playing from a program state without lock bool IsAudioBufferPlaying(AudioBuffer *buffer) { bool result = false; @@ -647,8 +640,8 @@ bool IsAudioBufferPlaying(AudioBuffer *buffer) } // Play an audio buffer -// NOTE: Buffer is restarted to the start. -// Use PauseAudioBuffer() and ResumeAudioBuffer() if the playback position should be maintained. +// NOTE: Buffer is restarted to the start +// Use PauseAudioBuffer() and ResumeAudioBuffer() if the playback position should be maintained void PlayAudioBuffer(AudioBuffer *buffer) { if (buffer != NULL) @@ -661,24 +654,7 @@ void PlayAudioBuffer(AudioBuffer *buffer) } } -// Stop an audio buffer, assuming the audio system mutex has been locked. -void StopAudioBufferInLockedState(AudioBuffer *buffer) -{ - if (buffer != NULL) - { - if (IsAudioBufferPlayingInLockedState(buffer)) - { - buffer->playing = false; - buffer->paused = false; - buffer->frameCursorPos = 0; - buffer->framesProcessed = 0; - buffer->isSubBufferProcessed[0] = true; - buffer->isSubBufferProcessed[1] = true; - } - } -} - -// Stop an audio buffer from a program state without lock. +// Stop an audio buffer from a program state without lock void StopAudioBuffer(AudioBuffer *buffer) { ma_mutex_lock(&AUDIO.System.lock); @@ -725,7 +701,7 @@ void SetAudioBufferPitch(AudioBuffer *buffer, float pitch) if ((buffer != NULL) && (pitch > 0.0f)) { ma_mutex_lock(&AUDIO.System.lock); - // Pitching is just an adjustment of the sample rate. + // Pitching is just an adjustment of the sample rate // Note that this changes the duration of the sound: // - higher pitches will make the sound faster // - lower pitches make it slower @@ -951,15 +927,15 @@ Sound LoadSoundFromWave(Wave wave) if (wave.data != NULL) { - // When using miniaudio we need to do our own mixing. + // When using miniaudio we need to do our own mixing // To simplify this we need convert the format of each sound to be consistent with // the format used to open the playback AUDIO.System.device. We can do this two ways: // - // 1) Convert the whole sound in one go at load time (here). - // 2) Convert the audio data in chunks at mixing time. + // 1) Convert the whole sound in one go at load time (here) + // 2) Convert the audio data in chunks at mixing time // - // First option has been selected, format conversion is done on the loading stage. - // The downside is that it uses more memory if the original sound is u8 or s16. + // First option has been selected, format conversion is done on the loading stage + // The downside is that it uses more memory if the original sound is u8 or s16 ma_format formatIn = ((wave.sampleSize == 8)? ma_format_u8 : ((wave.sampleSize == 16)? ma_format_s16 : ma_format_f32)); ma_uint32 frameCountIn = wave.frameCount; @@ -2167,55 +2143,6 @@ void UpdateAudioStream(AudioStream stream, const void *data, int frameCount) ma_mutex_unlock(&AUDIO.System.lock); } -void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount) -{ - if (stream.buffer != NULL) - { - if (stream.buffer->isSubBufferProcessed[0] || stream.buffer->isSubBufferProcessed[1]) - { - ma_uint32 subBufferToUpdate = 0; - - if (stream.buffer->isSubBufferProcessed[0] && stream.buffer->isSubBufferProcessed[1]) - { - // Both buffers are available for updating. - // Update the first one and make sure the cursor is moved back to the front. - subBufferToUpdate = 0; - stream.buffer->frameCursorPos = 0; - } - else - { - // Just update whichever sub-buffer is processed. - subBufferToUpdate = (stream.buffer->isSubBufferProcessed[0])? 0 : 1; - } - - ma_uint32 subBufferSizeInFrames = stream.buffer->sizeInFrames/2; - unsigned char *subBuffer = stream.buffer->data + ((subBufferSizeInFrames*stream.channels*(stream.sampleSize/8))*subBufferToUpdate); - - // Total frames processed in buffer is always the complete size, filled with 0 if required - stream.buffer->framesProcessed += subBufferSizeInFrames; - - // Does this API expect a whole buffer to be updated in one go? - // Assuming so, but if not will need to change this logic. - if (subBufferSizeInFrames >= (ma_uint32)frameCount) - { - ma_uint32 framesToWrite = (ma_uint32)frameCount; - - ma_uint32 bytesToWrite = framesToWrite*stream.channels*(stream.sampleSize/8); - memcpy(subBuffer, data, bytesToWrite); - - // Any leftover frames should be filled with zeros. - ma_uint32 leftoverFrameCount = subBufferSizeInFrames - framesToWrite; - - if (leftoverFrameCount > 0) memset(subBuffer + bytesToWrite, 0, leftoverFrameCount*stream.channels*(stream.sampleSize/8)); - - stream.buffer->isSubBufferProcessed[subBufferToUpdate] = false; - } - else TRACELOG(LOG_WARNING, "STREAM: Attempting to write too many frames to buffer"); - } - else TRACELOG(LOG_WARNING, "STREAM: Buffer not available for updating"); - } -} - // Check if any audio stream buffers requires refill bool IsAudioStreamProcessed(AudioStream stream) { @@ -2246,7 +2173,7 @@ void ResumeAudioStream(AudioStream stream) ResumeAudioBuffer(stream.buffer); } -// Check if audio stream is playing. +// Check if audio stream is playing bool IsAudioStreamPlaying(AudioStream stream) { return IsAudioBufferPlaying(stream.buffer); @@ -2293,9 +2220,9 @@ void SetAudioStreamCallback(AudioStream stream, AudioCallback callback) } } -// Add processor to audio stream. Contrary to buffers, the order of processors is important. +// Add processor to audio stream. Contrary to buffers, the order of processors is important // The new processor must be added at the end. As there aren't supposed to be a lot of processors attached to -// a given stream, we iterate through the list to find the end. That way we don't need a pointer to the last element. +// a given stream, we iterate through the list to find the end. That way we don't need a pointer to the last element void AttachAudioStreamProcessor(AudioStream stream, AudioCallback process) { ma_mutex_lock(&AUDIO.System.lock); @@ -2410,7 +2337,7 @@ static void OnLog(void *pUserData, ma_uint32 level, const char *pMessage) TRACELOG(LOG_WARNING, "miniaudio: %s", pMessage); // All log messages from miniaudio are errors } -// Reads audio data from an AudioBuffer object in internal format. +// Reads audio data from an AudioBuffer object in internal format static ma_uint32 ReadAudioBufferFramesInInternalFormat(AudioBuffer *audioBuffer, void *framesOut, ma_uint32 frameCount) { // Using audio buffer callback @@ -2498,20 +2425,20 @@ static ma_uint32 ReadAudioBufferFramesInInternalFormat(AudioBuffer *audioBuffer, // For static buffers we can fill the remaining frames with silence for safety, but we don't want // to report those frames as "read". The reason for this is that the caller uses the return value - // to know whether a non-looping sound has finished playback. + // to know whether a non-looping sound has finished playback if (audioBuffer->usage != AUDIO_BUFFER_USAGE_STATIC) framesRead += totalFramesRemaining; } return framesRead; } -// Reads audio data from an AudioBuffer object in device format. Returned data will be in a format appropriate for mixing. +// Reads audio data from an AudioBuffer object in device format, returned data will be in a format appropriate for mixing static ma_uint32 ReadAudioBufferFramesInMixingFormat(AudioBuffer *audioBuffer, float *framesOut, ma_uint32 frameCount) { // What's going on here is that we're continuously converting data from the AudioBuffer's internal format to the mixing format, which // should be defined by the output format of the data converter. We do this until frameCount frames have been output. The important // detail to remember here is that we never, ever attempt to read more input data than is required for the specified number of output - // frames. This can be achieved with ma_data_converter_get_required_input_frame_count(). + // frames. This can be achieved with ma_data_converter_get_required_input_frame_count() ma_uint8 inputBuffer[4096] = { 0 }; ma_uint32 inputBufferFrameCap = sizeof(inputBuffer)/ma_get_bytes_per_frame(audioBuffer->converter.formatIn, audioBuffer->converter.channelsIn); @@ -2693,6 +2620,83 @@ static void MixAudioFrames(float *framesOut, const float *framesIn, ma_uint32 fr } } +// Check if an audio buffer is playing, assuming the audio system mutex has been locked +static bool IsAudioBufferPlayingInLockedState(AudioBuffer *buffer) +{ + bool result = false; + + if (buffer != NULL) result = (buffer->playing && !buffer->paused); + + return result; +} + +// Stop an audio buffer, assuming the audio system mutex has been locked +static void StopAudioBufferInLockedState(AudioBuffer *buffer) +{ + if (buffer != NULL) + { + if (IsAudioBufferPlayingInLockedState(buffer)) + { + buffer->playing = false; + buffer->paused = false; + buffer->frameCursorPos = 0; + buffer->framesProcessed = 0; + buffer->isSubBufferProcessed[0] = true; + buffer->isSubBufferProcessed[1] = true; + } + } +} + +// Update audio stream, assuming the audio system mutex has been locked +static void UpdateAudioStreamInLockedState(AudioStream stream, const void *data, int frameCount) +{ + if (stream.buffer != NULL) + { + if (stream.buffer->isSubBufferProcessed[0] || stream.buffer->isSubBufferProcessed[1]) + { + ma_uint32 subBufferToUpdate = 0; + + if (stream.buffer->isSubBufferProcessed[0] && stream.buffer->isSubBufferProcessed[1]) + { + // Both buffers are available for updating + // Update the first one and make sure the cursor is moved back to the front + subBufferToUpdate = 0; + stream.buffer->frameCursorPos = 0; + } + else + { + // Just update whichever sub-buffer is processed + subBufferToUpdate = (stream.buffer->isSubBufferProcessed[0])? 0 : 1; + } + + ma_uint32 subBufferSizeInFrames = stream.buffer->sizeInFrames/2; + unsigned char *subBuffer = stream.buffer->data + ((subBufferSizeInFrames*stream.channels*(stream.sampleSize/8))*subBufferToUpdate); + + // Total frames processed in buffer is always the complete size, filled with 0 if required + stream.buffer->framesProcessed += subBufferSizeInFrames; + + // Does this API expect a whole buffer to be updated in one go? + // Assuming so, but if not will need to change this logic + if (subBufferSizeInFrames >= (ma_uint32)frameCount) + { + ma_uint32 framesToWrite = (ma_uint32)frameCount; + + ma_uint32 bytesToWrite = framesToWrite*stream.channels*(stream.sampleSize/8); + memcpy(subBuffer, data, bytesToWrite); + + // Any leftover frames should be filled with zeros + ma_uint32 leftoverFrameCount = subBufferSizeInFrames - framesToWrite; + + if (leftoverFrameCount > 0) memset(subBuffer + bytesToWrite, 0, leftoverFrameCount*stream.channels*(stream.sampleSize/8)); + + stream.buffer->isSubBufferProcessed[subBufferToUpdate] = false; + } + else TRACELOG(LOG_WARNING, "STREAM: Attempting to write too many frames to buffer"); + } + else TRACELOG(LOG_WARNING, "STREAM: Buffer not available for updating"); + } +} + // Some required functions for audio standalone module version #if defined(RAUDIO_STANDALONE) // Check file extension From e85f245ad43283a46bab866d8612569c3246883b Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 20:31:06 +0200 Subject: [PATCH 242/745] REVIEWED: Remove final punctuation in code comments --- src/rcore.c | 41 ++++++++++++++++------------------------- src/rmodels.c | 22 +++++++++++----------- src/rtext.c | 4 ++-- src/rtextures.c | 8 ++++---- src/utils.c | 2 +- 5 files changed, 34 insertions(+), 43 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index b4aaed683..d2e4a35e7 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -296,7 +296,7 @@ typedef struct CoreData { char previousKeyState[MAX_KEYBOARD_KEYS]; // Registers previous frame key state // NOTE: Since key press logic involves comparing prev vs cur key state, we need to handle key repeats specially - char keyRepeatInFrame[MAX_KEYBOARD_KEYS]; // Registers key repeats for current frame. + char keyRepeatInFrame[MAX_KEYBOARD_KEYS]; // Registers key repeats for current frame int keyPressedQueue[MAX_KEY_PRESSED_QUEUE]; // Input keys queue int keyPressedQueueCount; // Input keys queue count @@ -806,7 +806,7 @@ bool IsCursorHidden(void) return CORE.Input.Mouse.cursorHidden; } -// Check if cursor is on the current screen. +// Check if cursor is on the current screen bool IsCursorOnScreen(void) { return CORE.Input.Mouse.cursorOnScreen; @@ -1213,9 +1213,9 @@ VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device) config.projection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); // Compute camera transformation matrices - // NOTE: Camera movement might seem more natural if we model the head. + // NOTE: Camera movement might seem more natural if we model the head // Our axis of rotation is the base of our head, so we might want to add - // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions. + // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions config.viewOffset[0] = MatrixTranslate(device.interpupillaryDistance*0.5f, 0.075f, 0.045f); config.viewOffset[1] = MatrixTranslate(-device.interpupillaryDistance*0.5f, 0.075f, 0.045f); @@ -1462,9 +1462,10 @@ Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height Vector3 nearPoint = Vector3Unproject((Vector3){ deviceCoords.x, deviceCoords.y, 0.0f }, matProj, matView); Vector3 farPoint = Vector3Unproject((Vector3){ deviceCoords.x, deviceCoords.y, 1.0f }, matProj, matView); - // Unproject the mouse cursor in the near plane. - // We need this as the source position because orthographic projects, compared to perspective doesn't have a - // convergence point, meaning that the "eye" of the camera is more like a plane than a point. + // Unproject the mouse cursor in the near plane + // We need this as the source position because orthographic projects, + // compared to perspective doesn't have a convergence point, + // meaning that the "eye" of the camera is more like a plane than a point Vector3 cameraPlanePointerPos = Vector3Unproject((Vector3){ deviceCoords.x, deviceCoords.y, -1.0f }, matProj, matView); // Calculate normalized direction vector @@ -1495,12 +1496,12 @@ Matrix GetCameraMatrix2D(Camera2D camera) // 1. Move it to target // 2. Rotate by -rotation and scale by (1/zoom) // When setting higher scale, it's more intuitive for the world to become bigger (= camera become smaller), - // not for the camera getting bigger, hence the invert. Same deal with rotation. + // not for the camera getting bigger, hence the invert. Same deal with rotation // 3. Move it by (-offset); // Offset defines target transform relative to screen, but since we're effectively "moving" screen (camera) // we need to do it into opposite direction (inverse transform) - // Having camera transform in world-space, inverse of it gives the modelview transform. + // Having camera transform in world-space, inverse of it gives the modelview transform // Since (A*B*C)' = C'*B'*A', the modelview is // 1. Move to offset // 2. Rotate and Scale @@ -1691,7 +1692,7 @@ void WaitTime(double seconds) req.tv_sec = sec; req.tv_nsec = nsec; - // NOTE: Use nanosleep() on Unix platforms... usleep() it's deprecated. + // NOTE: Use nanosleep() on Unix platforms... usleep() it's deprecated while (nanosleep(&req, &req) == -1) continue; #endif #if defined(__APPLE__) @@ -1826,7 +1827,7 @@ void TakeScreenshot(const char *fileName) // Setup window configuration flags (view FLAGS) // NOTE: This function is expected to be called before window creation, -// because it sets up some flags for the window creation process. +// because it sets up some flags for the window creation process // To configure window states after creation, just use SetWindowState() void SetConfigFlags(unsigned int flags) { @@ -3085,10 +3086,10 @@ int GetTouchPointCount(void) // Initialize hi-resolution timer void InitTimer(void) { - // Setting a higher resolution can improve the accuracy of time-out intervals in wait functions. - // However, it can also reduce overall system performance, because the thread scheduler switches tasks more often. - // High resolutions can also prevent the CPU power management system from entering power-saving modes. - // Setting a higher resolution does not improve the accuracy of the high-resolution performance counter. + // Setting a higher resolution can improve the accuracy of time-out intervals in wait functions + // However, it can also reduce overall system performance, because the thread scheduler switches tasks more often + // High resolutions can also prevent the CPU power management system from entering power-saving modes + // Setting a higher resolution does not improve the accuracy of the high-resolution performance counter #if defined(_WIN32) && defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) && !defined(PLATFORM_DESKTOP_SDL) timeBeginPeriod(1); // Setup high-resolution timer to 1ms (granularity of 1-2 ms) #endif @@ -3572,16 +3573,6 @@ static void RecordAutomationEvent(void) } //------------------------------------------------------------------------------------- #endif - - // Window events recording - //------------------------------------------------------------------------------------- - // TODO. - //------------------------------------------------------------------------------------- - - // Custom actions events recording - //------------------------------------------------------------------------------------- - // TODO. - //------------------------------------------------------------------------------------- } #endif diff --git a/src/rmodels.c b/src/rmodels.c index 4bbceaf27..804b230f3 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1593,7 +1593,7 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i // Enable mesh VAO to attach new buffer rlEnableVertexArray(mesh.vaoId); - // This could alternatively use a static VBO and either glMapBuffer() or glBufferSubData(). + // This could alternatively use a static VBO and either glMapBuffer() or glBufferSubData() // It isn't clear which would be reliably faster in all cases and on all platforms, // anecdotally glMapBuffer() seems very slow (syncs) while glBufferSubData() seems // no faster, since we're transferring all the transform matrices anyway @@ -2695,7 +2695,7 @@ Mesh GenMeshCylinder(float radius, float height, int slices) { // Instance a cylinder that sits on the Z=0 plane using the given tessellation // levels across the UV domain. Think of "slices" like a number of pizza - // slices, and "stacks" like a number of stacked rings. + // slices, and "stacks" like a number of stacked rings // Height and radius are both 1.0, but they can easily be changed with par_shapes_scale par_shapes_mesh *cylinder = par_shapes_create_cylinder(slices, 8); par_shapes_scale(cylinder, radius, radius, height); @@ -2759,7 +2759,7 @@ Mesh GenMeshCone(float radius, float height, int slices) { // Instance a cone that sits on the Z=0 plane using the given tessellation // levels across the UV domain. Think of "slices" like a number of pizza - // slices, and "stacks" like a number of stacked rings. + // slices, and "stacks" like a number of stacked rings // Height and radius are both 1.0, but they can easily be changed with par_shapes_scale par_shapes_mesh *cone = par_shapes_create_cone(slices, 8); par_shapes_scale(cone, radius, radius, height); @@ -3813,7 +3813,7 @@ RayCollision GetRayCollisionBox(Ray ray, BoundingBox box) RayCollision collision = { 0 }; // Note: If ray.position is inside the box, the distance is negative (as if the ray was reversed) - // Reversing ray.direction will give use the correct result. + // Reversing ray.direction will give use the correct result bool insideBox = (ray.position.x > box.min.x) && (ray.position.x < box.max.x) && (ray.position.y > box.min.y) && (ray.position.y < box.max.y) && (ray.position.z > box.min.z) && (ray.position.z < box.max.z); @@ -5068,7 +5068,7 @@ static Model LoadGLTF(const char *fileName) { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - // WARNING: SPECS: POSITION accessor MUST have its min and max properties defined. + // WARNING: SPECS: POSITION accessor MUST have its min and max properties defined if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec3)) { @@ -5129,7 +5129,7 @@ static Model LoadGLTF(const char *fileName) { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - // WARNING: SPECS: All components of each COLOR_n accessor element MUST be clamped to [0.0, 1.0] range. + // WARNING: SPECS: All components of each COLOR_n accessor element MUST be clamped to [0.0, 1.0] range if ((attribute->component_type == cgltf_component_type_r_8u) && (attribute->type == cgltf_type_vec4)) { @@ -5369,7 +5369,7 @@ static Model LoadGLTF(const char *fileName) return model; } -// Get interpolated pose for bone sampler at a specific time. Returns true on success. +// Get interpolated pose for bone sampler at a specific time. Returns true on success static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_accessor *input, cgltf_accessor *output, float time, void *data) { if (interpolationType >= cgltf_interpolation_type_max_enum) return false; @@ -5833,7 +5833,7 @@ static Model LoadM3D(const char *fileName) // We always need a default material, so we add +1 model.materialCount++; - // Faces must be in non-decreasing materialid order. Verify that quickly, sorting them otherwise. + // Faces must be in non-decreasing materialid order. Verify that quickly, sorting them otherwise // WARNING: Sorting is not needed, valid M3D model files should already be sorted // Just keeping the sorting function for reference (Check PR #3363 #3385) /* @@ -5841,12 +5841,12 @@ static Model LoadM3D(const char *fileName) { if (m3d->face[i-1].materialid <= m3d->face[i].materialid) continue; - // face[i-1] > face[i]. slide face[i] lower. + // face[i-1] > face[i]. slide face[i] lower m3df_t slider = m3d->face[i]; j = i-1; do - { // face[j] > slider, face[j+1] is svailable vacant gap. + { // face[j] > slider, face[j+1] is svailable vacant gap m3d->face[j+1] = m3d->face[j]; j = j-1; } @@ -6107,7 +6107,7 @@ static Model LoadM3D(const char *fileName) } // Load bone-pose default mesh into animation vertices. These will be updated when UpdateModelAnimation gets - // called, but not before, however DrawMesh uses these if they exist (so not good if they are left empty). + // called, but not before, however DrawMesh uses these if they exist (so not good if they are left empty) if (m3d->numbone && m3d->numskin) { for (i = 0; i < model.meshCount; i++) diff --git a/src/rtext.c b/src/rtext.c index 2ff6fd92b..47f3e062a 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -119,7 +119,7 @@ //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -// ... +//... //---------------------------------------------------------------------------------- // Global variables @@ -1077,7 +1077,7 @@ bool ExportFontAsCode(Font font, const char *fileName) #endif // We have two possible mechanisms to assign font.recs and font.glyphs data, // that data is already available as global arrays, we two options to assign that data: - // - 1. Data copy. This option consumes more memory and Font MUST be unloaded by user, requiring additional code. + // - 1. Data copy. This option consumes more memory and Font MUST be unloaded by user, requiring additional code // - 2. Data assignment. This option consumes less memory and Font MUST NOT be unloaded by user because data is on protected DATA segment //#define SUPPORT_FONT_DATA_COPY #if defined(SUPPORT_FONT_DATA_COPY) diff --git a/src/rtextures.c b/src/rtextures.c index d47df7628..35757ba18 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -920,8 +920,8 @@ Image GenImageColor(int width, int height, Color color) #if defined(SUPPORT_IMAGE_GENERATION) // Generate image: linear gradient // The direction value specifies the direction of the gradient (in degrees) -// with 0 being vertical (from top to bottom), 90 being horizontal (from left to right). -// The gradient effectively rotates counter-clockwise by the specified amount. +// with 0 being vertical (from top to bottom), 90 being horizontal (from left to right) +// The gradient effectively rotates counter-clockwise by the specified amount Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end) { Color *pixels = (Color *)RL_MALLOC(width*height*sizeof(Color)); @@ -2152,7 +2152,7 @@ void ImageBlurGaussian(Image *image, int blurSize) ImageFormat(image, format); } -// The kernel matrix is assumed to be square. Only supply the width of the kernel. +// The kernel matrix is assumed to be square. Only supply the width of the kernel void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) { if ((image->data == NULL) || (image->width == 0) || (image->height == 0) || kernel == NULL) return; @@ -4243,7 +4243,7 @@ void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 // NOTE: Vertex position can be transformed using matrices // but the process is way more costly than just calculating - // the vertex positions manually, like done above. + // the vertex positions manually, like done above // I leave here the old implementation for educational purposes, // just in case someone wants to do some performance test /* diff --git a/src/utils.c b/src/utils.c index 895f77775..fcbdba005 100644 --- a/src/utils.c +++ b/src/utils.c @@ -41,7 +41,7 @@ #if defined(PLATFORM_ANDROID) #include // Required for: Android error types #include // Required for: Android log system: __android_log_vprint() - #include // Required for: Android assets manager: AAsset, AAssetManager_open(), ... + #include // Required for: Android assets manager: AAsset, AAssetManager_open()... #endif #include // Required for: exit() From 77cabc8bf21393073b37ae062c0885b541fcd2d1 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 20:32:37 +0200 Subject: [PATCH 243/745] Update shapes_draw_rectangle_rounded.c --- examples/shapes/shapes_draw_rectangle_rounded.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/shapes/shapes_draw_rectangle_rounded.c b/examples/shapes/shapes_draw_rectangle_rounded.c index 2add780a7..19280ed00 100644 --- a/examples/shapes/shapes_draw_rectangle_rounded.c +++ b/examples/shapes/shapes_draw_rectangle_rounded.c @@ -62,7 +62,7 @@ int main(void) if (drawRect) DrawRectangleRec(rec, Fade(GOLD, 0.6f)); if (drawRoundedRect) DrawRectangleRounded(rec, roundness, (int)segments, Fade(MAROON, 0.2f)); - if (drawRoundedLines) DrawRectangleRoundedLines(rec, roundness, (int)segments, lineThick, Fade(MAROON, 0.4f)); + if (drawRoundedLines) DrawRectangleRoundedLinesEx(rec, roundness, (int)segments, lineThick, Fade(MAROON, 0.4f)); // Draw GUI controls //------------------------------------------------------------------------------ From f6d85e5df70f13b1070d95d19b119c8686b770ae Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 21:21:31 +0200 Subject: [PATCH 244/745] Update project --- .../examples/core_random_values.vcxproj | 2 +- projects/VS2022/raylib.sln | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/projects/VS2022/examples/core_random_values.vcxproj b/projects/VS2022/examples/core_random_values.vcxproj index bb6a4911c..356248e42 100644 --- a/projects/VS2022/examples/core_random_values.vcxproj +++ b/projects/VS2022/examples/core_random_values.vcxproj @@ -35,7 +35,7 @@ - {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A} + {B332DCA8-3599-4A99-917A-82261BDC27AC} Win32Proj core_random_values 10.0 diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index c9f50f6b6..294d0e84d 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -55,7 +55,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_loading_thread", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_sequence", "examples\core_random_sequence.vcxproj", "{6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_values", "examples\core_random_values.vcxproj", "{6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_values", "examples\core_random_values.vcxproj", "{B332DCA8-3599-4A99-917A-82261BDC27AC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_scissor_test", "examples\core_scissor_test.vcxproj", "{59089B0C-AAB4-4532-B294-44DEAE7178B7}" EndProject @@ -709,6 +709,22 @@ Global {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}.Release|x64.Build.0 = Release|x64 {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}.Release|x86.ActiveCfg = Release|Win32 {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}.Release|x86.Build.0 = Release|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug|x64.ActiveCfg = Debug|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug|x64.Build.0 = Debug|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug|x86.ActiveCfg = Debug|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Debug|x86.Build.0 = Debug|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release|x64.ActiveCfg = Release|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release|x64.Build.0 = Release|x64 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release|x86.ActiveCfg = Release|Win32 + {B332DCA8-3599-4A99-917A-82261BDC27AC}.Release|x86.Build.0 = Release|Win32 {59089B0C-AAB4-4532-B294-44DEAE7178B7}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 {59089B0C-AAB4-4532-B294-44DEAE7178B7}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 {59089B0C-AAB4-4532-B294-44DEAE7178B7}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 @@ -2544,6 +2560,7 @@ Global {A643BB06-735D-47F3-BFE7-B6D3C36F7097} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {F026020F-7B00-40C8-91C3-5DE85EC45A95} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {B332DCA8-3599-4A99-917A-82261BDC27AC} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {59089B0C-AAB4-4532-B294-44DEAE7178B7} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {C298876B-6C12-4EA4-903B-33450BCD9884} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} {83F586FA-C801-4979-ACCA-006BD628CC88} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} From 6435ef43f5df40cc96139cd64593d16895d75de6 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 21:22:49 +0200 Subject: [PATCH 245/745] REVIEWED: `LoadGLTF()`, JOINTS loading #3836 Support all JOINT formats supported by glTF specs --- src/rmodels.c | 64 ++++++++++++++++++++++----------------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 804b230f3..6266de605 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5277,51 +5277,43 @@ static Model LoadGLTF(const char *fileName) { // NOTE: JOINTS_1 + WEIGHT_1 will be used for +4 joints influencing a vertex -> Not supported by raylib - if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_joints) // JOINTS_n (vec4: 4 bones max per vertex / u8, u16) + if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_joints) // JOINTS_n (vec4: 4 bones max per vertex / u8, u16) { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->component_type == cgltf_component_type_r_8u) && (attribute->type == cgltf_type_vec4)) + // NOTE: JOINTS_n can only be vec4 and u8/u16 + // SPECS: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview + + // WARNING: raylib only supports model.meshes[].boneIds as u8 (unsigned char), + // if data is provided in any other format, it is converted to supported format but + // it could imply data loss (a warning message is issued in that case) + + if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_8u)) { - // Handle 8-bit unsigned byte, vec4 format + // Load attribute: vec4, u8 (unsigned char) model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].boneIds) } - else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec2)) + else if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_16u)) { - // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Load attribute: vec4, u16 (unsigned short) + unsigned short *boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 4, unsigned short, boneIds); - // Handle 16-bit unsigned short, vec2 format - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(unsigned short)); - unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; - LOAD_ATTRIBUTE(attribute, 2, unsigned short, ptr) - } - else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) - { - // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Convert and update boneIds to required data format + bool boneIdOverflowWarning = false; + model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); + for (int b = 0; b < model.meshes[meshIndex].vertexCount*4; b++) + { + if ((boneIds[b] > 255) && !boneIdOverflowWarning) + { + TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format (u16) overflow", fileName); + boneIdOverflowWarning = true; + } - // Handle 16-bit unsigned short, vec4 format - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); - unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; - LOAD_ATTRIBUTE(attribute, 4, unsigned short, ptr) - } - else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) - { - // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - - // Handle 32-bit unsigned int, vec4 format - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned int)); - unsigned int *ptr = (unsigned int *)model.meshes[meshIndex].boneIds; - LOAD_ATTRIBUTE(attribute, 4, unsigned int, ptr) - } - else if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec2)) - { - // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! - - // Handle 32-bit float, vec2 format - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(float)); - float *ptr = (float *)model.meshes[meshIndex].boneIds; - LOAD_ATTRIBUTE(attribute, 2, float, ptr) + // Despite the possible overflow, we convert data to unsigned char + model.meshes[meshIndex].boneIds[b] = (unsigned char)boneIds[b]; + } } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); } @@ -5329,7 +5321,7 @@ static Model LoadGLTF(const char *fileName) { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec4)) + if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_32f)) { // Init raylib mesh bone weight to copy glTF attribute data model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); From e543b78bb78266e95c88b17e94a9ede55cc7be6a Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 22:01:59 +0200 Subject: [PATCH 246/745] REVIEWED: `LoadGLTF()`, support additional vertex attributes data formats #3890 --- src/rmodels.c | 279 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 212 insertions(+), 67 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 6266de605..207fb1afe 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5064,13 +5064,13 @@ static Model LoadGLTF(const char *fileName) for (unsigned int j = 0; j < data->meshes[i].primitives[p].attributes_count; j++) { // Check the different attributes for every primitive - if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_position) // POSITION + if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_position) // POSITION, vec3, float { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; // WARNING: SPECS: POSITION accessor MUST have its min and max properties defined - if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec3)) + if ((attribute->type == cgltf_type_vec3) && (attribute->component_type == cgltf_component_type_r_32f)) { // Init raylib mesh vertices to copy glTF attribute data model.meshes[meshIndex].vertexCount = (int)attribute->count; @@ -5081,11 +5081,11 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Vertices attribute data format not supported, use vec3 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_normal) // NORMAL + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_normal) // NORMAL, vec3, float { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec3)) + if ((attribute->type == cgltf_type_vec3) && (attribute->component_type == cgltf_component_type_r_32f)) { // Init raylib mesh normals to copy glTF attribute data model.meshes[meshIndex].normals = RL_MALLOC(attribute->count*3*sizeof(float)); @@ -5095,11 +5095,11 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Normal attribute data format not supported, use vec3 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_tangent) // TANGENT + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_tangent) // TANGENT, vec3, float { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec4)) + if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_32f)) { // Init raylib mesh tangent to copy glTF attribute data model.meshes[meshIndex].tangents = RL_MALLOC(attribute->count*4*sizeof(float)); @@ -5109,65 +5109,167 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Tangent attribute data format not supported, use vec4 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_0 + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_0, vec2, float/u8n/u16n { // TODO: Support additional texture coordinates: TEXCOORD_1 -> mesh.texcoords2 cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec2)) + if (attribute->type == cgltf_type_vec2) { - // Init raylib mesh texcoords to copy glTF attribute data - model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + if (attribute->component_type == cgltf_component_type_r_32f) // vec2, float + { + // Init raylib mesh texcoords to copy glTF attribute data + model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); - // Load 3 components of float data type into mesh.texcoords - LOAD_ATTRIBUTE(attribute, 2, float, model.meshes[meshIndex].texcoords) + // Load 3 components of float data type into mesh.texcoords + LOAD_ATTRIBUTE(attribute, 2, float, model.meshes[meshIndex].texcoords) + } + else if (attribute->component_type == cgltf_component_type_r_8u) // vec2, u8n + { + // Init raylib mesh texcoords to copy glTF attribute data + model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned char)); + LOAD_ATTRIBUTE(attribute, 2, unsigned char, temp); + + // Convert data to raylib texcoord data type (float) + for (unsigned int t = 0; t < attribute->count*2; t++) model.meshes[meshIndex].texcoords[t] = (float)temp[t]/255.0f; + + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_16u) // vec2, u16n + { + // Init raylib mesh texcoords to copy glTF attribute data + model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 2, unsigned short, temp); + + // Convert data to raylib texcoord data type (float) + for (unsigned int t = 0; t < attribute->count*2; t++) model.meshes[meshIndex].texcoords[t] = (float)temp[t]/65535.0f; + + RL_FREE(temp); + } + else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_0 + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_0, vec3/vec4, float/u8n/u16n { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; // WARNING: SPECS: All components of each COLOR_n accessor element MUST be clamped to [0.0, 1.0] range - if ((attribute->component_type == cgltf_component_type_r_8u) && (attribute->type == cgltf_type_vec4)) + if (attribute->type == cgltf_type_vec3) // RGB { - // Init raylib mesh color to copy glTF attribute data - model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + if (attribute->component_type == cgltf_component_type_r_8u) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); - // Load 4 components of unsigned char data type into mesh.colors - LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].colors) + // Load data into a temp buffer to be converted to raylib data type + unsigned char *temp = RL_MALLOC(attribute->count*3*sizeof(unsigned char)); + LOAD_ATTRIBUTE(attribute, 3, unsigned char, temp); + + // Convert data to raylib color data type (4 bytes) + for (unsigned int c = 0, k = 0; c < (attribute->count*4 - 3); c += 4, k += 3) + { + model.meshes[meshIndex].colors[c] = temp[k]; + model.meshes[meshIndex].colors[c + 1] = temp[k + 1]; + model.meshes[meshIndex].colors[c + 2] = temp[k + 2]; + model.meshes[meshIndex].colors[c + 3] = 255; + } + + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_16u) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_MALLOC(attribute->count*3*sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 3, unsigned short, temp); + + // Convert data to raylib color data type (4 bytes) + for (unsigned int c = 0, k = 0; c < (attribute->count*4 - 3); c += 4, k += 3) + { + model.meshes[meshIndex].colors[c] = (unsigned char)(((float)temp[k]/65535.0f)*255.0f); + model.meshes[meshIndex].colors[c + 1] = (unsigned char)(((float)temp[k + 1]/65535.0f)*255.0f); + model.meshes[meshIndex].colors[c + 2] = (unsigned char)(((float)temp[k + 2]/65535.0f)*255.0f); + model.meshes[meshIndex].colors[c + 3] = 255; + } + + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_32f) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + + // Load data into a temp buffer to be converted to raylib data type + float *temp = RL_MALLOC(attribute->count*3*sizeof(float)); + LOAD_ATTRIBUTE(attribute, 3, float, temp); + + // Convert data to raylib color data type (4 bytes) + for (unsigned int c = 0, k = 0; c < (attribute->count*4 - 3); c += 4, k += 3) + { + model.meshes[meshIndex].colors[c] = (unsigned char)(temp[k]*255.0f); + model.meshes[meshIndex].colors[c + 1] = (unsigned char)(temp[k + 1]*255.0f); + model.meshes[meshIndex].colors[c + 2] = (unsigned char)(temp[k + 2]*255.0f); + model.meshes[meshIndex].colors[c + 3] = 255; + } + + RL_FREE(temp); + } + else TRACELOG(LOG_WARNING, "MODEL: [%s] Color attribute data format not supported", fileName); } - else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) + else if (attribute->type == cgltf_type_vec4) // RGBA { - // Init raylib mesh color to copy glTF attribute data - model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + if (attribute->component_type == cgltf_component_type_r_8u) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); - // Load data into a temp buffer to be converted to raylib data type - unsigned short *temp = RL_MALLOC(attribute->count*4*sizeof(unsigned short)); - LOAD_ATTRIBUTE(attribute, 4, unsigned short, temp); + // Load 4 components of unsigned char data type into mesh.colors + LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].colors) + } + else if (attribute->component_type == cgltf_component_type_r_16u) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); - // Convert data to raylib color data type (4 bytes) - for (unsigned int c = 0; c < attribute->count*4; c++) model.meshes[meshIndex].colors[c] = (unsigned char)(((float)temp[c]/65535.0f)*255.0f); + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_MALLOC(attribute->count*4*sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 4, unsigned short, temp); - RL_FREE(temp); - } - else if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec4)) - { - // Init raylib mesh color to copy glTF attribute data - model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + // Convert data to raylib color data type (4 bytes) + for (unsigned int c = 0; c < attribute->count*4; c++) model.meshes[meshIndex].colors[c] = (unsigned char)(((float)temp[c]/65535.0f)*255.0f); - // Load data into a temp buffer to be converted to raylib data type - float *temp = RL_MALLOC(attribute->count*4*sizeof(float)); - LOAD_ATTRIBUTE(attribute, 4, float, temp); + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_32f) + { + // Init raylib mesh color to copy glTF attribute data + model.meshes[meshIndex].colors = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); - // Convert data to raylib color data type (4 bytes), we expect the color data normalized - for (unsigned int c = 0; c < attribute->count*4; c++) model.meshes[meshIndex].colors[c] = (unsigned char)(temp[c]*255.0f); + // Load data into a temp buffer to be converted to raylib data type + float *temp = RL_MALLOC(attribute->count*4*sizeof(float)); + LOAD_ATTRIBUTE(attribute, 4, float, temp); - RL_FREE(temp); + // Convert data to raylib color data type (4 bytes), we expect the color data normalized + for (unsigned int c = 0; c < attribute->count*4; c++) model.meshes[meshIndex].colors[c] = (unsigned char)(temp[c]*255.0f); + + RL_FREE(temp); + } + else TRACELOG(LOG_WARNING, "MODEL: [%s] Color attribute data format not supported", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Color attribute data format not supported", fileName); + + } // NOTE: Attributes related to animations are processed separately @@ -5288,49 +5390,92 @@ static Model LoadGLTF(const char *fileName) // if data is provided in any other format, it is converted to supported format but // it could imply data loss (a warning message is issued in that case) - if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_8u)) + if (attribute->type == cgltf_type_vec4) { - // Load attribute: vec4, u8 (unsigned char) - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); - LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].boneIds) - } - else if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_16u)) - { - // Load attribute: vec4, u16 (unsigned short) - unsigned short *boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); - LOAD_ATTRIBUTE(attribute, 4, unsigned short, boneIds); - - // Convert and update boneIds to required data format - bool boneIdOverflowWarning = false; - model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); - for (int b = 0; b < model.meshes[meshIndex].vertexCount*4; b++) + if (attribute->component_type == cgltf_component_type_r_8u) { - if ((boneIds[b] > 255) && !boneIdOverflowWarning) + // Init raylib mesh boneIds to copy glTF attribute data + model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); + + // Load attribute: vec4, u8 (unsigned char) + LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].boneIds) + } + else if (attribute->component_type == cgltf_component_type_r_16u) + { + // Init raylib mesh boneIds to copy glTF attribute data + model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); + + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 4, unsigned short, temp); + + // Convert data to raylib color data type (4 bytes) + bool boneIdOverflowWarning = false; + for (int b = 0; b < model.meshes[meshIndex].vertexCount*4; b++) { - TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format (u16) overflow", fileName); - boneIdOverflowWarning = true; + if ((temp[b] > 255) && !boneIdOverflowWarning) + { + TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format (u16) overflow", fileName); + boneIdOverflowWarning = true; + } + + // Despite the possible overflow, we convert data to unsigned char + model.meshes[meshIndex].boneIds[b] = (unsigned char)temp[b]; } - // Despite the possible overflow, we convert data to unsigned char - model.meshes[meshIndex].boneIds[b] = (unsigned char)boneIds[b]; + RL_FREE(temp); } + else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_weights) // WEIGHTS_n (vec4 / u8, u16, f32) + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_weights) // WEIGHTS_n (vec4, u8n/u16n/f32) { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; - if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_32f)) + if (attribute->type == cgltf_type_vec4) { - // Init raylib mesh bone weight to copy glTF attribute data - model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); + // TODO: Support component types: u8, u16? + if (attribute->component_type == cgltf_component_type_r_8u) + { + // Init raylib mesh bone weight to copy glTF attribute data + model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); - // Load 4 components of float data type into mesh.boneWeights - // for cgltf_attribute_type_weights we have: - // - data.meshes[0] (256 vertices) - // - 256 values, provided as cgltf_type_vec4 of float (4 byte per joint, stride 16) - LOAD_ATTRIBUTE(attribute, 4, float, model.meshes[meshIndex].boneWeights) + // Load data into a temp buffer to be converted to raylib data type + unsigned char *temp = RL_MALLOC(attribute->count*4*sizeof(unsigned char)); + LOAD_ATTRIBUTE(attribute, 4, unsigned char, temp); + + // Convert data to raylib bone weight data type (4 bytes) + for (unsigned int b = 0; b < attribute->count*4; b++) model.meshes[meshIndex].boneWeights[b] = (float)temp[b]/255.0f; + + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_16u) + { + // Init raylib mesh bone weight to copy glTF attribute data + model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); + + // Load data into a temp buffer to be converted to raylib data type + unsigned short *temp = RL_MALLOC(attribute->count*4*sizeof(unsigned short)); + LOAD_ATTRIBUTE(attribute, 4, unsigned short, temp); + + // Convert data to raylib bone weight data type + for (unsigned int b = 0; b < attribute->count*4; b++) model.meshes[meshIndex].boneWeights[b] = (float)temp[b]/65535.0f; + + RL_FREE(temp); + } + else if (attribute->component_type == cgltf_component_type_r_32f) + { + // Init raylib mesh bone weight to copy glTF attribute data + model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); + + // Load 4 components of float data type into mesh.boneWeights + // for cgltf_attribute_type_weights we have: + // - data.meshes[0] (256 vertices) + // - 256 values, provided as cgltf_type_vec4 of float (4 byte per joint, stride 16) + LOAD_ATTRIBUTE(attribute, 4, float, model.meshes[meshIndex].boneWeights) + } + else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint weight attribute data format not supported, use vec4 float", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint weight attribute data format not supported, use vec4 float", fileName); } From 5cfcf13d4bc4723055f1d6b329148abb92b6b383 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 23:23:30 +0200 Subject: [PATCH 247/745] REVIEWED: `LoadGLTF()`, support 2nd texture coordinates loading --- src/rmodels.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 207fb1afe..cfe7f84c7 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5109,9 +5109,18 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Tangent attribute data format not supported, use vec4 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_0, vec2, float/u8n/u16n + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_n, vec2, float/u8n/u16n { - // TODO: Support additional texture coordinates: TEXCOORD_1 -> mesh.texcoords2 + // Support up to 2 texture coordinates attributes + float *texcoordPtr = NULL; + int index = data->meshes[i].primitives[p].attributes[j].index; + if (index == 0) texcoordPtr = model.meshes[meshIndex].texcoords; + else if (index == 1) texcoordPtr = model.meshes[meshIndex].texcoords2; + else + { + TRACELOG(LOG_WARNING, "MODEL: [%s] No more than 2 texture coordinates attributes supported", fileName); + continue; + } cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; @@ -5120,44 +5129,44 @@ static Model LoadGLTF(const char *fileName) if (attribute->component_type == cgltf_component_type_r_32f) // vec2, float { // Init raylib mesh texcoords to copy glTF attribute data - model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); // Load 3 components of float data type into mesh.texcoords - LOAD_ATTRIBUTE(attribute, 2, float, model.meshes[meshIndex].texcoords) + LOAD_ATTRIBUTE(attribute, 2, float, texcoordPtr) } else if (attribute->component_type == cgltf_component_type_r_8u) // vec2, u8n { // Init raylib mesh texcoords to copy glTF attribute data - model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); // Load data into a temp buffer to be converted to raylib data type unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned char)); LOAD_ATTRIBUTE(attribute, 2, unsigned char, temp); // Convert data to raylib texcoord data type (float) - for (unsigned int t = 0; t < attribute->count*2; t++) model.meshes[meshIndex].texcoords[t] = (float)temp[t]/255.0f; + for (unsigned int t = 0; t < attribute->count*2; t++) texcoordPtr[t] = (float)temp[t]/255.0f; RL_FREE(temp); } else if (attribute->component_type == cgltf_component_type_r_16u) // vec2, u16n { // Init raylib mesh texcoords to copy glTF attribute data - model.meshes[meshIndex].texcoords = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); // Load data into a temp buffer to be converted to raylib data type unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned short)); LOAD_ATTRIBUTE(attribute, 2, unsigned short, temp); // Convert data to raylib texcoord data type (float) - for (unsigned int t = 0; t < attribute->count*2; t++) model.meshes[meshIndex].texcoords[t] = (float)temp[t]/65535.0f; + for (unsigned int t = 0; t < attribute->count*2; t++) texcoordPtr[t] = (float)temp[t]/65535.0f; RL_FREE(temp); } - else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); + else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_0, vec3/vec4, float/u8n/u16n + else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_n, vec3/vec4, float/u8n/u16n { cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; From f795941521d038840461e96779aaa097e8a2407a Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 23:37:31 +0200 Subject: [PATCH 248/745] REVIEWED: `rlSetVertexAttribute()`, define last parameter as offset #3800 --- src/rlgl.h | 6 +++--- src/rmodels.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index c5c51319a..a645aa038 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -696,7 +696,7 @@ RLAPI void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dat RLAPI void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset); // Update vertex buffer elements data on GPU buffer RLAPI void rlUnloadVertexArray(unsigned int vaoId); // Unload vertex array (vao) RLAPI void rlUnloadVertexBuffer(unsigned int vboId); // Unload vertex buffer object -RLAPI void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, const void *pointer); // Set vertex attribute data configuration +RLAPI void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset); // Set vertex attribute data configuration RLAPI void rlSetVertexAttributeDivisor(unsigned int index, int divisor); // Set vertex attribute data divisor RLAPI void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count); // Set vertex attribute default value, when attribute to provided RLAPI void rlDrawVertexArray(int offset, int count); // Draw vertex array (currently active vao) @@ -3824,14 +3824,14 @@ unsigned int rlLoadVertexArray(void) } // Set vertex attribute -void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, const void *pointer) +void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // NOTE: Data type could be: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT // Additional types (depends on OpenGL version or extensions): // - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, // - GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_10F_11F_11F_REV - glVertexAttribPointer(index, compSize, type, normalized, stride, pointer); + glVertexAttribPointer(index, compSize, type, normalized, stride, (void *)offset); #endif } diff --git a/src/rmodels.c b/src/rmodels.c index cfe7f84c7..e669a2f0c 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1603,7 +1603,7 @@ void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, i for (unsigned int i = 0; i < 4; i++) { rlEnableVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i); - rlSetVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 4, RL_FLOAT, 0, sizeof(Matrix), (void *)(i*sizeof(Vector4))); + rlSetVertexAttribute(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 4, RL_FLOAT, 0, sizeof(Matrix), i*sizeof(Vector4)); rlSetVertexAttributeDivisor(material.shader.locs[SHADER_LOC_MATRIX_MODEL] + i, 1); } From 8f24d86c1f1ca282672ba467c17abf74415c4500 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 23:44:07 +0200 Subject: [PATCH 249/745] REVIEWED: `LoadImageRaw()` #3926 --- src/rtextures.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rtextures.c b/src/rtextures.c index 35757ba18..0899accda 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -316,7 +316,8 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int unsigned char *dataPtr = fileData; unsigned int size = GetPixelDataSize(width, height, format); - if (headerSize > 0) dataPtr += headerSize; + // Offset file data to expected raw image by header size + if ((headerSize > 0) && ((headerSize + size) <= dataSize)) dataPtr += headerSize; image.data = RL_MALLOC(size); // Allocate required memory in bytes memcpy(image.data, dataPtr, size); // Copy required data to image From cf47fbb20bbaacb986fcfe05f0c0e6c6d89c5690 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Apr 2024 23:58:22 +0200 Subject: [PATCH 250/745] REVIEWED: `LoadImageRaw()` #3926 --- src/rtextures.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 0899accda..90c0de21c 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -316,15 +316,18 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int unsigned char *dataPtr = fileData; unsigned int size = GetPixelDataSize(width, height, format); - // Offset file data to expected raw image by header size - if ((headerSize > 0) && ((headerSize + size) <= dataSize)) dataPtr += headerSize; + if (size <= dataSize) // Security check + { + // Offset file data to expected raw image by header size + if ((headerSize > 0) && ((headerSize + size) <= dataSize)) dataPtr += headerSize; - image.data = RL_MALLOC(size); // Allocate required memory in bytes - memcpy(image.data, dataPtr, size); // Copy required data to image - image.width = width; - image.height = height; - image.mipmaps = 1; - image.format = format; + image.data = RL_MALLOC(size); // Allocate required memory in bytes + memcpy(image.data, dataPtr, size); // Copy required data to image + image.width = width; + image.height = height; + image.mipmaps = 1; + image.format = format; + } UnloadFileData(fileData); } From 3caa424ad4656b8c8ef8885a234a1a60ade80159 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 21 Apr 2024 12:29:09 +0200 Subject: [PATCH 251/745] Review formatting --- examples/models/models_cubicmap.c | 8 +-- src/platforms/rcore_desktop.c | 4 +- src/raudio.c | 14 ++-- src/rcore.c | 20 +++--- src/rmodels.c | 112 +++++++++++++++--------------- src/rshapes.c | 6 +- src/rtextures.c | 78 ++++++++++----------- 7 files changed, 122 insertions(+), 120 deletions(-) diff --git a/examples/models/models_cubicmap.c b/examples/models/models_cubicmap.c index 8e1c1fa1a..2c6267ede 100644 --- a/examples/models/models_cubicmap.c +++ b/examples/models/models_cubicmap.c @@ -46,7 +46,7 @@ int main(void) Vector3 mapPosition = { -16.0f, 0.0f, -8.0f }; // Set model position UnloadImage(image); // Unload cubesmap image from RAM, already uploaded to VRAM - + bool pause = false; // Pause camera orbital rotation (and zoom) SetTargetFPS(60); // Set our game to run at 60 frames-per-second @@ -58,7 +58,7 @@ int main(void) // Update //---------------------------------------------------------------------------------- if (IsKeyPressed(KEY_P)) pause = !pause; - + if (!pause) UpdateCamera(&camera, CAMERA_ORBITAL); //---------------------------------------------------------------------------------- @@ -76,10 +76,10 @@ int main(void) DrawTextureEx(cubicmap, (Vector2){ screenWidth - cubicmap.width*4.0f - 20, 20.0f }, 0.0f, 4.0f, WHITE); DrawRectangleLines(screenWidth - cubicmap.width*4 - 20, 20, cubicmap.width*4, cubicmap.height*4, GREEN); - + DrawText("cubicmap image used to", 658, 90, 10, GRAY); DrawText("generate map 3d model", 658, 104, 10, GRAY); - + DrawFPS(10, 10); EndDrawing(); diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 211a6cbb3..de289ca0a 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1377,7 +1377,7 @@ int InitPlatform(void) if (CORE.Window.fullscreen) { - // remember center for switchinging from fullscreen to window + // Remember center for switchinging from fullscreen to window if ((CORE.Window.screen.height == CORE.Window.display.height) && (CORE.Window.screen.width == CORE.Window.display.width)) { // If screen width/height equal to the display, we can't calculate the window pos for toggling full-screened/windowed. @@ -1515,7 +1515,7 @@ int InitPlatform(void) // If graphic device is no properly initialized, we end program if (!CORE.Window.ready) { TRACELOG(LOG_FATAL, "PLATFORM: Failed to initialize graphic device"); return -1; } - else + else { // Try to center window on screen but avoiding window-bar outside of screen int monitorX = 0; diff --git a/src/raudio.c b/src/raudio.c index b3874dbe1..032cfadeb 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -512,7 +512,7 @@ void InitAudioDevice(void) } TRACELOG(LOG_INFO, "AUDIO: Device initialized successfully"); - TRACELOG(LOG_INFO, " > Backend: miniaudio / %s", ma_get_backend_name(AUDIO.System.context.backend)); + TRACELOG(LOG_INFO, " > Backend: miniaudio | %s", ma_get_backend_name(AUDIO.System.context.backend)); TRACELOG(LOG_INFO, " > Format: %s -> %s", ma_get_format_name(AUDIO.System.device.playback.format), ma_get_format_name(AUDIO.System.device.playback.internalFormat)); TRACELOG(LOG_INFO, " > Channels: %d -> %d", AUDIO.System.device.playback.channels, AUDIO.System.device.playback.internalChannels); TRACELOG(LOG_INFO, " > Sample rate: %d -> %d", AUDIO.System.device.sampleRate, AUDIO.System.device.playback.internalSampleRate); @@ -896,13 +896,13 @@ Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int bool IsWaveReady(Wave wave) { bool result = false; - + if ((wave.data != NULL) && // Validate wave data available (wave.frameCount > 0) && // Validate frame count (wave.sampleRate > 0) && // Validate sample rate is supported (wave.sampleSize > 0) && // Validate sample size is supported (wave.channels > 0)) result = true; // Validate number of channels supported - + return result; } @@ -997,13 +997,13 @@ Sound LoadSoundAlias(Sound source) bool IsSoundReady(Sound sound) { bool result = false; - + if ((sound.frameCount > 0) && // Validate frame count (sound.stream.buffer != NULL) && // Validate stream buffer (sound.stream.sampleRate > 0) && // Validate sample rate is supported (sound.stream.sampleSize > 0) && // Validate sample size is supported (sound.stream.channels > 0)) result = true; // Validate number of channels supported - + return result; } @@ -1196,9 +1196,9 @@ void StopSound(Sound sound) bool IsSoundPlaying(Sound sound) { bool result = false; - + if (IsAudioBufferPlaying(sound.stream.buffer)) result = true; - + return result; } diff --git a/src/rcore.c b/src/rcore.c index d2e4a35e7..a68067fe8 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1420,7 +1420,7 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) Ray GetScreenToWorldRay(Vector2 position, Camera camera) { Ray ray = GetScreenToWorldRayEx(position, camera, GetScreenWidth(), GetScreenHeight()); - + return ray; } @@ -1463,8 +1463,8 @@ Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height Vector3 farPoint = Vector3Unproject((Vector3){ deviceCoords.x, deviceCoords.y, 1.0f }, matProj, matView); // Unproject the mouse cursor in the near plane - // We need this as the source position because orthographic projects, - // compared to perspective doesn't have a convergence point, + // We need this as the source position because orthographic projects, + // compared to perspective doesn't have a convergence point, // meaning that the "eye" of the camera is more like a plane than a point Vector3 cameraPlanePointerPos = Vector3Unproject((Vector3){ deviceCoords.x, deviceCoords.y, -1.0f }, matProj, matView); @@ -1484,7 +1484,7 @@ Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height Matrix GetCameraMatrix(Camera camera) { Matrix mat = MatrixLookAt(camera.position, camera.target, camera.up); - + return mat; } @@ -1951,9 +1951,9 @@ const char *GetFileExtension(const char *fileName) static const char *strprbrk(const char *s, const char *charset) { const char *latestMatch = NULL; - + for (; s = strpbrk(s, charset), s != NULL; latestMatch = s++) { } - + return latestMatch; } @@ -1961,9 +1961,9 @@ static const char *strprbrk(const char *s, const char *charset) const char *GetFileName(const char *filePath) { const char *fileName = NULL; - + if (filePath != NULL) fileName = strprbrk(filePath, "\\/"); - + if (fileName != NULL) return filePath; return fileName + 1; @@ -2244,9 +2244,9 @@ bool IsPathFile(const char *path) bool IsFileDropped(void) { bool result = false; - + if (CORE.Window.dropFileCount > 0) result = true; - + return result; } diff --git a/src/rmodels.c b/src/rmodels.c index e669a2f0c..c50c878bf 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -706,7 +706,7 @@ void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int Vector3 capCenter = endPos; float baseSliceAngle = (2.0f*PI)/slices; - float baseRingAngle = PI * 0.5f / rings; + float baseRingAngle = PI*0.5f/rings; rlBegin(RL_TRIANGLES); rlColor4ub(color.r, color.g, color.b, color.a); @@ -725,34 +725,34 @@ void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int // as we iterate through the rings they must get smaller by the cos(angle(i)) // compute the four vertices - float ringSin1 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 0 )); - float ringCos1 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 0 )); + float ringSin1 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 0 )); + float ringCos1 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 0 )); Vector3 w1 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 0 ))*b0.x + ringSin1*b1.x + ringCos1*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 0 ))*b0.y + ringSin1*b1.y + ringCos1*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 0 ))*b0.z + ringSin1*b1.z + ringCos1*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 0 ))*b0.x + ringSin1*b1.x + ringCos1*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 0 ))*b0.y + ringSin1*b1.y + ringCos1*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 0 ))*b0.z + ringSin1*b1.z + ringCos1*b2.z)*radius }; - float ringSin2 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 0 )); - float ringCos2 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 0 )); + float ringSin2 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 0 )); + float ringCos2 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 0 )); Vector3 w2 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 0 ))*b0.x + ringSin2*b1.x + ringCos2*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 0 ))*b0.y + ringSin2*b1.y + ringCos2*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 0 ))*b0.z + ringSin2*b1.z + ringCos2*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 0 ))*b0.x + ringSin2*b1.x + ringCos2*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 0 ))*b0.y + ringSin2*b1.y + ringCos2*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 0 ))*b0.z + ringSin2*b1.z + ringCos2*b2.z)*radius }; - float ringSin3 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 1 )); - float ringCos3 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 1 )); + float ringSin3 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 1 )); + float ringCos3 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 1 )); Vector3 w3 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 1 ))*b0.x + ringSin3*b1.x + ringCos3*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 1 ))*b0.y + ringSin3*b1.y + ringCos3*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 1 ))*b0.z + ringSin3*b1.z + ringCos3*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 1 ))*b0.x + ringSin3*b1.x + ringCos3*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 1 ))*b0.y + ringSin3*b1.y + ringCos3*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 1 ))*b0.z + ringSin3*b1.z + ringCos3*b2.z)*radius }; - float ringSin4 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 1 )); - float ringCos4 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 1 )); + float ringSin4 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 1 )); + float ringCos4 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 1 )); Vector3 w4 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 1 ))*b0.x + ringSin4*b1.x + ringCos4*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 1 ))*b0.y + ringSin4*b1.y + ringCos4*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 1 ))*b0.z + ringSin4*b1.z + ringCos4*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 1 ))*b0.x + ringSin4*b1.x + ringCos4*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 1 ))*b0.y + ringSin4*b1.y + ringCos4*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 1 ))*b0.z + ringSin4*b1.z + ringCos4*b2.z)*radius }; // Make sure cap triangle normals are facing outwards @@ -849,7 +849,7 @@ void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices Vector3 capCenter = endPos; float baseSliceAngle = (2.0f*PI)/slices; - float baseRingAngle = PI * 0.5f / rings; + float baseRingAngle = PI*0.5f/rings; rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); @@ -868,34 +868,34 @@ void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices // as we iterate through the rings they must get smaller by the cos(angle(i)) // compute the four vertices - float ringSin1 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 0 )); - float ringCos1 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 0 )); + float ringSin1 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 0 )); + float ringCos1 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 0 )); Vector3 w1 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 0 ))*b0.x + ringSin1*b1.x + ringCos1*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 0 ))*b0.y + ringSin1*b1.y + ringCos1*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 0 ))*b0.z + ringSin1*b1.z + ringCos1*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 0 ))*b0.x + ringSin1*b1.x + ringCos1*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 0 ))*b0.y + ringSin1*b1.y + ringCos1*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 0 ))*b0.z + ringSin1*b1.z + ringCos1*b2.z)*radius }; - float ringSin2 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 0 )); - float ringCos2 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 0 )); + float ringSin2 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 0 )); + float ringCos2 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 0 )); Vector3 w2 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 0 ))*b0.x + ringSin2*b1.x + ringCos2*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 0 ))*b0.y + ringSin2*b1.y + ringCos2*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 0 ))*b0.z + ringSin2*b1.z + ringCos2*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 0 ))*b0.x + ringSin2*b1.x + ringCos2*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 0 ))*b0.y + ringSin2*b1.y + ringCos2*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 0 ))*b0.z + ringSin2*b1.z + ringCos2*b2.z)*radius }; - float ringSin3 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 1 )); - float ringCos3 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle * ( i + 1 )); + float ringSin3 = sinf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 1 )); + float ringCos3 = cosf(baseSliceAngle*(j + 0))*cosf(baseRingAngle*( i + 1 )); Vector3 w3 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 1 ))*b0.x + ringSin3*b1.x + ringCos3*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 1 ))*b0.y + ringSin3*b1.y + ringCos3*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 1 ))*b0.z + ringSin3*b1.z + ringCos3*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 1 ))*b0.x + ringSin3*b1.x + ringCos3*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 1 ))*b0.y + ringSin3*b1.y + ringCos3*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 1 ))*b0.z + ringSin3*b1.z + ringCos3*b2.z)*radius }; - float ringSin4 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 1 )); - float ringCos4 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle * ( i + 1 )); + float ringSin4 = sinf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 1 )); + float ringCos4 = cosf(baseSliceAngle*(j + 1))*cosf(baseRingAngle*( i + 1 )); Vector3 w4 = (Vector3){ - capCenter.x + (sinf(baseRingAngle * ( i + 1 ))*b0.x + ringSin4*b1.x + ringCos4*b2.x) * radius, - capCenter.y + (sinf(baseRingAngle * ( i + 1 ))*b0.y + ringSin4*b1.y + ringCos4*b2.y) * radius, - capCenter.z + (sinf(baseRingAngle * ( i + 1 ))*b0.z + ringSin4*b1.z + ringCos4*b2.z) * radius + capCenter.x + (sinf(baseRingAngle*( i + 1 ))*b0.x + ringSin4*b1.x + ringCos4*b2.x)*radius, + capCenter.y + (sinf(baseRingAngle*( i + 1 ))*b0.y + ringSin4*b1.y + ringCos4*b2.y)*radius, + capCenter.z + (sinf(baseRingAngle*( i + 1 ))*b0.z + ringSin4*b1.z + ringCos4*b2.z)*radius }; rlVertex3f(w1.x, w1.y, w1.z); @@ -1105,7 +1105,7 @@ Model LoadModelFromMesh(Mesh mesh) bool IsModelReady(Model model) { bool result = false; - + if ((model.meshes != NULL) && // Validate model contains some mesh (model.materials != NULL) && // Validate model contains some material (at least default one) (model.meshMaterial != NULL) && // Validate mesh-material linkage @@ -1113,7 +1113,7 @@ bool IsModelReady(Model model) (model.materialCount > 0)) result = true; // Validate material count // NOTE: This is a very general model validation, many elements could be validated from a model... - + return result; } @@ -1966,18 +1966,18 @@ static void ProcessMaterialsOBJ(Material *materials, tinyobj_material_t *mats, i materials[m].maps[MATERIAL_MAP_DIFFUSE].texture = (Texture2D){ rlGetTextureIdDefault(), 1, 1, 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 }; if (mats[m].diffuse_texname != NULL) materials[m].maps[MATERIAL_MAP_DIFFUSE].texture = LoadTexture(mats[m].diffuse_texname); //char *diffuse_texname; // map_Kd - else materials[m].maps[MATERIAL_MAP_DIFFUSE].color = (Color){ (unsigned char)(mats[m].diffuse[0]*255.0f), (unsigned char)(mats[m].diffuse[1]*255.0f), (unsigned char)(mats[m].diffuse[2] * 255.0f), 255 }; //float diffuse[3]; + else materials[m].maps[MATERIAL_MAP_DIFFUSE].color = (Color){ (unsigned char)(mats[m].diffuse[0]*255.0f), (unsigned char)(mats[m].diffuse[1]*255.0f), (unsigned char)(mats[m].diffuse[2]*255.0f), 255 }; //float diffuse[3]; materials[m].maps[MATERIAL_MAP_DIFFUSE].value = 0.0f; if (mats[m].specular_texname != NULL) materials[m].maps[MATERIAL_MAP_SPECULAR].texture = LoadTexture(mats[m].specular_texname); //char *specular_texname; // map_Ks - materials[m].maps[MATERIAL_MAP_SPECULAR].color = (Color){ (unsigned char)(mats[m].specular[0]*255.0f), (unsigned char)(mats[m].specular[1]*255.0f), (unsigned char)(mats[m].specular[2] * 255.0f), 255 }; //float specular[3]; + materials[m].maps[MATERIAL_MAP_SPECULAR].color = (Color){ (unsigned char)(mats[m].specular[0]*255.0f), (unsigned char)(mats[m].specular[1]*255.0f), (unsigned char)(mats[m].specular[2]*255.0f), 255 }; //float specular[3]; materials[m].maps[MATERIAL_MAP_SPECULAR].value = 0.0f; if (mats[m].bump_texname != NULL) materials[m].maps[MATERIAL_MAP_NORMAL].texture = LoadTexture(mats[m].bump_texname); //char *bump_texname; // map_bump, bump materials[m].maps[MATERIAL_MAP_NORMAL].color = WHITE; materials[m].maps[MATERIAL_MAP_NORMAL].value = mats[m].shininess; - materials[m].maps[MATERIAL_MAP_EMISSION].color = (Color){ (unsigned char)(mats[m].emission[0]*255.0f), (unsigned char)(mats[m].emission[1]*255.0f), (unsigned char)(mats[m].emission[2] * 255.0f), 255 }; //float emission[3]; + materials[m].maps[MATERIAL_MAP_EMISSION].color = (Color){ (unsigned char)(mats[m].emission[0]*255.0f), (unsigned char)(mats[m].emission[1]*255.0f), (unsigned char)(mats[m].emission[2]*255.0f), 255 }; //float emission[3]; if (mats[m].displacement_texname != NULL) materials[m].maps[MATERIAL_MAP_HEIGHT].texture = LoadTexture(mats[m].displacement_texname); //char *displacement_texname; // disp } @@ -2038,10 +2038,10 @@ Material LoadMaterialDefault(void) bool IsMaterialReady(Material material) { bool result = false; - + if ((material.maps != NULL) && // Validate material contain some map (material.shader.id > 0)) result = true; // Validate material shader is valid - + return result; } @@ -2349,7 +2349,7 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) for (int face = 0; face < numFaces; face++) { // Retrieve lower left corner from face ind - int i = face + face / (resX - 1); + int i = face + face/(resX - 1); triangles[t++] = i + resX; triangles[t++] = i + 1; @@ -3038,7 +3038,7 @@ Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) Color *pixels = LoadImageColors(cubicmap); // NOTE: Max possible number of triangles numCubes*(12 triangles by cube) - int maxTriangles = cubicmap.width * cubicmap.height * 12; + int maxTriangles = cubicmap.width*cubicmap.height*12; int vCounter = 0; // Used to count vertices int tcCounter = 0; // Used to count texcoords @@ -3588,6 +3588,8 @@ void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector DrawBillboardPro(camera, texture, source, position, up, size, Vector2Zero(), 0.0f, tint); } +// Draw a billboard with additional parameters +// NOTE: Size defines the destination rectangle size, stretching the source texture as required void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint) { // NOTE: Billboard size will maintain source rectangle aspect ratio, size will represent billboard width @@ -3657,7 +3659,7 @@ void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector rlBegin(RL_QUADS); rlColor4ub(tint.r, tint.g, tint.b, tint.a); - if (sizeRatio.x * sizeRatio.y >= 0.0f) + if (sizeRatio.x*sizeRatio.y >= 0.0f) { // Bottom-left corner for texture and quad rlTexCoord2f((float)source.x/texture.width, (float)source.y/texture.height); @@ -5278,7 +5280,7 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Color attribute data format not supported", fileName); - + } // NOTE: Attributes related to animations are processed separately @@ -5405,7 +5407,7 @@ static Model LoadGLTF(const char *fileName) { // Init raylib mesh boneIds to copy glTF attribute data model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); - + // Load attribute: vec4, u8 (unsigned char) LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].boneIds) } @@ -6310,7 +6312,7 @@ static ModelAnimation *LoadModelAnimationsM3D(const char *fileName, int *animCou for (unsigned int a = 0; a < m3d->numaction; a++) { - animations[a].frameCount = m3d->action[a].durationmsec / M3D_ANIMDELAY; + animations[a].frameCount = m3d->action[a].durationmsec/M3D_ANIMDELAY; animations[a].boneCount = m3d->numbone + 1; animations[a].bones = RL_MALLOC((m3d->numbone + 1)*sizeof(BoneInfo)); animations[a].framePoses = RL_MALLOC(animations[a].frameCount*sizeof(Transform *)); diff --git a/src/rshapes.c b/src/rshapes.c index e2b55bc32..902019599 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2202,7 +2202,7 @@ bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount) for (int i = 0, j = pointCount - 1; i < pointCount; j = i++) { if ((points[i].y > point.y) != (points[j].y > point.y) && - (point.x < (points[j].x - points[i].x) * (point.y - points[i].y) / (points[j].y - points[i].y) + points[i].x)) + (point.x < (points[j].x - points[i].x)*(point.y - points[i].y)/(points[j].y - points[i].y) + points[i].x)) { inside = !inside; } @@ -2347,14 +2347,14 @@ Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2) static float EaseCubicInOut(float t, float b, float c, float d) { float result = 0.0f; - + if ((t /= 0.5f*d) < 1) result = 0.5f*c*t*t*t + b; else { t -= 2; result = 0.5f*c*(t*t*t + 2.0f) + b; } - + return result; } diff --git a/src/rtextures.c b/src/rtextures.c index 90c0de21c..0658a6807 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -293,7 +293,7 @@ Image LoadImage(const char *fileName) unsigned char *fileData = LoadFileData(fileName, &dataSize); // Loading image from memory data - if (fileData != NULL) + if (fileData != NULL) { image = LoadImageFromMemory(GetFileExtension(fileName), fileData, dataSize); @@ -318,7 +318,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int if (size <= dataSize) // Security check { - // Offset file data to expected raw image by header size + // Offset file data to expected raw image by header size if ((headerSize > 0) && ((headerSize + size) <= dataSize)) dataPtr += headerSize; image.data = RL_MALLOC(size); // Allocate required memory in bytes @@ -385,8 +385,8 @@ Image LoadImageSvg(const char *fileNameOrString, int width, int height) int offsetX = 0; int offsetY = 0; - if (scaleHeight > scaleWidth) offsetY = (height - svgImage->height*scale) / 2; - else offsetX = (width - svgImage->width*scale) / 2; + if (scaleHeight > scaleWidth) offsetY = (height - svgImage->height*scale)/2; + else offsetX = (width - svgImage->width*scale)/2; // Rasterize struct NSVGrasterizer *rast = nsvgCreateRasterizer(); @@ -464,7 +464,7 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat { Image image = { 0 }; int frameCount = 0; - + // Security check for input data if ((fileType == NULL) || (fileData == NULL) || (dataSize == 0)) return image; @@ -501,7 +501,7 @@ Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileDat Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) { Image image = { 0 }; - + // Security check for input data if ((fileType == NULL) || (fileData == NULL) || (dataSize == 0)) return image; @@ -710,13 +710,13 @@ Image LoadImageFromScreen(void) bool IsImageReady(Image image) { bool result = false; - + if ((image.data != NULL) && // Validate pixel data available (image.width > 0) && (image.height > 0) && // Validate image size (image.format > 0) && // Validate image format (image.mipmaps > 0)) result = true; // Validate image mipmaps (at least 1 for basic mipmap level) - + return result; } @@ -1018,8 +1018,8 @@ Image GenImageGradientSquare(int width, int height, float density, Color inner, float distY = fabsf(y - centerY); // Normalize the distances by the dimensions of the gradient rectangle - float normalizedDistX = distX / centerX; - float normalizedDistY = distY / centerY; + float normalizedDistX = distX/centerX; + float normalizedDistY = distY/centerY; // Calculate the total normalized Manhattan distance float manhattanDist = fmaxf(normalizedDistX, normalizedDistY); @@ -1615,7 +1615,7 @@ Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Co // Scale image depending on text size if (textSize.y != imSize.y) { - float scaleFactor = textSize.y / imSize.y; + float scaleFactor = textSize.y/imSize.y; TRACELOG(LOG_INFO, "IMAGE: Text scaled by factor: %f", scaleFactor); // Using nearest-neighbor scaling algorithm for default font @@ -2214,17 +2214,17 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) if (imgindex >= (unsigned int)(image->width*image->height)) { - temp[kernelWidth * xkabs + ykabs].x = 0.0f; - temp[kernelWidth * xkabs + ykabs].y = 0.0f; - temp[kernelWidth * xkabs + ykabs].z = 0.0f; - temp[kernelWidth * xkabs + ykabs].w = 0.0f; + temp[kernelWidth*xkabs + ykabs].x = 0.0f; + temp[kernelWidth*xkabs + ykabs].y = 0.0f; + temp[kernelWidth*xkabs + ykabs].z = 0.0f; + temp[kernelWidth*xkabs + ykabs].w = 0.0f; } else { - temp[kernelWidth * xkabs + ykabs].x = ((float)pixels[imgindex].r)/255.0f*kernel[kernelWidth*xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].y = ((float)pixels[imgindex].g)/255.0f*kernel[kernelWidth*xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].z = ((float)pixels[imgindex].b)/255.0f*kernel[kernelWidth*xkabs + ykabs]; - temp[kernelWidth * xkabs + ykabs].w = ((float)pixels[imgindex].a)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth*xkabs + ykabs].x = ((float)pixels[imgindex].r)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth*xkabs + ykabs].y = ((float)pixels[imgindex].g)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth*xkabs + ykabs].z = ((float)pixels[imgindex].b)/255.0f*kernel[kernelWidth*xkabs + ykabs]; + temp[kernelWidth*xkabs + ykabs].w = ((float)pixels[imgindex].a)/255.0f*kernel[kernelWidth*xkabs + ykabs]; } } } @@ -2672,7 +2672,7 @@ void ImageColorTint(Image *image, Color color) float cB = (float)color.b/255; float cA = (float)color.a/255; - for (int i = 0; i < image->width * image->height; i++) + for (int i = 0; i < image->width*image->height; i++) { unsigned char r = (unsigned char)(((float)pixels[i].r/255*cR)*255.0f); unsigned char g = (unsigned char)(((float)pixels[i].g/255*cG)*255.0f); @@ -2702,7 +2702,7 @@ void ImageColorInvert(Image *image) Color *pixels = LoadImageColors(*image); - for (int i = 0; i < image->width * image->height; i++) + for (int i = 0; i < image->width*image->height; i++) { pixels[i].r = 255 - pixels[i].r; pixels[i].g = 255 - pixels[i].g; @@ -2739,7 +2739,7 @@ void ImageColorContrast(Image *image, float contrast) Color *pixels = LoadImageColors(*image); - for (int i = 0; i < image->width * image->height; i++) + for (int i = 0; i < image->width*image->height; i++) { float pR = (float)pixels[i].r/255.0f; pR -= 0.5f; @@ -2791,7 +2791,7 @@ void ImageColorBrightness(Image *image, int brightness) Color *pixels = LoadImageColors(*image); - for (int i = 0; i < image->width * image->height; i++) + for (int i = 0; i < image->width*image->height; i++) { int cR = pixels[i].r + brightness; int cG = pixels[i].g + brightness; @@ -2828,7 +2828,7 @@ void ImageColorReplace(Image *image, Color color, Color replace) Color *pixels = LoadImageColors(*image); - for (int i = 0; i < image->width * image->height; i++) + for (int i = 0; i < image->width*image->height; i++) { if ((pixels[i].r == color.r) && (pixels[i].g == color.g) && @@ -3616,7 +3616,7 @@ void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color) } // Repeat the first row data for all other rows - int bytesPerRow = bytesPerPixel * (int)rec.width; + int bytesPerRow = bytesPerPixel*(int)rec.width; for (int y = 1; y < (int)rec.height; y++) { memcpy(pSrcPixel + (y*dst->width)*bytesPerPixel, pSrcPixel, bytesPerRow); @@ -3957,7 +3957,7 @@ RenderTexture2D LoadRenderTexture(int width, int height) bool IsTextureReady(Texture2D texture) { bool result = false; - + // TODO: Validate maximum texture size supported by GPU? if ((texture.id > 0) && // Validate OpenGL id @@ -3965,7 +3965,7 @@ bool IsTextureReady(Texture2D texture) (texture.height > 0) && // Validate texture size (texture.format > 0) && // Validate texture pixel format (texture.mipmaps > 0)) result = true; // Validate texture mipmaps (at least 1 for basic mipmap level) - + return result; } @@ -3984,11 +3984,11 @@ void UnloadTexture(Texture2D texture) bool IsRenderTextureReady(RenderTexture2D target) { bool result = false; - + if ((target.id > 0) && // Validate OpenGL id IsTextureReady(target.depth) && // Validate FBO depth texture/renderbuffer IsTextureReady(target.texture)) result = true; // Validate FBO texture - + return result; } @@ -4498,10 +4498,10 @@ bool ColorIsEqual(Color col1, Color col2) Color Fade(Color color, float alpha) { Color result = color; - + if (alpha < 0.0f) alpha = 0.0f; else if (alpha > 1.0f) alpha = 1.0f; - + result.a = (unsigned char)(255.0f*alpha); return result; @@ -4511,7 +4511,7 @@ Color Fade(Color color, float alpha) int ColorToInt(Color color) { int result = (((int)color.r << 24) | ((int)color.g << 16) | ((int)color.b << 8) | (int)color.a); - + return result; } @@ -4732,7 +4732,7 @@ Color ColorContrast(Color color, float contrast) Color ColorAlpha(Color color, float alpha) { Color result = color; - + if (alpha < 0.0f) alpha = 0.0f; else if (alpha > 1.0f) alpha = 1.0f; @@ -5042,15 +5042,15 @@ int GetPixelDataSize(int width, int height, int format) static float HalfToFloat(unsigned short x) { float result = 0.0f; - + const unsigned int e = (x & 0x7C00) >> 10; // Exponent const unsigned int m = (x & 0x03FF) << 13; // Mantissa const float fm = (float)m; const unsigned int v = (*(unsigned int*)&fm) >> 23; // Evil log2 bit hack to count leading zeros in denormalized format const unsigned int r = (x & 0x8000) << 16 | (e != 0)*((e + 112) << 23 | m) | ((e == 0)&(m != 0))*((v - 37) << 23 | ((m << (150 - v)) & 0x007FE000)); // sign : normalized : denormalized - + result = *(float *)&r; - + return result; } @@ -5058,13 +5058,13 @@ static float HalfToFloat(unsigned short x) static unsigned short FloatToHalf(float x) { unsigned short result = 0; - + const unsigned int b = (*(unsigned int*) & x) + 0x00001000; // Round-to-nearest-even: add last bit after truncated mantissa const unsigned int e = (b & 0x7F800000) >> 23; // Exponent const unsigned int m = b & 0x007FFFFF; // Mantissa; in line below: 0x007FF000 = 0x00800000-0x00001000 = decimal indicator flag - initial rounding - + result = (b & 0x80000000) >> 16 | (e > 112)*((((e - 112) << 10) & 0x7C00) | m >> 13) | ((e < 113) & (e > 101))*((((0x007FF000 + m) >> (125 - e)) + 1) >> 1) | (e > 143)*0x7FFF; // sign : normalized : denormalized : saturate - + return result; } From e0f6faa151589a185a04c2c723c01daff1b0a78f Mon Sep 17 00:00:00 2001 From: freakmangd <53349189+freakmangd@users.noreply.github.com> Date: Mon, 22 Apr 2024 03:13:01 -0400 Subject: [PATCH 252/745] [build.zig] Drop support for 0.11.0 and use more idiomatic build script code (#3927) * Remove support for 0.11.0, and make build script more idiomatic + remove all 0.11.0 compatibility functions + remove most LazyPath .path variants + I didn't touch emscripten, I don't know if its relative or absolute + change all absolute paths to use .cwd_relative + only use the builder allocator + have local dependencies use the package manager + make adding raygui more flexible + use zig-cache for generated wayland files * Remove support for 0.11.0 in examples/build.zig * update examples further and add clarifying comment on addRaygui --- build.zig | 6 +- examples/build.zig | 56 +++------- src/build.zig | 265 +++++++++++++++++++-------------------------- 3 files changed, 131 insertions(+), 196 deletions(-) diff --git a/build.zig b/build.zig index 4c8ede79d..01e7b49fb 100644 --- a/build.zig +++ b/build.zig @@ -1,7 +1,11 @@ const std = @import("std"); const raylib = @import("src/build.zig"); -// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.3632+7fb5a0b18 +// This has been tested to work with zig 0.12.0 pub fn build(b: *std.Build) !void { try raylib.build(b); } + +// expose helper functions to user's build.zig +pub const addRaylib = raylib.addRaylib; +pub const addRaygui = raylib.addRaygui; diff --git a/examples/build.zig b/examples/build.zig index e56ac0d54..5a17382ca 100644 --- a/examples/build.zig +++ b/examples/build.zig @@ -1,24 +1,14 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested to work with zig 0.11.0 (67709b6, Aug 4 2023) and zig 0.12.0-dev.2075+f5978181e (Jan 8 2024) -// -// anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type -// was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows -// us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. -fn add_module(comptime module: []const u8, b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode) !*std.Build.Step { - if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { - @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'add_module', found '" ++ @typeName(@TypeOf(target)) ++ "'"); - } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { - @compileError("Expected 'std.zig.CrossTarget' for argument 2 'target' in 'add_module', found '" ++ @typeName(@TypeOf(target)) ++ "'"); - } - - if (getOsTagVersioned(target) == .emscripten) { +// This has been tested to work with zig 0.12.0 +fn add_module(comptime module: []const u8, b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode) !*std.Build.Step { + if (target.result.os.tag == .emscripten) { @panic("Emscripten building via Zig unsupported"); } const all = b.step(module, "All " ++ module ++ " examples"); - var dir = try openIterableDirVersioned(std.fs.cwd(), module); + var dir = try std.fs.cwd().openDir(module, .{ .iterate = true }); defer if (comptime builtin.zig_version.minor >= 12) dir.close(); var iter = dir.iterate(); @@ -29,28 +19,28 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: anytype, optim const path = try std.fs.path.join(b.allocator, &.{ module, entry.name }); // zig's mingw headers do not include pthread.h - if (std.mem.eql(u8, "core_loading_thread", name) and getOsTagVersioned(target) == .windows) continue; + if (std.mem.eql(u8, "core_loading_thread", name) and target.result.os.tag == .windows) continue; const exe = b.addExecutable(.{ .name = name, .target = target, .optimize = optimize, }); - exe.addCSourceFile(.{ .file = .{ .path = path }, .flags = &.{} }); + exe.addCSourceFile(.{ .file = b.path(path), .flags = &.{} }); exe.linkLibC(); - exe.addObjectFile(switch (getOsTagVersioned(target)) { - .windows => .{ .path = "../zig-out/lib/raylib.lib" }, - .linux => .{ .path = "../zig-out/lib/libraylib.a" }, - .macos => .{ .path = "../zig-out/lib/libraylib.a" }, - .emscripten => .{ .path = "../zig-out/lib/libraylib.a" }, + exe.addObjectFile(switch (target.result.os.tag) { + .windows => b.path("../zig-out/lib/raylib.lib"), + .linux => b.path("../zig-out/lib/libraylib.a"), + .macos => b.path("../zig-out/lib/libraylib.a"), + .emscripten => b.path("../zig-out/lib/libraylib.a"), else => @panic("Unsupported OS"), }); - exe.addIncludePath(.{ .path = "../src" }); - exe.addIncludePath(.{ .path = "../src/external" }); - exe.addIncludePath(.{ .path = "../src/external/glfw/include" }); + exe.addIncludePath(b.path("../src")); + exe.addIncludePath(b.path("../src/external")); + exe.addIncludePath(b.path("../src/external/glfw/include")); - switch (getOsTagVersioned(target)) { + switch (target.result.os.tag) { .windows => { exe.linkSystemLibrary("winmm"); exe.linkSystemLibrary("gdi32"); @@ -117,19 +107,3 @@ pub fn build(b: *std.Build) !void { all.dependOn(try add_module("text", b, target, optimize)); all.dependOn(try add_module("textures", b, target, optimize)); } - -fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { - if (comptime builtin.zig_version.minor >= 12) { - return target.result.os.tag; - } else { - return target.getOsTag(); - } -} - -fn openIterableDirVersioned(dir: std.fs.Dir, path: []const u8) !(if (builtin.zig_version.minor >= 12) std.fs.Dir else std.fs.IterableDir) { - if (comptime builtin.zig_version.minor >= 12) { - return dir.openDir(path, .{ .iterate = true }); - } else { - return dir.openIterableDir(path, .{}); - } -} diff --git a/src/build.zig b/src/build.zig index 4134c4a84..9fa1c57cd 100644 --- a/src/build.zig +++ b/src/build.zig @@ -1,37 +1,53 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested with zig version(s): -// 0.11.0 -// 0.12.0-dev.3632+7fb5a0b18 -// -// Anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type -// was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows -// us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. -pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { - var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){}; - const gpa = general_purpose_allocator.allocator(); +comptime { + if (builtin.zig_version.minor < 12) @compileError("Raylib requires zig version 0.12.0"); +} - if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { - @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); - } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { - @compileError("Expected 'std.zig.CrossTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); +// NOTE(freakmangd): I don't like using a global here, but it prevents having to +// get the flags a second time when adding raygui +var raylib_flags_arr: std.ArrayListUnmanaged([]const u8) = .{}; + +// This has been tested with zig version 0.12.0 +pub fn addRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { + const raylib_dep = b.dependency(options.raylib_dependency_name, .{ + .target = target, + .optimize = optimize, + .raudio = options.raudio, + .rmodels = options.rmodels, + .rshapes = options.rshapes, + .rtext = options.rtext, + .rtextures = options.rtextures, + .platform_drm = options.platform_drm, + .shared = options.shared, + .linux_display_backend = options.linux_display_backend, + }); + const raylib = raylib_dep.artifact("raylib"); + + if (options.raygui) { + const raygui_dep = b.dependency(options.raygui_dependency_name, .{}); + addRaygui(b, raylib, raygui_dep); } + return raylib; +} + +fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { + raylib_flags_arr.clearRetainingCapacity(); + const shared_flags = &[_][]const u8{ "-fPIC", "-DBUILD_LIBTYPE_SHARED", }; - var raylib_flags_arr = std.ArrayList([]const u8).init(std.heap.page_allocator); - defer raylib_flags_arr.deinit(); - try raylib_flags_arr.appendSlice(&[_][]const u8{ + try raylib_flags_arr.appendSlice(b.allocator, &[_][]const u8{ "-std=gnu99", "-D_GNU_SOURCE", "-DGL_SILENCE_DEPRECATION=199309L", "-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674 }); if (options.shared) { - try raylib_flags_arr.appendSlice(shared_flags); + try raylib_flags_arr.appendSlice(b.allocator, shared_flags); } const raylib = if (options.shared) @@ -50,55 +66,31 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // No GLFW required on PLATFORM_DRM if (!options.platform_drm) { - raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "external/glfw/include" }); + raylib.addIncludePath(b.path("src/external/glfw/include")); } - addCSourceFilesVersioned(raylib, &.{ - "rcore.c", - "utils.c", - }, raylib_flags_arr.items); + var c_source_files = try std.ArrayList([]const u8).initCapacity(b.allocator, 2); + c_source_files.appendSliceAssumeCapacity(&.{ "rcore.c", "utils.c" }); if (options.raudio) { - addCSourceFilesVersioned(raylib, &.{ - "raudio.c", - }, raylib_flags_arr.items); + try c_source_files.append("raudio.c"); } if (options.rmodels) { - addCSourceFilesVersioned(raylib, &.{ - "rmodels.c", - }, raylib_flags_arr.items); + try c_source_files.append("rmodels.c"); } if (options.rshapes) { - addCSourceFilesVersioned(raylib, &.{ - "rshapes.c", - }, raylib_flags_arr.items); + try c_source_files.append("rshapes.c"); } if (options.rtext) { - addCSourceFilesVersioned(raylib, &.{ - "rtext.c", - }, raylib_flags_arr.items); + try c_source_files.append("rtext.c"); } if (options.rtextures) { - addCSourceFilesVersioned(raylib, &.{ - "rtextures.c", - }, raylib_flags_arr.items); + try c_source_files.append("rtextures.c"); } - var gen_step = b.addWriteFiles(); - raylib.step.dependOn(&gen_step.step); - - if (options.raygui) { - const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); - raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); - raylib.addIncludePath(.{ .cwd_relative = srcdir }); - raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "../../raygui/src" }); - } - - switch (getOsTagVersioned(target)) { + switch (target.result.os.tag) { .windows => { - addCSourceFilesVersioned(raylib, &.{ - "rglfw.c", - }, raylib_flags_arr.items); + try c_source_files.append("rglfw.c"); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); raylib.linkSystemLibrary("opengl32"); @@ -107,16 +99,14 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .linux => { if (!options.platform_drm) { - addCSourceFilesVersioned(raylib, &.{ - "rglfw.c", - }, raylib_flags_arr.items); + try c_source_files.append("rglfw.c"); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("dl"); raylib.linkSystemLibrary("m"); - raylib.addLibraryPath(.{ .path = "/usr/lib" }); - raylib.addIncludePath(.{ .path = "/usr/include" }); + raylib.addLibraryPath(.{ .cwd_relative = "/usr/lib" }); + raylib.addIncludePath(.{ .cwd_relative = "/usr/include" }); switch (options.linux_display_backend) { .X11 => { @@ -129,16 +119,16 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("wayland-cursor"); raylib.linkSystemLibrary("wayland-egl"); raylib.linkSystemLibrary("xkbcommon"); - raylib.addIncludePath(.{ .path = srcdir }); - try waylandGenerate(gpa, "wayland.xml", "wayland-client-protocol"); - try waylandGenerate(gpa, "xdg-shell.xml", "xdg-shell-client-protocol"); - try waylandGenerate(gpa, "xdg-decoration-unstable-v1.xml", "xdg-decoration-unstable-v1-client-protocol"); - try waylandGenerate(gpa, "viewporter.xml", "viewporter-client-protocol"); - try waylandGenerate(gpa, "relative-pointer-unstable-v1.xml", "relative-pointer-unstable-v1-client-protocol"); - try waylandGenerate(gpa, "pointer-constraints-unstable-v1.xml", "pointer-constraints-unstable-v1-client-protocol"); - try waylandGenerate(gpa, "fractional-scale-v1.xml", "fractional-scale-v1-client-protocol"); - try waylandGenerate(gpa, "xdg-activation-v1.xml", "xdg-activation-v1-client-protocol"); - try waylandGenerate(gpa, "idle-inhibit-unstable-v1.xml", "idle-inhibit-unstable-v1-client-protocol"); + raylib.addIncludePath(b.path("src")); + waylandGenerate(b, raylib, "wayland.xml", "wayland-client-protocol"); + waylandGenerate(b, raylib, "xdg-shell.xml", "xdg-shell-client-protocol"); + waylandGenerate(b, raylib, "xdg-decoration-unstable-v1.xml", "xdg-decoration-unstable-v1-client-protocol"); + waylandGenerate(b, raylib, "viewporter.xml", "viewporter-client-protocol"); + waylandGenerate(b, raylib, "relative-pointer-unstable-v1.xml", "relative-pointer-unstable-v1-client-protocol"); + waylandGenerate(b, raylib, "pointer-constraints-unstable-v1.xml", "pointer-constraints-unstable-v1-client-protocol"); + waylandGenerate(b, raylib, "fractional-scale-v1.xml", "fractional-scale-v1-client-protocol"); + waylandGenerate(b, raylib, "xdg-activation-v1.xml", "xdg-activation-v1-client-protocol"); + waylandGenerate(b, raylib, "idle-inhibit-unstable-v1.xml", "idle-inhibit-unstable-v1-client-protocol"); }, } @@ -152,7 +142,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("m"); raylib.linkSystemLibrary("dl"); - raylib.addIncludePath(.{ .path = "/usr/include/libdrm" }); + raylib.addIncludePath(.{ .cwd_relative = "/usr/include/libdrm" }); raylib.defineCMacro("PLATFORM_DRM", null); raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null); @@ -161,9 +151,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM } }, .freebsd, .openbsd, .netbsd, .dragonfly => { - addCSourceFilesVersioned(raylib, &.{ - "rglfw.c", - }, raylib_flags_arr.items); + try c_source_files.append("rglfw.c"); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); raylib.linkSystemLibrary("dl"); @@ -179,10 +167,12 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .macos => { // On macos rglfw.c include Objective-C files. - try raylib_flags_arr.append("-ObjC"); - addCSourceFilesVersioned(raylib, &.{ - "rglfw.c", - }, raylib_flags_arr.items); + try raylib_flags_arr.append(b.allocator, "-ObjC"); + raylib.root_module.addCSourceFile(.{ + .file = b.path("src/rglfw.c"), + .flags = raylib_flags_arr.items, + }); + _ = raylib_flags_arr.pop(); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); raylib.linkFramework("CoreGraphics"); @@ -212,9 +202,33 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, } + raylib.root_module.addCSourceFiles(.{ + .root = b.path("src"), + .files = c_source_files.items, + .flags = raylib_flags_arr.items, + }); + return raylib; } +/// This function does not need to be called if you passed .raygui = true to addRaylib +pub fn addRaygui(b: *std.Build, raylib: *std.Build.Step.Compile, raygui_dep: *std.Build.Dependency) void { + if (raylib_flags_arr.items.len == 0) { + @panic( + \\argument 2 `raylib` in `addRaygui` must come from b.dependency("raylib", ...).artifact("raylib") + ); + } + + var gen_step = b.addWriteFiles(); + raylib.step.dependOn(&gen_step.step); + + const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); + raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); + raylib.addIncludePath(raygui_dep.path("src")); + + raylib.installHeader(raygui_dep.path("src/raygui.h"), "raygui.h"); +} + pub const Options = struct { raudio: bool = true, rmodels: bool = true, @@ -225,6 +239,9 @@ pub const Options = struct { platform_drm: bool = false, shared: bool = false, linux_display_backend: LinuxDisplayBackend = .X11, + + raylib_dependency_name: []const u8 = "raylib", + raygui_dependency_name: []const u8 = "raygui", }; pub const LinuxDisplayBackend = enum { @@ -251,94 +268,34 @@ pub fn build(b: *std.Build) !void { .rtext = b.option(bool, "rtext", "Compile with text support") orelse defaults.rtext, .rtextures = b.option(bool, "rtextures", "Compile with textures support") orelse defaults.rtextures, .rshapes = b.option(bool, "rshapes", "Compile with shapes support") orelse defaults.rshapes, - .raygui = b.option(bool, "raygui", "Compile with raygui support") orelse defaults.raygui, .shared = b.option(bool, "shared", "Compile as shared library") orelse defaults.shared, .linux_display_backend = b.option(LinuxDisplayBackend, "linux_display_backend", "Linux display backend to use") orelse defaults.linux_display_backend, }; - const lib = try addRaylib(b, target, optimize, options); + const lib = try compileRaylib(b, target, optimize, options); - installHeaderVersioned(b, lib, "src/raylib.h", "raylib.h"); - installHeaderVersioned(b, lib, "src/raymath.h", "raymath.h"); - installHeaderVersioned(b, lib, "src/rlgl.h", "rlgl.h"); - - if (options.raygui) { - installHeaderVersioned(b, lib, "../raygui/src/raygui.h", "raygui.h"); - } + lib.installHeader(b.path("src/raylib.h"), "raylib.h"); + lib.installHeader(b.path("src/raymath.h"), "raymath.h"); + lib.installHeader(b.path("src/rlgl.h"), "rlgl.h"); b.installArtifact(lib); } -const srcdir = struct { - fn getSrcDir() []const u8 { - return std.fs.path.dirname(@src().file).?; - } -}.getSrcDir() ++ "/"; +const waylandDir = "src/external/glfw/deps/wayland"; -const waylandDir = srcdir ++ "external/glfw/deps/wayland"; - -fn getOsTagVersioned(target: anytype) std.Target.Os.Tag { - if (comptime builtin.zig_version.minor >= 12) { - return target.result.os.tag; - } else { - return target.getOsTag(); - } -} - -inline fn addCSourceFilesVersioned( - exe: *std.Build.Step.Compile, - files: []const []const u8, - flags: []const []const u8, -) void { - if (comptime builtin.zig_version.minor >= 12) { - exe.addCSourceFiles(.{ - .root = .{ .path = srcdir }, - .files = files, - .flags = flags, - }); - } else if (comptime builtin.zig_version.minor == 11) { - inline for (files) |file| { - exe.addCSourceFile(.{ - .file = .{ .path = srcdir ++ file }, - .flags = flags, - }); - } - } else { - @compileError("Expected zig version 11 or 12"); - } -} - -fn installHeaderVersioned( - b: *std.Build, - lib: *std.Build.Step.Compile, - source: []const u8, - dest: []const u8, -) void { - if (comptime builtin.zig_version.minor >= 12) { - lib.installHeader(.{ .src_path = .{ - .owner = b, - .sub_path = source, - } }, dest); - } else { - lib.installHeader(source, dest); - } -} - -const childRunVersioned = if (builtin.zig_version.minor >= 12) - std.process.Child.run -else - std.process.Child.exec; - -fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void { +fn waylandGenerate(b: *std.Build, raylib: *std.Build.Step.Compile, comptime protocol: []const u8, comptime basename: []const u8) void { const protocolDir = waylandDir ++ "/" ++ protocol; - const clientHeader = srcdir ++ basename ++ ".h"; - const privateCode = srcdir ++ basename ++ "-code.h"; - _ = try childRunVersioned(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader }, - }); - _ = try childRunVersioned(.{ - .allocator = allocator, - .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode }, - }); + const clientHeader = basename ++ ".h"; + const privateCode = basename ++ "-code.h"; + + const client_step = b.addSystemCommand(&.{ "wayland-scanner", "client-header" }); + client_step.addFileArg(b.path(protocolDir)); + raylib.addIncludePath(client_step.addOutputFileArg(clientHeader).dirname()); + + const private_step = b.addSystemCommand(&.{ "wayland-scanner", "private-code" }); + private_step.addFileArg(b.path(protocolDir)); + raylib.addIncludePath(private_step.addOutputFileArg(privateCode).dirname()); + + raylib.step.dependOn(&client_step.step); + raylib.step.dependOn(&private_step.step); } From d80febde7de940d74a37a47729a15ad29b40cafb Mon Sep 17 00:00:00 2001 From: bohonghuang <1281299809@qq.com> Date: Tue, 23 Apr 2024 20:22:29 +0800 Subject: [PATCH 253/745] [rlgl] Implement vertex normals for RLGL immediate drawing mode (#3866) * Fix several non-functional `target_compile_definitions` * Avoid hardcoding the default vertex attribute locations * Implement functional `rlNormal3f` * Add normal definitions for `DrawCube` * Update the basic lighting example to use `DrawCube` and `DrawPlane` --- cmake/CompileDefinitions.cmake | 19 +- examples/shaders/shaders_basic_lighting.c | 18 +- src/config.h | 20 +- src/rlgl.h | 298 ++++++++++++++++++---- src/rmodels.c | 50 ++-- 5 files changed, 303 insertions(+), 102 deletions(-) diff --git a/cmake/CompileDefinitions.cmake b/cmake/CompileDefinitions.cmake index 68c53d7a1..cc8324c4b 100644 --- a/cmake/CompileDefinitions.cmake +++ b/cmake/CompileDefinitions.cmake @@ -99,12 +99,19 @@ if (${CUSTOMIZE_BUILD}) target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_NEAR=0.01") target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_FAR=1000.0") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_POSITION=\"vertexPosition\"") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD=\"vertexTexCoord\"") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_NORMAL=\"vertexNormal\"") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_COLOR=\"vertexColor\"") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TANGENT=\"vertexTangent\"") - target_compile_definitions("raylib" PUBLIC "DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2=\"vertexTexCoord2\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION=0") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD=1") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL=2") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR=3") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT=4") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2=5") + + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION=\"vertexPosition\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD=\"vertexTexCoord\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL=\"vertexNormal\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR=\"vertexColor\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT=\"vertexTangent\"") + target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2=\"vertexTexCoord2\"") target_compile_definitions("raylib" PUBLIC "MAX_TEXT_BUFFER_LENGTH=1024") target_compile_definitions("raylib" PUBLIC "MAX_TEXT_UNICODE_CHARS=512") diff --git a/examples/shaders/shaders_basic_lighting.c b/examples/shaders/shaders_basic_lighting.c index 5b567f651..77fedfeb9 100644 --- a/examples/shaders/shaders_basic_lighting.c +++ b/examples/shaders/shaders_basic_lighting.c @@ -52,10 +52,6 @@ int main(void) camera.fovy = 45.0f; // Camera field-of-view Y camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - // Load plane model from a generated mesh - Model model = LoadModelFromMesh(GenMeshPlane(10.0f, 10.0f, 3, 3)); - Model cube = LoadModelFromMesh(GenMeshCube(2.0f, 4.0f, 2.0f)); - // Load basic lighting shader Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/lighting.vs", GLSL_VERSION), TextFormat("resources/shaders/glsl%i/lighting.fs", GLSL_VERSION)); @@ -69,10 +65,6 @@ int main(void) int ambientLoc = GetShaderLocation(shader, "ambient"); SetShaderValue(shader, ambientLoc, (float[4]){ 0.1f, 0.1f, 0.1f, 1.0f }, SHADER_UNIFORM_VEC4); - // Assign out lighting shader to model - model.materials[0].shader = shader; - cube.materials[0].shader = shader; - // Create lights Light lights[MAX_LIGHTS] = { 0 }; lights[0] = CreateLight(LIGHT_POINT, (Vector3){ -2, 1, -2 }, Vector3Zero(), YELLOW, shader); @@ -112,8 +104,12 @@ int main(void) BeginMode3D(camera); - DrawModel(model, Vector3Zero(), 1.0f, WHITE); - DrawModel(cube, Vector3Zero(), 1.0f, WHITE); + BeginShaderMode(shader); + + DrawPlane(Vector3Zero(), (Vector2) { 10.0, 10.0 }, WHITE); + DrawCube(Vector3Zero(), 2.0, 4.0, 2.0, WHITE); + + EndShaderMode(); // Draw spheres to show where the lights are for (int i = 0; i < MAX_LIGHTS; i++) @@ -136,8 +132,6 @@ int main(void) // De-Initialization //-------------------------------------------------------------------------------------- - UnloadModel(model); // Unload the model - UnloadModel(cube); // Unload the model UnloadShader(shader); // Unload shader CloseWindow(); // Close window and OpenGL context diff --git a/src/config.h b/src/config.h index 6d8169ba6..1fe21454f 100644 --- a/src/config.h +++ b/src/config.h @@ -112,14 +112,22 @@ #define RL_CULL_DISTANCE_NEAR 0.01 // Default projection matrix near cull distance #define RL_CULL_DISTANCE_FAR 1000.0 // Default projection matrix far cull distance +// Default shader vertex attribute locations +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0 +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1 +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2 +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3 +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4 +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5 + // Default shader vertex attribute names to set location points // NOTE: When a new shader is loaded, the following locations are tried to be set for convenience -#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: 0 -#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: 1 -#define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: 2 -#define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: 3 -#define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: 4 -#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: 5 +#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION +#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD +#define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL +#define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR +#define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT +#define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 #define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix #define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix diff --git a/src/rlgl.h b/src/rlgl.h index a645aa038..1787d97a8 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -62,12 +62,12 @@ * When loading a shader, the following vertex attributes and uniform * location names are tried to be set automatically: * -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: 0 -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: 1 -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: 2 -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: 3 -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: 4 -* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: 5 +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT +* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 * #define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix * #define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix * #define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix @@ -349,6 +349,7 @@ typedef struct rlVertexBuffer { float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + float *normals; // Vertex normal (XYZ - 3 components per vertex) (shader-location = 2) unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) unsigned int *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) @@ -357,7 +358,7 @@ typedef struct rlVertexBuffer { unsigned short *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) #endif unsigned int vaoId; // OpenGL Vertex Array Object id - unsigned int vboId[4]; // OpenGL Vertex Buffer Objects id (4 types of vertex data) + unsigned int vboId[5]; // OpenGL Vertex Buffer Objects id (5 types of vertex data) } rlVertexBuffer; // Draw call type @@ -930,24 +931,44 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #endif #endif +// Default shader vertex attribute locations +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5 +#endif + // Default shader vertex attribute names to set location points #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION - #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: 0 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION #endif #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD - #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: 1 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD #endif #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL - #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: 2 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL #endif #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR - #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: 3 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR #endif #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT - #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: 4 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT #endif #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 - #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: 5 + #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 #endif #ifndef RL_DEFAULT_SHADER_UNIFORM_NAME_MVP @@ -1092,8 +1113,15 @@ static const char *rlGetCompressedFormatName(int format); // Get compressed form static int rlGetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture) // Auxiliar matrix math functions +typedef struct rl_float16 { + float v[16]; +} rl_float16; +static rl_float16 rlMatrixToFloatV(Matrix mat); // Get float array of matrix data +#define rlMatrixToFloat(mat) (rlMatrixToFloatV(mat).v) // Get float vector for Matrix static Matrix rlMatrixIdentity(void); // Get identity matrix static Matrix rlMatrixMultiply(Matrix left, Matrix right); // Multiply two matrices +static Matrix rlMatrixTranspose(Matrix mat); // Transposes provided matrix +static Matrix rlMatrixInvert(Matrix mat); // Invert provided matrix //---------------------------------------------------------------------------------- // Module Functions Definition - Matrix operations @@ -1456,7 +1484,10 @@ void rlVertex3f(float x, float y, float z) RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.State.vertexCounter] = RLGL.State.texcoordx; RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.State.vertexCounter + 1] = RLGL.State.texcoordy; - // WARNING: By default rlVertexBuffer struct does not store normals + // Add current normal + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter] = RLGL.State.normalx; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter + 1] = RLGL.State.normaly; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].normals[3*RLGL.State.vertexCounter + 2] = RLGL.State.normalz; // Add current color RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.State.vertexCounter] = RLGL.State.colorr; @@ -1492,9 +1523,26 @@ void rlTexCoord2f(float x, float y) // NOTE: Normals limited to TRIANGLES only? void rlNormal3f(float x, float y, float z) { - RLGL.State.normalx = x; - RLGL.State.normaly = y; - RLGL.State.normalz = z; + float normalx = x; + float normaly = y; + float normalz = z; + if (RLGL.State.transformRequired) + { + normalx = RLGL.State.transform.m0*x + RLGL.State.transform.m4*y + RLGL.State.transform.m8*z; + normaly = RLGL.State.transform.m1*x + RLGL.State.transform.m5*y + RLGL.State.transform.m9*z; + normalz = RLGL.State.transform.m2*x + RLGL.State.transform.m6*y + RLGL.State.transform.m10*z; + } + float length = sqrtf(normalx*normalx + normaly*normaly + normalz*normalz); + if (length != 0.0f) + { + float ilength = 1.0f / length; + normalx *= ilength; + normaly *= ilength; + normalz *= ilength; + } + RLGL.State.normalx = normalx; + RLGL.State.normaly = normaly; + RLGL.State.normalz = normalz; } // Define one vertex (color) @@ -2163,7 +2211,10 @@ void rlglInit(int width, int height) RLGL.State.currentShaderLocs = RLGL.State.defaultShaderLocs; // Init default vertex arrays buffers + // Simulate that the default shader has the location RL_SHADER_LOC_VERTEX_NORMAL to bind the normal buffer for the default render batch + RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL] = RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL; RLGL.defaultBatch = rlLoadRenderBatch(RL_DEFAULT_BATCH_BUFFERS, RL_DEFAULT_BATCH_BUFFER_ELEMENTS); + RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL] = -1; RLGL.currentBatch = &RLGL.defaultBatch; // Init stack matrices (emulating OpenGL 1.1) @@ -2608,6 +2659,7 @@ rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) batch.vertexBuffer[i].vertices = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad batch.vertexBuffer[i].texcoords = (float *)RL_MALLOC(bufferElements*2*4*sizeof(float)); // 2 float by texcoord, 4 texcoord by quad + batch.vertexBuffer[i].normals = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad batch.vertexBuffer[i].colors = (unsigned char *)RL_MALLOC(bufferElements*4*4*sizeof(unsigned char)); // 4 float by color, 4 colors by quad #if defined(GRAPHICS_API_OPENGL_33) batch.vertexBuffer[i].indices = (unsigned int *)RL_MALLOC(bufferElements*6*sizeof(unsigned int)); // 6 int by quad (indices) @@ -2618,6 +2670,7 @@ rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].vertices[j] = 0.0f; for (int j = 0; j < (2*4*bufferElements); j++) batch.vertexBuffer[i].texcoords[j] = 0.0f; + for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].normals[j] = 0.0f; for (int j = 0; j < (4*4*bufferElements); j++) batch.vertexBuffer[i].colors[j] = 0; int k = 0; @@ -2667,16 +2720,23 @@ rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01]); glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); - // Vertex color buffer (shader-location = 3) + // Vertex normal buffer (shader-location = 2) glGenBuffers(1, &batch.vertexBuffer[i].vboId[2]); glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[2]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*3*4*sizeof(float), batch.vertexBuffer[i].normals, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL]); + glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL], 3, GL_FLOAT, 0, 0, 0); + + // Vertex color buffer (shader-location = 3) + glGenBuffers(1, &batch.vertexBuffer[i].vboId[3]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[3]); glBufferData(GL_ARRAY_BUFFER, bufferElements*4*4*sizeof(unsigned char), batch.vertexBuffer[i].colors, GL_DYNAMIC_DRAW); glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR]); glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); // Fill index buffer - glGenBuffers(1, &batch.vertexBuffer[i].vboId[3]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[3]); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[4]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[4]); #if defined(GRAPHICS_API_OPENGL_33) glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(int), batch.vertexBuffer[i].indices, GL_STATIC_DRAW); #endif @@ -2731,10 +2791,10 @@ void rlUnloadRenderBatch(rlRenderBatch batch) if (RLGL.ExtSupported.vao) { glBindVertexArray(batch.vertexBuffer[i].vaoId); - glDisableVertexAttribArray(0); - glDisableVertexAttribArray(1); - glDisableVertexAttribArray(2); - glDisableVertexAttribArray(3); + glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION); + glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD); + glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL); + glDisableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR); glBindVertexArray(0); } @@ -2743,6 +2803,7 @@ void rlUnloadRenderBatch(rlRenderBatch batch) glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[1]); glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[2]); glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[3]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[4]); // Delete VAOs from GPU (VRAM) if (RLGL.ExtSupported.vao) glDeleteVertexArrays(1, &batch.vertexBuffer[i].vaoId); @@ -2750,6 +2811,7 @@ void rlUnloadRenderBatch(rlRenderBatch batch) // Free vertex arrays memory from CPU (RAM) RL_FREE(batch.vertexBuffer[i].vertices); RL_FREE(batch.vertexBuffer[i].texcoords); + RL_FREE(batch.vertexBuffer[i].normals); RL_FREE(batch.vertexBuffer[i].colors); RL_FREE(batch.vertexBuffer[i].indices); } @@ -2784,8 +2846,13 @@ void rlDrawRenderBatch(rlRenderBatch *batch) glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*2*sizeof(float), batch->vertexBuffer[batch->currentBuffer].texcoords); //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer - // Colors buffer + // Normals buffer glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*3*sizeof(float), batch->vertexBuffer[batch->currentBuffer].normals); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].normals, GL_DYNAMIC_DRAW); // Update all buffer + + // Colors buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]); glBufferSubData(GL_ARRAY_BUFFER, 0, RLGL.State.vertexCounter*4*sizeof(unsigned char), batch->vertexBuffer[batch->currentBuffer].colors); //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*batch->vertexBuffer[batch->currentBuffer].elementCount, batch->vertexBuffer[batch->currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer @@ -2838,13 +2905,30 @@ void rlDrawRenderBatch(rlRenderBatch *batch) // Create modelview-projection matrix and upload to shader Matrix matMVP = rlMatrixMultiply(RLGL.State.modelview, RLGL.State.projection); - float matMVPfloat[16] = { - matMVP.m0, matMVP.m1, matMVP.m2, matMVP.m3, - matMVP.m4, matMVP.m5, matMVP.m6, matMVP.m7, - matMVP.m8, matMVP.m9, matMVP.m10, matMVP.m11, - matMVP.m12, matMVP.m13, matMVP.m14, matMVP.m15 - }; - glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MVP], 1, false, matMVPfloat); + glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MVP], 1, false, rlMatrixToFloat(matMVP)); + + if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_PROJECTION] != -1) + { + glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_PROJECTION], 1, false, rlMatrixToFloat(RLGL.State.projection)); + } + + // WARNING: For the following setup of the view, model, and normal matrices, it is expected that + // transformations and rendering occur between rlPushMatrix and rlPopMatrix. + + if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_VIEW] != -1) + { + glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_VIEW], 1, false, rlMatrixToFloat(RLGL.State.modelview)); + } + + if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MODEL] != -1) + { + glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_MODEL], 1, false, rlMatrixToFloat(RLGL.State.transform)); + } + + if (RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_NORMAL] != -1) + { + glUniformMatrix4fv(RLGL.State.currentShaderLocs[RL_SHADER_LOC_MATRIX_NORMAL], 1, false, rlMatrixToFloat(rlMatrixTranspose(rlMatrixInvert(RLGL.State.transform)))); + } if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId); else @@ -2859,12 +2943,17 @@ void rlDrawRenderBatch(rlRenderBatch *batch) glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01]); - // Bind vertex attrib: color (shader-location = 3) + // Bind vertex attrib: normal (shader-location = 2) glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_NORMAL]); + + // Bind vertex attrib: color (shader-location = 3) + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]); glVertexAttribPointer(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); glEnableVertexAttribArray(RLGL.State.currentShaderLocs[RL_SHADER_LOC_VERTEX_COLOR]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[4]); } // Setup some default shader values @@ -4014,12 +4103,12 @@ unsigned int rlLoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId) glAttachShader(program, fShaderId); // NOTE: Default attribute shader locations must be Bound before linking - glBindAttribLocation(program, 0, RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION); - glBindAttribLocation(program, 1, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); - glBindAttribLocation(program, 2, RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL); - glBindAttribLocation(program, 3, RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR); - glBindAttribLocation(program, 4, RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT); - glBindAttribLocation(program, 5, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR, RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT, RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT); + glBindAttribLocation(program, RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); // NOTE: If some attrib name is no found on the shader, it locations becomes -1 @@ -4482,10 +4571,10 @@ void rlLoadDrawQuad(void) glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), &vertices, GL_STATIC_DRAW); // Bind vertex attributes (position, texcoords) - glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); // Positions - glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); // Texcoords + glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION); + glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); // Positions + glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD); + glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); // Texcoords // Draw quad glBindVertexArray(quadVAO); @@ -4556,12 +4645,12 @@ void rlLoadDrawCube(void) // Bind vertex attributes (position, normals, texcoords) glBindVertexArray(cubeVAO); - glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); // Positions - glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); // Normals - glEnableVertexAttribArray(2); - glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); // Texcoords + glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION); + glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); // Positions + glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL); + glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); // Normals + glEnableVertexAttribArray(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD); + glVertexAttribPointer(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); // Texcoords glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); @@ -4709,14 +4798,14 @@ static void rlLoadShaderDefault(void) TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Default shader loaded successfully", RLGL.State.defaultShaderId); // Set default shader locations: attributes locations - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_POSITION] = glGetAttribLocation(RLGL.State.defaultShaderId, "vertexPosition"); - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(RLGL.State.defaultShaderId, "vertexTexCoord"); - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_COLOR] = glGetAttribLocation(RLGL.State.defaultShaderId, "vertexColor"); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_POSITION] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_VERTEX_COLOR] = glGetAttribLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR); // Set default shader locations: uniform locations - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MATRIX_MVP] = glGetUniformLocation(RLGL.State.defaultShaderId, "mvp"); - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_COLOR_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, "colDiffuse"); - RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MAP_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, "texture0"); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MATRIX_MVP] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_UNIFORM_NAME_MVP); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_COLOR_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR); + RLGL.State.defaultShaderLocs[RL_SHADER_LOC_MAP_DIFFUSE] = glGetUniformLocation(RLGL.State.defaultShaderId, RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0); } else TRACELOG(RL_LOG_WARNING, "SHADER: [ID %i] Failed to load default shader", RLGL.State.defaultShaderId); } @@ -4868,6 +4957,31 @@ static int rlGetPixelDataSize(int width, int height, int format) // Auxiliar math functions +// Get float array of matrix data +static rl_float16 rlMatrixToFloatV(Matrix mat) +{ + rl_float16 result = { 0 }; + + result.v[0] = mat.m0; + result.v[1] = mat.m1; + result.v[2] = mat.m2; + result.v[3] = mat.m3; + result.v[4] = mat.m4; + result.v[5] = mat.m5; + result.v[6] = mat.m6; + result.v[7] = mat.m7; + result.v[8] = mat.m8; + result.v[9] = mat.m9; + result.v[10] = mat.m10; + result.v[11] = mat.m11; + result.v[12] = mat.m12; + result.v[13] = mat.m13; + result.v[14] = mat.m14; + result.v[15] = mat.m15; + + return result; +} + // Get identity matrix static Matrix rlMatrixIdentity(void) { @@ -4907,4 +5021,76 @@ static Matrix rlMatrixMultiply(Matrix left, Matrix right) return result; } +// Transposes provided matrix +static Matrix rlMatrixTranspose(Matrix mat) +{ + Matrix result = { 0 }; + + result.m0 = mat.m0; + result.m1 = mat.m4; + result.m2 = mat.m8; + result.m3 = mat.m12; + result.m4 = mat.m1; + result.m5 = mat.m5; + result.m6 = mat.m9; + result.m7 = mat.m13; + result.m8 = mat.m2; + result.m9 = mat.m6; + result.m10 = mat.m10; + result.m11 = mat.m14; + result.m12 = mat.m3; + result.m13 = mat.m7; + result.m14 = mat.m11; + result.m15 = mat.m15; + + return result; +} + +// Invert provided matrix +static Matrix rlMatrixInvert(Matrix mat) +{ + Matrix result = { 0 }; + + // Cache the matrix values (speed optimization) + float a00 = mat.m0, a01 = mat.m1, a02 = mat.m2, a03 = mat.m3; + float a10 = mat.m4, a11 = mat.m5, a12 = mat.m6, a13 = mat.m7; + float a20 = mat.m8, a21 = mat.m9, a22 = mat.m10, a23 = mat.m11; + float a30 = mat.m12, a31 = mat.m13, a32 = mat.m14, a33 = mat.m15; + + float b00 = a00*a11 - a01*a10; + float b01 = a00*a12 - a02*a10; + float b02 = a00*a13 - a03*a10; + float b03 = a01*a12 - a02*a11; + float b04 = a01*a13 - a03*a11; + float b05 = a02*a13 - a03*a12; + float b06 = a20*a31 - a21*a30; + float b07 = a20*a32 - a22*a30; + float b08 = a20*a33 - a23*a30; + float b09 = a21*a32 - a22*a31; + float b10 = a21*a33 - a23*a31; + float b11 = a22*a33 - a23*a32; + + // Calculate the invert determinant (inlined to avoid double-caching) + float invDet = 1.0f/(b00*b11 - b01*b10 + b02*b09 + b03*b08 - b04*b07 + b05*b06); + + result.m0 = (a11*b11 - a12*b10 + a13*b09)*invDet; + result.m1 = (-a01*b11 + a02*b10 - a03*b09)*invDet; + result.m2 = (a31*b05 - a32*b04 + a33*b03)*invDet; + result.m3 = (-a21*b05 + a22*b04 - a23*b03)*invDet; + result.m4 = (-a10*b11 + a12*b08 - a13*b07)*invDet; + result.m5 = (a00*b11 - a02*b08 + a03*b07)*invDet; + result.m6 = (-a30*b05 + a32*b02 - a33*b01)*invDet; + result.m7 = (a20*b05 - a22*b02 + a23*b01)*invDet; + result.m8 = (a10*b10 - a11*b08 + a13*b06)*invDet; + result.m9 = (-a00*b10 + a01*b08 - a03*b06)*invDet; + result.m10 = (a30*b04 - a31*b02 + a33*b00)*invDet; + result.m11 = (-a20*b04 + a21*b02 - a23*b00)*invDet; + result.m12 = (-a10*b09 + a11*b07 - a12*b06)*invDet; + result.m13 = (a00*b09 - a01*b07 + a02*b06)*invDet; + result.m14 = (-a30*b03 + a31*b01 - a32*b00)*invDet; + result.m15 = (a20*b03 - a21*b01 + a22*b00)*invDet; + + return result; +} + #endif // RLGL_IMPLEMENTATION diff --git a/src/rmodels.c b/src/rmodels.c index c50c878bf..293aee9b1 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -269,6 +269,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlColor4ub(color.r, color.g, color.b, color.a); // Front face + rlNormal3f(0.0f, 0.0f, 1.0f); rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left @@ -278,6 +279,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right // Back face + rlNormal3f(0.0f, 0.0f, -1.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Left rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right @@ -287,6 +289,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left // Top face + rlNormal3f(0.0f, 1.0f, 0.0f); rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left rlVertex3f(x - width/2, y + height/2, z + length/2); // Bottom Left rlVertex3f(x + width/2, y + height/2, z + length/2); // Bottom Right @@ -296,6 +299,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlVertex3f(x + width/2, y + height/2, z + length/2); // Bottom Right // Bottom face + rlNormal3f(0.0f, -1.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Top Left rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left @@ -305,6 +309,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlVertex3f(x - width/2, y - height/2, z - length/2); // Top Left // Right face + rlNormal3f(1.0f, 0.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Left @@ -314,6 +319,7 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Left // Left face + rlNormal3f(-1.0f, 0.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Right rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Right @@ -1208,13 +1214,13 @@ void UploadMesh(Mesh *mesh, bool dynamic) // Enable vertex attributes: position (shader-location = 0) void *vertices = (mesh->animVertices != NULL)? mesh->animVertices : mesh->vertices; mesh->vboId[0] = rlLoadVertexBuffer(vertices, mesh->vertexCount*3*sizeof(float), dynamic); - rlSetVertexAttribute(0, 3, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(0); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION, 3, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION); // Enable vertex attributes: texcoords (shader-location = 1) mesh->vboId[1] = rlLoadVertexBuffer(mesh->texcoords, mesh->vertexCount*2*sizeof(float), dynamic); - rlSetVertexAttribute(1, 2, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(1); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD, 2, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD); // WARNING: When setting default vertex attribute values, the values for each generic vertex attribute // is part of current state, and it is maintained even if a different program object is used @@ -1224,64 +1230,64 @@ void UploadMesh(Mesh *mesh, bool dynamic) // Enable vertex attributes: normals (shader-location = 2) void *normals = (mesh->animNormals != NULL)? mesh->animNormals : mesh->normals; mesh->vboId[2] = rlLoadVertexBuffer(normals, mesh->vertexCount*3*sizeof(float), dynamic); - rlSetVertexAttribute(2, 3, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(2); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, 3, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL); } else { // Default vertex attribute: normal // WARNING: Default value provided to shader if location available float value[3] = { 1.0f, 1.0f, 1.0f }; - rlSetVertexAttributeDefault(2, value, SHADER_ATTRIB_VEC3, 3); - rlDisableVertexAttribute(2); + rlSetVertexAttributeDefault(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL, value, SHADER_ATTRIB_VEC3, 3); + rlDisableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL); } if (mesh->colors != NULL) { // Enable vertex attribute: color (shader-location = 3) mesh->vboId[3] = rlLoadVertexBuffer(mesh->colors, mesh->vertexCount*4*sizeof(unsigned char), dynamic); - rlSetVertexAttribute(3, 4, RL_UNSIGNED_BYTE, 1, 0, 0); - rlEnableVertexAttribute(3); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR, 4, RL_UNSIGNED_BYTE, 1, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR); } else { // Default vertex attribute: color // WARNING: Default value provided to shader if location available float value[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; // WHITE - rlSetVertexAttributeDefault(3, value, SHADER_ATTRIB_VEC4, 4); - rlDisableVertexAttribute(3); + rlSetVertexAttributeDefault(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR, value, SHADER_ATTRIB_VEC4, 4); + rlDisableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR); } if (mesh->tangents != NULL) { // Enable vertex attribute: tangent (shader-location = 4) mesh->vboId[4] = rlLoadVertexBuffer(mesh->tangents, mesh->vertexCount*4*sizeof(float), dynamic); - rlSetVertexAttribute(4, 4, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(4); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT, 4, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT); } else { // Default vertex attribute: tangent // WARNING: Default value provided to shader if location available float value[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; - rlSetVertexAttributeDefault(4, value, SHADER_ATTRIB_VEC4, 4); - rlDisableVertexAttribute(4); + rlSetVertexAttributeDefault(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT, value, SHADER_ATTRIB_VEC4, 4); + rlDisableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT); } if (mesh->texcoords2 != NULL) { // Enable vertex attribute: texcoord2 (shader-location = 5) mesh->vboId[5] = rlLoadVertexBuffer(mesh->texcoords2, mesh->vertexCount*2*sizeof(float), dynamic); - rlSetVertexAttribute(5, 2, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(5); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2, 2, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2); } else { // Default vertex attribute: texcoord2 // WARNING: Default value provided to shader if location available float value[2] = { 0.0f, 0.0f }; - rlSetVertexAttributeDefault(5, value, SHADER_ATTRIB_VEC2, 2); - rlDisableVertexAttribute(5); + rlSetVertexAttributeDefault(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2, value, SHADER_ATTRIB_VEC2, 2); + rlDisableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2); } if (mesh->indices != NULL) @@ -3504,8 +3510,8 @@ void GenMeshTangents(Mesh *mesh) } rlEnableVertexArray(mesh->vaoId); - rlSetVertexAttribute(4, 4, RL_FLOAT, 0, 0, 0); - rlEnableVertexAttribute(4); + rlSetVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT, 4, RL_FLOAT, 0, 0, 0); + rlEnableVertexAttribute(RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT); rlDisableVertexArray(); } From 4b0e25d3af79ce4c5cd94e8279473764d969cca3 Mon Sep 17 00:00:00 2001 From: KotzaBoss Date: Tue, 23 Apr 2024 14:24:37 +0200 Subject: [PATCH 254/745] Add rlCullDistance variables/getters and rlSetClipPlanes function (#3912) The `RL_CULL_DISTANCE_` definition remains as the initial value of the variables. Basic usage can be: ```c #include #include rlSetClipPlanes(RL_CULL_DISTANCE_NEAR, MY_CULL_DISTANCE_FAR); if (must_reset_clip_planes) rlSetClipPlanes(RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); ``` --- examples/models/models_skybox.c | 2 +- src/rcore.c | 14 +++++++------- src/rlgl.h | 24 ++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/examples/models/models_skybox.c b/examples/models/models_skybox.c index 1b8aad9a9..e0e08f3a1 100644 --- a/examples/models/models_skybox.c +++ b/examples/models/models_skybox.c @@ -208,7 +208,7 @@ static TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int s rlEnableShader(shader.id); // Define projection matrix and send it to shader - Matrix matFboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + Matrix matFboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, rlGetCullDistanceNear(), rlGetCullDistanceFar()); rlSetUniformMatrix(shader.locs[SHADER_LOC_MATRIX_PROJECTION], matFboProjection); // Define view matrix for every side of the cubemap diff --git a/src/rcore.c b/src/rcore.c index a68067fe8..29885c397 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -992,10 +992,10 @@ void BeginMode3D(Camera camera) if (camera.projection == CAMERA_PERSPECTIVE) { // Setup perspective projection - double top = RL_CULL_DISTANCE_NEAR*tan(camera.fovy*0.5*DEG2RAD); + double top = rlGetCullDistanceNear()*tan(camera.fovy*0.5*DEG2RAD); double right = top*aspect; - rlFrustum(-right, right, -top, top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + rlFrustum(-right, right, -top, top, rlGetCullDistanceNear(), rlGetCullDistanceFar()); } else if (camera.projection == CAMERA_ORTHOGRAPHIC) { @@ -1003,7 +1003,7 @@ void BeginMode3D(Camera camera) double top = camera.fovy/2.0; double right = top*aspect; - rlOrtho(-right, right, -top,top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + rlOrtho(-right, right, -top,top, rlGetCullDistanceNear(), rlGetCullDistanceFar()); } rlMatrixMode(RL_MODELVIEW); // Switch back to modelview matrix @@ -1207,7 +1207,7 @@ VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device) // Compute camera projection matrices float projOffset = 4.0f*lensShift; // Scaled to projection space coordinates [-1..1] - Matrix proj = MatrixPerspective(fovy, aspect, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + Matrix proj = MatrixPerspective(fovy, aspect, rlGetCullDistanceNear(), rlGetCullDistanceFar()); config.projection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); config.projection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); @@ -1446,7 +1446,7 @@ Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height if (camera.projection == CAMERA_PERSPECTIVE) { // Calculate projection matrix from perspective - matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)width/(double)height), RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)width/(double)height), rlGetCullDistanceNear(), rlGetCullDistanceFar()); } else if (camera.projection == CAMERA_ORTHOGRAPHIC) { @@ -1533,7 +1533,7 @@ Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int heigh if (camera.projection == CAMERA_PERSPECTIVE) { // Calculate projection matrix from perspective - matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)width/(double)height), RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + matProj = MatrixPerspective(camera.fovy*DEG2RAD, ((double)width/(double)height), rlGetCullDistanceNear(), rlGetCullDistanceFar()); } else if (camera.projection == CAMERA_ORTHOGRAPHIC) { @@ -1542,7 +1542,7 @@ Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int heigh double right = top*aspect; // Calculate projection matrix from orthographic - matProj = MatrixOrtho(-right, right, -top, top, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + matProj = MatrixOrtho(-right, right, -top, top, rlGetCullDistanceNear(), rlGetCullDistanceFar()); } // Calculate view matrix from camera look at (and transpose it) diff --git a/src/rlgl.h b/src/rlgl.h index 1787d97a8..137dcd20f 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -559,6 +559,10 @@ typedef enum { extern "C" { // Prevents name mangling of functions #endif +RLAPI void rlSetClipPlanes(double near, double far); +RLAPI double rlGetCullDistanceNear(); +RLAPI double rlGetCullDistanceFar(); + RLAPI void rlMatrixMode(int mode); // Choose the current matrix to be transformed RLAPI void rlPushMatrix(void); // Push the current matrix to stack RLAPI void rlPopMatrix(void); // Pop latest inserted matrix from stack @@ -1083,6 +1087,10 @@ typedef void *(*rlglLoadProc)(const char *name); // OpenGL extension functions //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- + +static double rlCullDistanceNear = RL_CULL_DISTANCE_NEAR; +static double rlCullDistanceFar = RL_CULL_DISTANCE_FAR; + #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) static rlglData RLGL = { 0 }; #endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 @@ -1127,6 +1135,22 @@ static Matrix rlMatrixInvert(Matrix mat); // Invert provided m // Module Functions Definition - Matrix operations //---------------------------------------------------------------------------------- +void rlSetClipPlanes(double near, double far) +{ + rlCullDistanceNear = near; + rlCullDistanceFar = far; +} + +double rlGetCullDistanceFar() +{ + return rlCullDistanceFar; +} + +double rlGetCullDistanceNear() +{ + return rlCullDistanceNear; +} + #if defined(GRAPHICS_API_OPENGL_11) // Fallback to OpenGL 1.1 function calls //--------------------------------------- From f15455552da353dfb7055b6fa020ba73d71de88e Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 23 Apr 2024 19:38:45 +0200 Subject: [PATCH 255/745] Review formatting --- src/rlgl.h | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 137dcd20f..9477558c8 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -559,10 +559,6 @@ typedef enum { extern "C" { // Prevents name mangling of functions #endif -RLAPI void rlSetClipPlanes(double near, double far); -RLAPI double rlGetCullDistanceNear(); -RLAPI double rlGetCullDistanceFar(); - RLAPI void rlMatrixMode(int mode); // Choose the current matrix to be transformed RLAPI void rlPushMatrix(void); // Push the current matrix to stack RLAPI void rlPopMatrix(void); // Pop latest inserted matrix from stack @@ -574,6 +570,9 @@ RLAPI void rlMultMatrixf(const float *matf); // Multiply the current RLAPI void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar); RLAPI void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar); RLAPI void rlViewport(int x, int y, int width, int height); // Set the viewport area +RLAPI void rlSetClipPlanes(double near, double far); // Set clip planes distances +RLAPI double rlGetCullDistanceNear(); // Get cull plane distance near +RLAPI double rlGetCullDistanceFar(); // Get cull plane distance far //------------------------------------------------------------------------------------ // Functions Declaration - Vertex level operations @@ -1087,7 +1086,6 @@ typedef void *(*rlglLoadProc)(const char *name); // OpenGL extension functions //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- - static double rlCullDistanceNear = RL_CULL_DISTANCE_NEAR; static double rlCullDistanceFar = RL_CULL_DISTANCE_FAR; @@ -1135,22 +1133,6 @@ static Matrix rlMatrixInvert(Matrix mat); // Invert provided m // Module Functions Definition - Matrix operations //---------------------------------------------------------------------------------- -void rlSetClipPlanes(double near, double far) -{ - rlCullDistanceNear = near; - rlCullDistanceFar = far; -} - -double rlGetCullDistanceFar() -{ - return rlCullDistanceFar; -} - -double rlGetCullDistanceNear() -{ - return rlCullDistanceNear; -} - #if defined(GRAPHICS_API_OPENGL_11) // Fallback to OpenGL 1.1 function calls //--------------------------------------- @@ -1388,6 +1370,25 @@ void rlViewport(int x, int y, int width, int height) glViewport(x, y, width, height); } +// Set clip planes distances +void rlSetClipPlanes(double near, double far) +{ + rlCullDistanceNear = near; + rlCullDistanceFar = far; +} + +// Get cull plane distance near +double rlGetCullDistanceNear(void) +{ + return rlCullDistanceNear; +} + +// Get cull plane distance far +double rlGetCullDistanceFar(void) +{ + return rlCullDistanceFar; +} + //---------------------------------------------------------------------------------- // Module Functions Definition - Vertex level operations //---------------------------------------------------------------------------------- From 2e774432090db1be697d2e4e5f49ea91ca038cd3 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 23 Apr 2024 22:55:51 +0200 Subject: [PATCH 256/745] WARNING: Fix breaking issue (introduced some days ago) --- src/rcore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rcore.c b/src/rcore.c index 29885c397..b229589f7 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1964,7 +1964,7 @@ const char *GetFileName(const char *filePath) if (filePath != NULL) fileName = strprbrk(filePath, "\\/"); - if (fileName != NULL) return filePath; + if (fileName == NULL) return filePath; return fileName + 1; } From e47ebec66134800e734710038ea4e5f070f3ef06 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 24 Apr 2024 17:02:03 +0200 Subject: [PATCH 257/745] FIX: Issue with texcoords loading for glTF --- src/rmodels.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 293aee9b1..5efc32283 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5121,14 +5121,6 @@ static Model LoadGLTF(const char *fileName) { // Support up to 2 texture coordinates attributes float *texcoordPtr = NULL; - int index = data->meshes[i].primitives[p].attributes[j].index; - if (index == 0) texcoordPtr = model.meshes[meshIndex].texcoords; - else if (index == 1) texcoordPtr = model.meshes[meshIndex].texcoords2; - else - { - TRACELOG(LOG_WARNING, "MODEL: [%s] No more than 2 texture coordinates attributes supported", fileName); - continue; - } cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; @@ -5137,7 +5129,7 @@ static Model LoadGLTF(const char *fileName) if (attribute->component_type == cgltf_component_type_r_32f) // vec2, float { // Init raylib mesh texcoords to copy glTF attribute data - texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = (float *)RL_MALLOC(attribute->count*2*sizeof(float)); // Load 3 components of float data type into mesh.texcoords LOAD_ATTRIBUTE(attribute, 2, float, texcoordPtr) @@ -5145,10 +5137,10 @@ static Model LoadGLTF(const char *fileName) else if (attribute->component_type == cgltf_component_type_r_8u) // vec2, u8n { // Init raylib mesh texcoords to copy glTF attribute data - texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = (float *)RL_MALLOC(attribute->count*2*sizeof(float)); // Load data into a temp buffer to be converted to raylib data type - unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned char)); + unsigned char *temp = (unsigned char *)RL_MALLOC(attribute->count*2*sizeof(unsigned char)); LOAD_ATTRIBUTE(attribute, 2, unsigned char, temp); // Convert data to raylib texcoord data type (float) @@ -5159,10 +5151,10 @@ static Model LoadGLTF(const char *fileName) else if (attribute->component_type == cgltf_component_type_r_16u) // vec2, u16n { // Init raylib mesh texcoords to copy glTF attribute data - texcoordPtr = RL_MALLOC(attribute->count*2*sizeof(float)); + texcoordPtr = (float *)RL_MALLOC(attribute->count*2*sizeof(float)); // Load data into a temp buffer to be converted to raylib data type - unsigned short *temp = RL_MALLOC(attribute->count*2*sizeof(unsigned short)); + unsigned short *temp = (unsigned short *)RL_MALLOC(attribute->count*2*sizeof(unsigned short)); LOAD_ATTRIBUTE(attribute, 2, unsigned short, temp); // Convert data to raylib texcoord data type (float) @@ -5173,6 +5165,15 @@ static Model LoadGLTF(const char *fileName) else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported", fileName); } else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); + + int index = data->meshes[i].primitives[p].attributes[j].index; + if (index == 0) model.meshes[meshIndex].texcoords = texcoordPtr; + else if (index == 1) model.meshes[meshIndex].texcoords2 = texcoordPtr; + else + { + TRACELOG(LOG_WARNING, "MODEL: [%s] No more than 2 texture coordinates attributes supported", fileName); + if (texcoordPtr != NULL) RL_FREE(texcoordPtr); + } } else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_n, vec3/vec4, float/u8n/u16n { From 10e702facd84f7558947b4d6780f1b758405ab13 Mon Sep 17 00:00:00 2001 From: Tomas Fabrizio Orsi <65001595+lima-limon-inc@users.noreply.github.com> Date: Sun, 28 Apr 2024 15:28:19 -0300 Subject: [PATCH 258/745] FIX: Added CAMERA_CUSTOM check in `UpdateCamera(Camera *camera, int mode)` (#3938) Signed-off-by: Tomas Fabrizio Orsi --- src/rcamera.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rcamera.h b/src/rcamera.h index 8e513ef1c..9c19556c4 100644 --- a/src/rcamera.h +++ b/src/rcamera.h @@ -444,7 +444,8 @@ void UpdateCamera(Camera *camera, int mode) bool lockView = ((mode == CAMERA_FREE) || (mode == CAMERA_FIRST_PERSON) || (mode == CAMERA_THIRD_PERSON) || (mode == CAMERA_ORBITAL)); bool rotateUp = false; - if (mode == CAMERA_ORBITAL) + if (mode == CAMERA_CUSTOM) {} + else if (mode == CAMERA_ORBITAL) { // Orbital can just orbit Matrix rotation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED*GetFrameTime()); From f78721991f735a11b2d47faa014748f0f19d0883 Mon Sep 17 00:00:00 2001 From: OetkenPurveyorOfCode Date: Sun, 28 Apr 2024 20:29:45 +0200 Subject: [PATCH 259/745] Use builtin_clz for clang on windows (#3939) --- src/external/sinfl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/external/sinfl.h b/src/external/sinfl.h index 1f6bf6f02..3c7173777 100644 --- a/src/external/sinfl.h +++ b/src/external/sinfl.h @@ -171,7 +171,7 @@ extern int zsinflate(void *out, int cap, const void *in, int size); static int sinfl_bsr(unsigned n) { -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) _BitScanReverse(&n, n); return n; #elif defined(__GNUC__) || defined(__clang__) From 80d318461f297c039e3edb5da80a7beee67fc979 Mon Sep 17 00:00:00 2001 From: Tomas Fabrizio Orsi <65001595+lima-limon-inc@users.noreply.github.com> Date: Sun, 28 Apr 2024 17:39:28 -0300 Subject: [PATCH 260/745] Made comments on raylib.h match those present in rcamera.h (#3942) Signed-off-by: Tomas Fabrizio Orsi --- src/raylib.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index b9463228b..2fa60a058 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -913,11 +913,11 @@ typedef enum { // Camera system modes typedef enum { - CAMERA_CUSTOM = 0, // Custom camera - CAMERA_FREE, // Free camera - CAMERA_ORBITAL, // Orbital camera - CAMERA_FIRST_PERSON, // First person camera - CAMERA_THIRD_PERSON // Third person camera + CAMERA_CUSTOM = 0, // Camera custom, controlled by user (UpdateCamera() does nothing) + CAMERA_FREE, // Camera free mode + CAMERA_ORBITAL, // Camera orbital, around target, zoom supported + CAMERA_FIRST_PERSON, // Camera first person + CAMERA_THIRD_PERSON // Camera third person } CameraMode; // Camera projection From 915dd95d88cb9fe7b47d3d48e61ffcc7bfafce40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 Apr 2024 20:39:44 +0000 Subject: [PATCH 261/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 10 +++++----- parser/output/raylib_api.lua | 10 +++++----- parser/output/raylib_api.xml | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index c7caabfac..d81014e05 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -2957,27 +2957,27 @@ { "name": "CAMERA_CUSTOM", "value": 0, - "description": "Custom camera" + "description": "Camera custom, controlled by user (UpdateCamera() does nothing)" }, { "name": "CAMERA_FREE", "value": 1, - "description": "Free camera" + "description": "Camera free mode" }, { "name": "CAMERA_ORBITAL", "value": 2, - "description": "Orbital camera" + "description": "Camera orbital, around target, zoom supported" }, { "name": "CAMERA_FIRST_PERSON", "value": 3, - "description": "First person camera" + "description": "Camera first person" }, { "name": "CAMERA_THIRD_PERSON", "value": 4, - "description": "Third person camera" + "description": "Camera third person" } ] }, diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 607904bbc..105a20bbb 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -2957,27 +2957,27 @@ return { { name = "CAMERA_CUSTOM", value = 0, - description = "Custom camera" + description = "Camera custom, controlled by user (UpdateCamera() does nothing)" }, { name = "CAMERA_FREE", value = 1, - description = "Free camera" + description = "Camera free mode" }, { name = "CAMERA_ORBITAL", value = 2, - description = "Orbital camera" + description = "Camera orbital, around target, zoom supported" }, { name = "CAMERA_FIRST_PERSON", value = 3, - description = "First person camera" + description = "Camera first person" }, { name = "CAMERA_THIRD_PERSON", value = 4, - description = "Third person camera" + description = "Camera third person" } } }, diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 8183d5cf8..37786d2cf 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -627,11 +627,11 @@ - - - - - + + + + + From e0027eb767031bdf8f4fb688b6bf5a977c250c05 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 28 Apr 2024 22:59:35 +0200 Subject: [PATCH 262/745] REVIEWED: `DrawLine()` to avoid pixel rounding issues #3931 --- src/rshapes.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index 902019599..f13f4b019 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -178,8 +178,9 @@ void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color colo { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2f((float)startPosX, (float)startPosY); - rlVertex2f((float)endPosX, (float)endPosY); + // WARNING: Adding 0.5f offset to "center" point on selected pixel + rlVertex2f((float)startPosX + 0.5f, (float)startPosY + 0.5f); + rlVertex2f((float)endPosX + 0.5f, (float)endPosY + 0.5f); rlEnd(); } @@ -188,8 +189,9 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2f(startPos.x, startPos.y); - rlVertex2f(endPos.x, endPos.y); + // WARNING: Adding 0.5f offset to "center" point on selected pixel + rlVertex2f(startPos.x + 0.5f, startPos.y + 0.5f); + rlVertex2f(endPos.x + 0.5f, endPos.y + 0.5f); rlEnd(); } From b03c8ba945a06ed1ec3d6ed7c3185e1264909323 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 28 Apr 2024 23:07:21 +0200 Subject: [PATCH 263/745] WARNING: BREAKING: REDESIGN: `SetTextLineSpacing()` Redesigned function to only consider separation between the end of vertical size of one line and the beginning of next line --- examples/text/text_codepoints_loading.c | 2 +- examples/text/text_font_loading.c | 2 +- src/rtext.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/text/text_codepoints_loading.c b/examples/text/text_codepoints_loading.c index c69803c12..95a81dfc3 100644 --- a/examples/text/text_codepoints_loading.c +++ b/examples/text/text_codepoints_loading.c @@ -52,7 +52,7 @@ int main(void) // Set bilinear scale filter for better font scaling SetTextureFilter(font.texture, TEXTURE_FILTER_BILINEAR); - SetTextLineSpacing(54); // Set line spacing for multiline text (when line breaks are included '\n') + SetTextLineSpacing(20); // Set line spacing for multiline text (when line breaks are included '\n') // Free codepoints, atlas has already been generated free(codepointsNoDups); diff --git a/examples/text/text_font_loading.c b/examples/text/text_font_loading.c index 2c8786c42..6b98a4e8a 100644 --- a/examples/text/text_font_loading.c +++ b/examples/text/text_font_loading.c @@ -47,7 +47,7 @@ int main(void) // NOTE: We define a font base size of 32 pixels tall and up-to 250 characters Font fontTtf = LoadFontEx("resources/pixantiqua.ttf", 32, 0, 250); - SetTextLineSpacing(48); // Set line spacing for multiline text (when line breaks are included '\n') + SetTextLineSpacing(16); // Set line spacing for multiline text (when line breaks are included '\n') bool useTtf = false; diff --git a/src/rtext.c b/src/rtext.c index 47f3e062a..3544ff8da 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -144,7 +144,7 @@ static Font LoadBMFont(const char *fileName); // Load a BMFont file (AngelCode #if defined(SUPPORT_FILEFORMAT_BDF) static GlyphInfo *LoadFontDataBDF(const unsigned char *fileData, int dataSize, int *codepoints, int codepointCount, int *outFontSize); #endif -static int textLineSpacing = 15; // Text vertical line spacing in pixels +static int textLineSpacing = 2; // Text vertical line spacing in pixels (between lines) #if defined(SUPPORT_DEFAULT_FONT) extern void LoadFontDefault(void); @@ -1166,7 +1166,7 @@ void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, f if (codepoint == '\n') { // NOTE: Line spacing is a global variable, use SetTextLineSpacing() to setup - textOffsetY += textLineSpacing; + textOffsetY += (fontSize + textLineSpacing); textOffsetX = 0.0f; } else @@ -1237,7 +1237,7 @@ void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Ve if (codepoints[i] == '\n') { // NOTE: Line spacing is a global variable, use SetTextLineSpacing() to setup - textOffsetY += textLineSpacing; + textOffsetY += (fontSize + textLineSpacing); textOffsetX = 0.0f; } else @@ -1319,7 +1319,7 @@ Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing textWidth = 0; // NOTE: Line spacing is a global variable, use SetTextLineSpacing() to setup - textHeight += (float)textLineSpacing; + textHeight += (fontSize + textLineSpacing); } if (tempByteCounter < byteCounter) tempByteCounter = byteCounter; From 7246d798adeac4e0d8713cfdaf89fb9a19f71d69 Mon Sep 17 00:00:00 2001 From: UmgefallenesGlas <108078099+UmgefallenesGlas@users.noreply.github.com> Date: Tue, 30 Apr 2024 23:47:11 +0200 Subject: [PATCH 264/745] Changed one minor Comment (#3949) --- src/raylib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index 2fa60a058..035f6f2bf 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -726,7 +726,7 @@ typedef enum { GAMEPAD_BUTTON_RIGHT_FACE_LEFT, // Gamepad right button left (i.e. PS3: Square, Xbox: X) GAMEPAD_BUTTON_LEFT_TRIGGER_1, // Gamepad top/back trigger left (first), it could be a trailing button GAMEPAD_BUTTON_LEFT_TRIGGER_2, // Gamepad top/back trigger left (second), it could be a trailing button - GAMEPAD_BUTTON_RIGHT_TRIGGER_1, // Gamepad top/back trigger right (one), it could be a trailing button + GAMEPAD_BUTTON_RIGHT_TRIGGER_1, // Gamepad top/back trigger right (first), it could be a trailing button GAMEPAD_BUTTON_RIGHT_TRIGGER_2, // Gamepad top/back trigger right (second), it could be a trailing button GAMEPAD_BUTTON_MIDDLE_LEFT, // Gamepad center buttons, left one (i.e. PS3: Select) GAMEPAD_BUTTON_MIDDLE, // Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) From 27a015d022ecdf771ea64b23f495a3b66101e170 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 30 Apr 2024 21:47:28 +0000 Subject: [PATCH 265/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 2 +- parser/output/raylib_api.lua | 2 +- parser/output/raylib_api.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index d81014e05..d50085a4a 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -2254,7 +2254,7 @@ { "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", "value": 11, - "description": "Gamepad top/back trigger right (one), it could be a trailing button" + "description": "Gamepad top/back trigger right (first), it could be a trailing button" }, { "name": "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 105a20bbb..ef8e1c51e 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -2254,7 +2254,7 @@ return { { name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", value = 11, - description = "Gamepad top/back trigger right (one), it could be a trailing button" + description = "Gamepad top/back trigger right (first), it could be a trailing button" }, { name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 37786d2cf..e17c59d09 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -476,7 +476,7 @@ - + From 763129e96b0ae8a795f62d40d1b75736e4e6ae46 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 1 May 2024 18:12:57 +0200 Subject: [PATCH 266/745] Reviewed some warnings --- src/rmodels.c | 2 +- src/rshapes.c | 16 ++++++++-------- src/rtext.c | 4 ++-- src/rtextures.c | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 5efc32283..27c19a3c7 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5549,7 +5549,7 @@ static bool GetPoseAtTimeGLTF(cgltf_interpolation_type interpolationType, cgltf_ } } - float duration = fmax((tend - tstart), EPSILON); + float duration = fmaxf((tend - tstart), EPSILON); float t = (time - tstart)/duration; t = (t < 0.0f)? 0.0f : t; t = (t > 1.0f)? 1.0f : t; diff --git a/src/rshapes.c b/src/rshapes.c index f13f4b019..80df64e2d 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -815,17 +815,17 @@ void DrawRectangleLines(int posX, int posY, int width, int height, Color color) { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - rlVertex2f(posX, posY); - rlVertex2f(posX + width, posY + 1); + rlVertex2f((float)posX, (float)posY); + rlVertex2f((float)posX + (float)width, (float)posY + 1); - rlVertex2f(posX + width, posY + 1); - rlVertex2f(posX + width, posY + height); + rlVertex2f((float)posX + (float)width, (float)posY + 1); + rlVertex2f((float)posX + (float)width, (float)posY + (float)height); - rlVertex2f(posX + width, posY + height); - rlVertex2f(posX + 1, posY + height); + rlVertex2f((float)posX + (float)width, (float)posY + (float)height); + rlVertex2f((float)posX + 1, (float)posY + (float)height); - rlVertex2f(posX + 1, posY + height); - rlVertex2f(posX + 1, posY + 1); + rlVertex2f((float)posX + 1, (float)posY + (float)height); + rlVertex2f((float)posX + 1, (float)posY + 1); rlEnd(); } diff --git a/src/rtext.c b/src/rtext.c index 3544ff8da..b5ba17e3a 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1151,7 +1151,7 @@ void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, f int size = TextLength(text); // Total size in bytes of the text, scanned by codepoints in loop - int textOffsetY = 0; // Offset between lines (on linebreak '\n') + float textOffsetY = 0; // Offset between lines (on linebreak '\n') float textOffsetX = 0.0f; // Offset X to next character to draw float scaleFactor = fontSize/font.baseSize; // Character quad scaling factor @@ -1225,7 +1225,7 @@ void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSiz // Draw multiple character (codepoints) void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint) { - int textOffsetY = 0; // Offset between lines (on linebreak '\n') + float textOffsetY = 0; // Offset between lines (on linebreak '\n') float textOffsetX = 0.0f; // Offset X to next character to draw float scaleFactor = fontSize/font.baseSize; // Character quad scaling factor diff --git a/src/rtextures.c b/src/rtextures.c index 0658a6807..47ff83f5c 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -314,7 +314,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int if (fileData != NULL) { unsigned char *dataPtr = fileData; - unsigned int size = GetPixelDataSize(width, height, format); + int size = GetPixelDataSize(width, height, format); if (size <= dataSize) // Security check { @@ -697,8 +697,8 @@ Image LoadImageFromScreen(void) Vector2 scale = GetWindowScaleDPI(); Image image = { 0 }; - image.width = GetScreenWidth()*scale.x; - image.height = GetScreenHeight()*scale.y; + image.width = (int)(GetScreenWidth()*scale.x); + image.height = (int)(GetScreenHeight()*scale.y); image.mipmaps = 1; image.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8; image.data = rlReadScreenPixels(image.width, image.height); From c21edadab0e24d9340508329b454abe05227cdec Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 1 May 2024 18:39:38 +0200 Subject: [PATCH 267/745] Update rprand.h --- src/external/rprand.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/external/rprand.h b/src/external/rprand.h index 7e27d980f..8d77bf757 100644 --- a/src/external/rprand.h +++ b/src/external/rprand.h @@ -202,7 +202,7 @@ int *rprand_load_sequence(unsigned int count, int min, int max) { value = ((unsigned int)rprand_xoshiro()%(abs(max - min) + 1)) + min; - for (int j = 0; j < i; j++) + for (unsigned int j = 0; j < i; j++) { if (sequence[j] == value) { From 33b32ca53a7817a9cfdb1840a8ab75fa7cb47723 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 1 May 2024 18:41:28 +0200 Subject: [PATCH 268/745] Default shader attrib locations need to be exposed They need to be exposed on `rlgl.h` header section (not implementation section) because with some specific use cases (custom config.h, rmodels module enabled), building fails otherwise. --- src/rlgl.h | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 9477558c8..ae53b4efb 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -322,6 +322,26 @@ #define RL_READ_FRAMEBUFFER 0x8CA8 // GL_READ_FRAMEBUFFER #define RL_DRAW_FRAMEBUFFER 0x8CA9 // GL_DRAW_FRAMEBUFFER +// Default shader vertex attribute locations +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3 +#endif + #ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT +#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4 +#endif +#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 + #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5 +#endif + //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- @@ -934,26 +954,6 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad #endif #endif -// Default shader vertex attribute locations -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0 -#endif -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1 -#endif -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2 -#endif -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3 -#endif -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4 -#endif -#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 - #define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5 -#endif - // Default shader vertex attribute names to set location points #ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION From f1007554a0a8145060797c0aa8169bdaf2c1c6b8 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 1 May 2024 22:58:33 +0200 Subject: [PATCH 269/745] Set default init values for random #3954 --- src/external/rprand.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/external/rprand.h b/src/external/rprand.h index 8d77bf757..ded6708e5 100644 --- a/src/external/rprand.h +++ b/src/external/rprand.h @@ -147,8 +147,13 @@ RPRANDAPI void rprand_unload_sequence(int *sequence); // Unload pseudo //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- -static uint64_t rprand_seed = 0; // SplitMix64 actual seed -static uint32_t rprand_state[4] = { 0 }; // Xoshiro128** state, nitialized by SplitMix64 +static uint64_t rprand_seed = 0xAABBCCDD; // SplitMix64 default seed (aligned to rprand_state) +static uint32_t rprand_state[4] = { // Xoshiro128** state, initialized by SplitMix64 + 0x96ea83c1, + 0x218b21e5, + 0xaa91febd, + 0x976414d4 +}; //---------------------------------------------------------------------------------- // Module internal functions declaration From 34d00d52177230cb3434240c263a0529aa0b4891 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 5 May 2024 19:46:31 +0200 Subject: [PATCH 270/745] Minor formatting tweaks --- .../resources/shaders/glsl100/palette_switch.fs | 16 +++++++++------- .../resources/shaders/glsl330/palette_switch.fs | 13 ++++++++----- src/external/rl_gputex.h | 4 ++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/examples/shaders/resources/shaders/glsl100/palette_switch.fs b/examples/shaders/resources/shaders/glsl100/palette_switch.fs index 25b496321..d8d696d4f 100644 --- a/examples/shaders/resources/shaders/glsl100/palette_switch.fs +++ b/examples/shaders/resources/shaders/glsl100/palette_switch.fs @@ -2,7 +2,7 @@ precision mediump float; -const int colors = 8; +const int MAX_INDEXED_COLORS = 8; // Input vertex attributes (from vertex shader) varying vec2 fragTexCoord; @@ -10,7 +10,8 @@ varying vec4 fragColor; // Input uniform values uniform sampler2D texture0; -uniform ivec3 palette[colors]; +uniform ivec3 palette[MAX_INDEXED_COLORS]; +//uniform sampler2D palette; // Alternative to ivec3, palette provided as a 256x1 texture void main() { @@ -18,13 +19,13 @@ void main() vec4 texelColor = texture2D(texture0, fragTexCoord)*fragColor; // Convert the (normalized) texel color RED component (GB would work, too) - // to the palette index by scaling up from [0, 1] to [0, 255]. + // to the palette index by scaling up from [0..1] to [0..255] int index = int(texelColor.r*255.0); - + ivec3 color = ivec3(0); // NOTE: On GLSL 100 we are not allowed to index a uniform array by a variable value, - // a constantmust be used, so this logic... + // a constant must be used, so this logic... if (index == 0) color = palette[0]; else if (index == 1) color = palette[1]; else if (index == 2) color = palette[2]; @@ -33,9 +34,10 @@ void main() else if (index == 5) color = palette[5]; else if (index == 6) color = palette[6]; else if (index == 7) color = palette[7]; + + //gl_FragColor = texture2D(palette, texelColor.xy); // Alternative to ivec3 // Calculate final fragment color. Note that the palette color components - // are defined in the range [0, 255] and need to be normalized to [0, 1] - // for OpenGL to work. + // are defined in the range [0..255] and need to be normalized to [0..1] gl_FragColor = vec4(float(color.x)/255.0, float(color.y)/255.0, float(color.z)/255.0, texelColor.a); } diff --git a/examples/shaders/resources/shaders/glsl330/palette_switch.fs b/examples/shaders/resources/shaders/glsl330/palette_switch.fs index 7c8a488cd..6a82529b1 100644 --- a/examples/shaders/resources/shaders/glsl330/palette_switch.fs +++ b/examples/shaders/resources/shaders/glsl330/palette_switch.fs @@ -1,6 +1,6 @@ #version 330 -const int colors = 8; +const int MAX_INDEXED_COLORS = 8; // Input fragment attributes (from fragment shader) in vec2 fragTexCoord; @@ -8,7 +8,8 @@ in vec4 fragColor; // Input uniform values uniform sampler2D texture0; -uniform ivec3 palette[colors]; +uniform ivec3 palette[MAX_INDEXED_COLORS]; +//uniform sampler2D palette; // Alternative to ivec3, palette provided as a 256x1 texture // Output fragment color out vec4 finalColor; @@ -16,15 +17,17 @@ out vec4 finalColor; void main() { // Texel color fetching from texture sampler + // NOTE: The texel is actually the a GRAYSCALE index color vec4 texelColor = texture(texture0, fragTexCoord)*fragColor; // Convert the (normalized) texel color RED component (GB would work, too) - // to the palette index by scaling up from [0, 1] to [0, 255]. + // to the palette index by scaling up from [0..1] to [0..255] int index = int(texelColor.r*255.0); ivec3 color = palette[index]; + + //finalColor = texture(palette, texelColor.xy); // Alternative to ivec3 // Calculate final fragment color. Note that the palette color components - // are defined in the range [0, 255] and need to be normalized to [0, 1] - // for OpenGL to work. + // are defined in the range [0..255] and need to be normalized to [0..1] finalColor = vec4(color/255.0, texelColor.a); } diff --git a/src/external/rl_gputex.h b/src/external/rl_gputex.h index 2cbe59636..c57730552 100644 --- a/src/external/rl_gputex.h +++ b/src/external/rl_gputex.h @@ -229,7 +229,7 @@ void *rl_load_dds_from_memory(const unsigned char *file_data, unsigned int file_ } } } - else if (header->ddspf.flags == 0x40 && header->ddspf.rgb_bit_count == 24) // DDS_RGB, no compressed + else if ((header->ddspf.flags == 0x40) && (header->ddspf.rgb_bit_count == 24)) // DDS_RGB, no compressed { int data_size = image_pixel_size*3*sizeof(unsigned char); image_data = RL_MALLOC(data_size); @@ -238,7 +238,7 @@ void *rl_load_dds_from_memory(const unsigned char *file_data, unsigned int file_ *format = PIXELFORMAT_UNCOMPRESSED_R8G8B8; } - else if (header->ddspf.flags == 0x41 && header->ddspf.rgb_bit_count == 32) // DDS_RGBA, no compressed + else if ((header->ddspf.flags == 0x41) && (header->ddspf.rgb_bit_count == 32)) // DDS_RGBA, no compressed { int data_size = image_pixel_size*4*sizeof(unsigned char); image_data = RL_MALLOC(data_size); From 23385231c6c5ed6e9ace97e7305d3b7002c62171 Mon Sep 17 00:00:00 2001 From: bohonghuang <1281299809@qq.com> Date: Mon, 6 May 2024 02:19:25 +0800 Subject: [PATCH 271/745] [rlgl] Fix incorrect matrix multiplication order in `rlMultMatrixf` (#3935) --- src/rlgl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rlgl.h b/src/rlgl.h index ae53b4efb..513dd3ed7 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -1296,7 +1296,7 @@ void rlMultMatrixf(const float *matf) matf[2], matf[6], matf[10], matf[14], matf[3], matf[7], matf[11], matf[15] }; - *RLGL.State.currentMatrix = rlMatrixMultiply(*RLGL.State.currentMatrix, mat); + *RLGL.State.currentMatrix = rlMatrixMultiply(mat, *RLGL.State.currentMatrix); } // Multiply the current matrix by a perspective matrix generated by parameters From 3d9aafed3b5d183f35a1e8060d0985475101f6db Mon Sep 17 00:00:00 2001 From: Christian Haas Date: Sun, 5 May 2024 20:22:58 +0200 Subject: [PATCH 272/745] [rcore_desktop] Fix 3693 initial window geometry (#3950) * Rework window placement and dimensions for multi-monitor setups; - fullscreen apps use primary monitor, exclusively - non-fullscreen apps come in two variants: a) pre-determined window size by user b) use-active-monitor dimensions by user specifying 0x0 Either way, the window shall be centred at the monitor where it was created This may have been the original intent, yet the primary monitor was used also for the second case, regardless where the window opened. * Clean up code, handle error, fix integer-overflow for centering windowed fullscreen --- src/platforms/rcore_desktop.c | 95 +++++++++++++++++++++++++---------- 1 file changed, 69 insertions(+), 26 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index de289ca0a..f08774165 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1218,6 +1218,19 @@ void PollInputEvents(void) // Module Internal Functions Definition //---------------------------------------------------------------------------------- +static void SetDimensionsFromMonitor(GLFWmonitor *monitor) +{ + const GLFWvidmode *mode = glfwGetVideoMode(monitor); + + // Default display resolution to that of the current mode + CORE.Window.display.width = mode->width; + CORE.Window.display.height = mode->height; + + // Set screen width/height to the display width/height if they are 0 + if (CORE.Window.screen.width == 0) CORE.Window.screen.width = CORE.Window.display.width; + if (CORE.Window.screen.height == 0) CORE.Window.screen.height = CORE.Window.display.height; +} + // Initialize platform: graphics, inputs and more int InitPlatform(void) { @@ -1358,26 +1371,22 @@ int InitPlatform(void) // REF: https://github.com/raysan5/raylib/issues/1554 glfwSetJoystickCallback(NULL); - // Find monitor resolution - GLFWmonitor *monitor = glfwGetPrimaryMonitor(); - if (!monitor) - { - TRACELOG(LOG_WARNING, "GLFW: Failed to get primary monitor"); - return -1; - } - - const GLFWvidmode *mode = glfwGetVideoMode(monitor); - - CORE.Window.display.width = mode->width; - CORE.Window.display.height = mode->height; - - // Set screen width/height to the display width/height if they are 0 - if (CORE.Window.screen.width == 0) CORE.Window.screen.width = CORE.Window.display.width; - if (CORE.Window.screen.height == 0) CORE.Window.screen.height = CORE.Window.display.height; - + GLFWmonitor *monitor = NULL; if (CORE.Window.fullscreen) { - // Remember center for switchinging from fullscreen to window + // According to glfwCreateWindow(), if the user does not have a choice, fullscreen applications + // should default to the primary monitor. + + monitor = glfwGetPrimaryMonitor(); + if (!monitor) + { + TRACELOG(LOG_WARNING, "GLFW: Failed to get primary monitor"); + return -1; + } + + SetDimensionsFromMonitor(monitor); + + // Remember center for switching from fullscreen to window if ((CORE.Window.screen.height == CORE.Window.display.height) && (CORE.Window.screen.width == CORE.Window.display.width)) { // If screen width/height equal to the display, we can't calculate the window pos for toggling full-screened/windowed. @@ -1396,7 +1405,7 @@ int InitPlatform(void) // Obtain recommended CORE.Window.display.width/CORE.Window.display.height from a valid videomode for the monitor int count = 0; - const GLFWvidmode *modes = glfwGetVideoModes(glfwGetPrimaryMonitor(), &count); + const GLFWvidmode *modes = glfwGetVideoModes(monitor, &count); // Get closest video mode to desired CORE.Window.screen.width/CORE.Window.screen.height for (int i = 0; i < count; i++) @@ -1426,21 +1435,55 @@ int InitPlatform(void) // HighDPI monitors are properly considered in a following similar function: SetupViewport() SetupFramebuffer(CORE.Window.display.width, CORE.Window.display.height); - platform.handle = glfwCreateWindow(CORE.Window.display.width, CORE.Window.display.height, (CORE.Window.title != 0)? CORE.Window.title : " ", glfwGetPrimaryMonitor(), NULL); + platform.handle = glfwCreateWindow(CORE.Window.display.width, CORE.Window.display.height, (CORE.Window.title != 0)? CORE.Window.title : " ", monitor, NULL); // NOTE: Full-screen change, not working properly... //glfwSetWindowMonitor(platform.handle, glfwGetPrimaryMonitor(), 0, 0, CORE.Window.screen.width, CORE.Window.screen.height, GLFW_DONT_CARE); } else { - // If we are windowed fullscreen, ensures that window does not minimize when focus is lost - if ((CORE.Window.screen.height == CORE.Window.display.height) && (CORE.Window.screen.width == CORE.Window.display.width)) + // No-fullscreen window creation + bool wantWindowedFullscreen = (CORE.Window.screen.height == 0) && (CORE.Window.screen.width == 0); + + // If we are windowed fullscreen, ensures that window does not minimize when focus is lost. + // This hinting code will not work if the user already specified the correct monitor dimensions; + // at this point we don't know the monitor's dimensions. (Though, how did the user then?) + if (wantWindowedFullscreen) { glfwWindowHint(GLFW_AUTO_ICONIFY, 0); } - // No-fullscreen window creation - platform.handle = glfwCreateWindow(CORE.Window.screen.width, CORE.Window.screen.height, (CORE.Window.title != 0)? CORE.Window.title : " ", NULL, NULL); + // Default to at least one pixel in size, as creation with a zero dimension is not allowed. + int creationWidth = CORE.Window.screen.width != 0 ? CORE.Window.screen.width : 1; + int creationHeight = CORE.Window.screen.height != 0 ? CORE.Window.screen.height : 1; + + platform.handle = glfwCreateWindow(creationWidth, creationHeight, (CORE.Window.title != 0)? CORE.Window.title : " ", NULL, NULL); + + // After the window was created, determine the monitor that the window manager assigned. + // Derive display sizes, and, if possible, window size in case it was zero at beginning. + + int monitorCount = 0; + int monitorIndex = GetCurrentMonitor(); + GLFWmonitor **monitors = glfwGetMonitors(&monitorCount); + + if (monitorIndex < monitorCount) + { + monitor = monitors[monitorIndex]; + SetDimensionsFromMonitor(monitor); + + TRACELOG(LOG_INFO, "wantWindowed: %d, size: %dx%d", wantWindowedFullscreen, CORE.Window.screen.width, CORE.Window.screen.height); + if (wantWindowedFullscreen) + { + glfwSetWindowSize(platform.handle, CORE.Window.screen.width, CORE.Window.screen.height); + } + } + else + { + // The monitor for the window-manager-created window can not be determined, so it can not be centered. + glfwTerminate(); + TRACELOG(LOG_WARNING, "GLFW: Failed to determine Monitor to center Window"); + return -1; + } if (platform.handle) { @@ -1524,8 +1567,8 @@ int InitPlatform(void) int monitorHeight = 0; glfwGetMonitorWorkarea(monitor, &monitorX, &monitorY, &monitorWidth, &monitorHeight); - int posX = monitorX + (monitorWidth - CORE.Window.screen.width)/2; - int posY = monitorY + (monitorHeight - CORE.Window.screen.height)/2; + int posX = monitorX + (monitorWidth - (int)CORE.Window.screen.width)/2; + int posY = monitorY + (monitorHeight - (int)CORE.Window.screen.height)/2; if (posX < monitorX) posX = monitorX; if (posY < monitorY) posY = monitorY; SetWindowPosition(posX, posY); From f69ae583040060ece2e6e4f813e1408c8fd04900 Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Mon, 6 May 2024 12:50:05 +0200 Subject: [PATCH 273/745] Update BINDINGS.md (#3963) --- BINDINGS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/BINDINGS.md b/BINDINGS.md index 178fd987c..93ae18792 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -82,6 +82,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | Raylib.lean | 4.5 | [Lean4](https://lean-lang.org/) | BSD-3-Clause | https://github.com/KislyjKisel/Raylib.lean | | Raylib-CSharp-Vinculum | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/ZeroElectric/Raylib-CSharp-Vinculum | | raylib-cobol | **auto** | [COBOL](https://gnucobol.sourceforge.io) | Public domain | https://codeberg.org/glowiak/raylib-cobol | +| Raylib-CSharp | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | https://github.com/MrScautHD/Raylib-CSharp | ### Utility Wrapers These are utility wrappers for specific languages, they are not required to use raylib in the language but may adapt the raylib API to be more inline with the language's pardigm. From fa2b1c8f094db18466079fcd2f8e488bf89095c2 Mon Sep 17 00:00:00 2001 From: gabriel-marques Date: Tue, 7 May 2024 10:33:56 +0200 Subject: [PATCH 274/745] Implementing GetMonitorWidth/Height for DRM (#3956) * Implementing GetMonitorWidth/Height and GetMonitorPhysicalWidth/Height for drm Added implementation for DRM for functions : - GetMonitorWidth() - GetMonitorHeight() - GetMonitorPhysicalWidth() - GetMonitorPhysicalHeight() - GetMonnitorName() These functions take an argument but only the value 0 is accepted. This is because the DRM platform implementation manages only one screen for now * Refactor "GetMonitor" properties for DRM Platform Refactored GetMonitorHeight, GetMonitorWidth, GetMonitorPhysicalHeight, GetMonitorPhysicalWidth and GetMonitorName to accept only argument "0" as more than one screen is not supported in DRM platform. --- src/platforms/rcore_drm.c | 70 +++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index a07ba27f1..ba6071460 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -388,29 +388,69 @@ Vector2 GetMonitorPosition(int monitor) // Get selected monitor width (currently used by monitor) int GetMonitorWidth(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorWidth() not implemented on target platform"); - return 0; + int width = 0; + + if (monitor != 0) + { + TRACELOG(LOG_WARNING, "GetMonitorWidth() implemented for first monitor only"); + } + else if ((platform.connector) && (platform.modeIndex >= 0)) + { + width = platform.connector->modes[platform.modeIndex].hdisplay; + } + + return width; } // Get selected monitor height (currently used by monitor) int GetMonitorHeight(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorHeight() not implemented on target platform"); - return 0; + int height = 0; + + if (monitor != 0) + { + TRACELOG(LOG_WARNING, "GetMonitorHeight() implemented for first monitor only"); + } + else if ((platform.connector) && (platform.modeIndex >= 0)) + { + height = platform.connector->modes[platform.modeIndex].vdisplay; + } + + return height; } // Get selected monitor physical width in millimetres int GetMonitorPhysicalWidth(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorPhysicalWidth() not implemented on target platform"); - return 0; + int physicalWidth = 0; + + if (monitor != 0) + { + TRACELOG(LOG_WARNING, "GetMonitorPhysicalWidth() implemented for first monitor only"); + } + else if ((platform.connector) && (platform.modeIndex >= 0)) + { + physicalWidth = platform.connector->mmWidth; + } + + return physicalWidth; } // Get selected monitor physical height in millimetres int GetMonitorPhysicalHeight(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorPhysicalHeight() not implemented on target platform"); - return 0; + int physicalHeight = 0; + + if (monitor != 0) + { + TRACELOG(LOG_WARNING, "GetMonitorPhysicalHeight() implemented for first monitor only"); + } + else if ((platform.connector) && (platform.modeIndex >= 0)) + { + physicalHeight = platform.connector->mmHeight; + } + + return physicalHeight; } // Get selected monitor refresh rate @@ -429,8 +469,18 @@ int GetMonitorRefreshRate(int monitor) // Get the human-readable, UTF-8 encoded name of the selected monitor const char *GetMonitorName(int monitor) { - TRACELOG(LOG_WARNING, "GetMonitorName() not implemented on target platform"); - return ""; + const char *name = ""; + + if (monitor != 0) + { + TRACELOG(LOG_WARNING, "GetMonitorName() implemented for first monitor only"); + } + else if ((platform.connector) && (platform.modeIndex >= 0)) + { + name = platform.connector->modes[platform.modeIndex].name; + } + + return name; } // Get window position XY on monitor From 9805fe0b1afe8a25a5c7be92468a58bc2fbf8e4a Mon Sep 17 00:00:00 2001 From: Colleague Riley <50218871+ColleagueRiley@users.noreply.github.com> Date: Tue, 7 May 2024 14:30:52 -0400 Subject: [PATCH 275/745] make RGFW a custom platform (#3941) * fix minor bugs and errors (x86) for the RGFW platform, update RGFW platform license, update makefile info for RGFW platform * revert * (RGFW) (winapi) fix mouse hide bug when cursor changes * ensure PLATFORM_SHELL is defined (PLATFORM_RGFW) --------- Co-authored-by: ColleagueRiley --- examples/Makefile | 34 +- src/Makefile | 45 +- src/external/RGFW.h | 6349 ++++++++++++++++++++++++++++ src/platforms/rcore_desktop_rgfw.c | 1519 +++++++ src/rcore.c | 8 +- 5 files changed, 7948 insertions(+), 7 deletions(-) create mode 100644 src/external/RGFW.h create mode 100644 src/platforms/rcore_desktop_rgfw.c diff --git a/examples/Makefile b/examples/Makefile index 9ce05da54..52945c4b4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -13,6 +13,11 @@ # - Windows (Win32, Win64) # - Linux (X11/Wayland desktop mode) # - Others (not tested) +# > PLATFORM_DESKTOP_RGFW (RGFW backend): +# - Windows (Win32, Win64) +# - Linux (X11 desktop mode) +# - macOS/OSX (x64, arm64 (not tested)) +# - Others (not tested) # > PLATFORM_WEB: # - HTML5 (WebAssembly) # > PLATFORM_DRM: @@ -45,7 +50,7 @@ # Define required environment variables #------------------------------------------------------------------------------------------------ # Define target platform: PLATFORM_DESKTOP, PLATFORM_DESKTOP_SDL, PLATFORM_DRM, PLATFORM_ANDROID, PLATFORM_WEB -PLATFORM ?= PLATFORM_DESKTOP +PLATFORM ?= PLATFORM_DESKTOP_RGFW # Define required raylib variables PROJECT_NAME ?= raylib_examples @@ -86,7 +91,7 @@ BUILD_WEB_RESOURCES ?= TRUE BUILD_WEB_RESOURCES_PATH ?= $(dir $<)resources@resources # Determine PLATFORM_OS when required -ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL PLATFORM_WEB)) +ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL PLATFORM_WEB PLATFORM_DESKTOP_RGFW)) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! # ifeq ($(UNAME),Msys) -> Windows ifeq ($(OS),Windows_NT) @@ -416,6 +421,31 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_SDL) LDLIBS += -latomic endif endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP_RGFW) + ifeq ($(PLATFORM_OS),WINDOWS) + # Libraries for Windows desktop compilation + LDLIBS = ..\src\libraylib.a -lgdi32 -lwinmm -lopengl32 + endif + ifeq ($(PLATFORM_OS),LINUX) + # Libraries for Debian GNU/Linux desktop compipling + # NOTE: Required packages: libegl1-mesa-dev + LDLIBS = ../src/libraylib.a -lGL -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor -lm -lpthread -ldl -lrt + + # Explicit link to libc + ifeq ($(RAYLIB_LIBTYPE),SHARED) + LDLIBS += -lc + endif + + # NOTE: On ARM 32bit arch, miniaudio requires atomics library + LDLIBS += -latomic + endif + ifeq ($(PLATFORM_OS),OSX) + # Libraries for Debian GNU/Linux desktop compiling + # NOTE: Required packages: libegl1-mesa-dev + LDLIBS = ../src/libraylib.a -lm + LDLIBS += -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo + endif +endif ifeq ($(PLATFORM),PLATFORM_DRM) # Libraries for DRM compiling # NOTE: Required packages: libasound2-dev (ALSA) diff --git a/src/Makefile b/src/Makefile index 7f5dd335d..89d81627a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -13,6 +13,11 @@ # - Windows (Win32, Win64) # - Linux (X11/Wayland desktop mode) # - Others (not tested) +# > PLATFORM_DESKTOP_RGFW (RGFW backend): +# - Windows (Win32, Win64) +# - Linux (X11 desktop mode) +# - macOS/OSX (x64, arm64 (not tested)) +# - Others (not tested) # > PLATFORM_WEB: # - HTML5 (WebAssembly) # > PLATFORM_DRM: @@ -114,7 +119,7 @@ HOST_PLATFORM_OS ?= WINDOWS PLATFORM_OS ?= WINDOWS # Determine PLATFORM_OS when required -ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL PLATFORM_WEB PLATFORM_ANDROID)) +ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL PLATFORM_WEB PLATFORM_ANDROID PLATFORM_DESKTOP_RGFW)) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! # ifeq ($(UNAME),Msys) -> Windows ifeq ($(OS),Windows_NT) @@ -224,6 +229,14 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) #GRAPHICS = GRAPHICS_API_OPENGL_43 # Uncomment to use OpenGL 4.3 #GRAPHICS = GRAPHICS_API_OPENGL_ES2 # Uncomment to use OpenGL ES 2.0 (ANGLE) endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP_RGFW) + # By default use OpenGL 3.3 on desktop platforms + GRAPHICS ?= GRAPHICS_API_OPENGL_33 + #GRAPHICS = GRAPHICS_API_OPENGL_11 # Uncomment to use OpenGL 1.1 + #GRAPHICS = GRAPHICS_API_OPENGL_21 # Uncomment to use OpenGL 2.1 + #GRAPHICS = GRAPHICS_API_OPENGL_43 # Uncomment to use OpenGL 4.3 + #GRAPHICS = GRAPHICS_API_OPENGL_ES2 # Uncomment to use OpenGL ES 2.0 (ANGLE) +endif ifeq ($(PLATFORM),PLATFORM_DESKTOP_SDL) # By default use OpenGL 3.3 on desktop platform with SDL backend GRAPHICS ?= GRAPHICS_API_OPENGL_33 @@ -576,6 +589,31 @@ endif ifeq ($(PLATFORM),PLATFORM_ANDROID) LDLIBS = -llog -landroid -lEGL -lGLESv2 -lOpenSLES -lc -lm endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP_RGFW) + ifeq ($(PLATFORM_OS),WINDOWS) + # Libraries for Windows desktop compilation + LDLIBS = ..\src\libraylib.a -lgdi32 -lwinmm -lopengl32 + endif + ifeq ($(PLATFORM_OS),LINUX) + # Libraries for Debian GNU/Linux desktop compipling + # NOTE: Required packages: libegl1-mesa-dev + LDLIBS = ../src/libraylib.a -lGL -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor -lm -lpthread -ldl -lrt + + # Explicit link to libc + ifeq ($(RAYLIB_LIBTYPE),SHARED) + LDLIBS += -lc + endif + + # NOTE: On ARM 32bit arch, miniaudio requires atomics library + LDLIBS += -latomic + endif + ifeq ($(PLATFORM_OS),OSX) + # Libraries for Debian GNU/Linux desktop compiling + # NOTE: Required packages: libegl1-mesa-dev + LDLIBS = ../src/libraylib.a -lm + LDLIBS += -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo + endif +endif # Define source code object files required #------------------------------------------------------------------------------------------------ @@ -583,7 +621,8 @@ OBJS = rcore.o \ rshapes.o \ rtextures.o \ rtext.o \ - utils.o + utils.o + ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(USE_EXTERNAL_GLFW),FALSE) @@ -619,7 +658,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) @echo "raylib library generated (lib$(RAYLIB_LIB_NAME).a)!" else ifeq ($(RAYLIB_LIBTYPE),SHARED) - ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL)) + ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_DESKTOP PLATFORM_DESKTOP_SDL PLATFORM_DESKTOP_RGFW)) ifeq ($(PLATFORM_OS),WINDOWS) # NOTE: Linking with provided resource file $(CC) -shared -o $(RAYLIB_RELEASE_PATH)/$(RAYLIB_LIB_NAME).dll $(OBJS) $(RAYLIB_RES_FILE) $(LDFLAGS) $(LDLIBS) diff --git a/src/external/RGFW.h b/src/external/RGFW.h new file mode 100644 index 000000000..13b68d98a --- /dev/null +++ b/src/external/RGFW.h @@ -0,0 +1,6349 @@ +/* +* Copyright (C) 2023-24 ColleagueRiley +* +* libpng license +* +* This software is provided 'as-is', without any express or implied +* warranty. In no event will the authors be held liable for any damages +* arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, +* including commercial applications, and to alter it and redistribute it +* freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not +* claim that you wrote the original software. If you use this software +* in a product, an acknowledgment in the product documentation would be +* appreciated but is not required. +* 2. Altered source versions must be plainly marked as such, and must not be +* misrepresented as being the original software. +* 3. This notice may not be removed or altered from any source distribution. +* +* +*/ + +/* + (MAKE SURE RGFW_IMPLEMENTATION is in exactly one header or you use -D RGFW_IMPLEMENTATION) + #define RGFW_IMPLEMENTATION - makes it so source code is included with header +*/ + +/* + #define RGFW_IMPLEMENTATION - (required) makes it so the source code is included + #define RGFW_PRINT_ERRORS - (optional) makes it so RGFW prints errors when they're found + #define RGFW_OSMESA - (optional) use OSmesa as backend (instead of system's opengl api + regular opengl) + #define RGFW_BUFFER - (optional) just draw directly to (RGFW) window pixel buffer that is drawn to screen (the buffer is in the RGBA format) + #define RGFW_EGL - (optional) use EGL for loading an OpenGL context (instead of the system's opengl api) + #define RGFW_OPENGL_ES1 - (optional) use EGL to load and use Opengl ES (version 1) for backend rendering (instead of the system's opengl api) + #define RGFW_OPENGL_ES2 - (optional) use OpenGL ES (version 2) + #define RGFW_VULKAN - (optional) use vulkan for the rendering backend (rather than opengl) + #define RGFW_DIRECTX - (optional) use directX for the rendering backend (rather than opengl) (windows only, defaults to opengl for unix) + #define RGFW_NO_API - (optional) don't use any rendering API (no opengl, no vulkan, no directX) + + #define RGFW_LINK_EGL (optional) (windows only) if EGL is being used, if EGL functions should be defined dymanically (using GetProcAddress) + #define RGFW_LINK_OSMESA (optional) (windows only) if EGL is being used, if OS Mesa functions should be defined dymanically (using GetProcAddress) + + #define RGFW_X11 (optional) (unix only) if X11 should be used. This option is turned on by default by unix systems except for MacOS + #define RGFW_WGL_LOAD (optional) (windows only) if WGL should be loaded dynamically during runtime + #define RGFW_NO_X11_CURSOR (optional) (unix only) don't use XCursor + #define RGFW_NO_X11_CURSOR_PRELOAD (optional) (unix only) Use XCursor, but don't link it in code, (you'll have to link it with -lXcursor) + + #define RGFW_NO_DPI - Do not include calculate DPI (no XRM nor libShcore included) + + #define RGFW_ALLOC_DROPFILES (optional) if room should be allocating for drop files (by default it's global data) + #define RGFW_MALLOC x - choose what function to use to allocate, by default the standard malloc is used + #define RGFW_CALLOC x - choose what function to use to allocate (calloc), by default the standard calloc is used + #define RGFW_FREE x - choose what function to use to allocated memory, by default the standard free is used +*/ + +/* + Credits : + EimaMei/Sacode : Much of the code for creating windows using winapi, Wrote the Silicon library, helped with MacOS Support + + stb - This project is heavily inspired by the stb single header files + + GLFW: + certain parts of winapi and X11 are very poorly documented, + GLFW's source code was referenced and used throughout the project (used code is marked in some way), + this mainly includes, code for drag and drops, code for setting the icon to a bitmap and the code for managing the clipboard for X11 (as these parts are not documented very well) + + GLFW Copyright, https::/github.com/GLFW/GLFW + + Copyright (c) 2002-2006 Marcus Geelnard + Copyright (c) 2006-2019 Camilla Löwy +*/ + +#ifndef RGFW_MALLOC +#include +#include +#define RGFW_MALLOC malloc +#define RGFW_CALLOC calloc +#define RGFW_FREE free +#endif + +#if !_MSC_VER +#ifndef inline +#ifndef __APPLE__ +#define inline __inline +#endif +#endif +#endif + +#ifndef RGFWDEF +#ifdef __APPLE__ +#define RGFWDEF extern inline +#else +#define RGFWDEF inline +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + /* makes sure the header file part is only defined once by default */ +#ifndef RGFW_HEADER + +#define RGFW_HEADER + +#if !defined(u8) +#include + + typedef uint8_t u8; + typedef int8_t i8; + typedef uint16_t u16; + typedef int16_t i16; + typedef uint32_t u32; + typedef int32_t i32; + typedef uint64_t u64; + typedef int64_t i64; +#endif + +#if defined(RGFW_X11) && defined(__APPLE__) +#define RGFW_MACOS_X11 +#undef __APPLE__ +#endif + +#if defined(_WIN32) && !defined(RGFW_X11) /* (if you're using X11 on windows some how) */ + + /* this name looks better */ + /* plus it helps with cross-compiling because RGFW_X11 won't be accidently defined */ + +#define RGFW_WINDOWS + +#if defined(_WIN32) +#define WIN32 +#endif + +#if defined(_WIN64) +#define WIN64 +#define _AMD64_ +#undef _X86_ +#else +#undef _AMD64_ +#define _X86_ +#endif + +#include + +#ifdef __MINGW32__ +#include +#else +#include +#endif + +#else +#if defined(__unix__) || defined(RGFW_MACOS_X11) || defined(RGFW_X11) +#define RGFW_MACOS_X11 +#define RGFW_X11 +#include +#endif +#endif + +#if defined(__APPLE__) && !defined(RGFW_MACOS_X11) && !defined(RGFW_X11) +#define RGFW_MACOS +#endif + +#if (defined(RGFW_OPENGL_ES1) || defined(RGFW_OPENGL_ES2)) && !defined(RGFW_EGL) +#define RGFW_EGL +#endif +#if defined(RGFW_EGL) && defined(__APPLE__) + #warning EGL is not supported for Cocoa, switching back to the native opengl api +#undef RGFW_EGL +#endif + +#if !defined(RGFW_OSMESA) && !defined(RGFW_EGL) && !defined(RGFW_OPENGL) && !defined (RGFW_VULKAN) && !defined(RGFW_DIRECTX) && !defined(RGFW_BUFFER) && !defined(RGFW_NO_API) +#define RGFW_OPENGL +#endif + +#ifdef RGFW_VULKAN +#ifndef RGFW_MAX_FRAMES_IN_FLIGHT +#define RGFW_MAX_FRAMES_IN_FLIGHT 2 +#endif + +#ifdef RGFW_X11 +#define VK_USE_PLATFORM_XLIB_KHR +#endif +#ifdef RGFW_WINDOWS +#define VK_USE_PLATFORM_WIN32_KHR +#endif +#ifdef RGFW_MACOS +#define VK_USE_PLATFORM_MACOS_MVK +#endif + +#include +#endif + +#if defined(RGFW_X11) && defined(RGFW_OPENGL) +#ifndef GLX_MESA_swap_control +#define GLX_MESA_swap_control +#endif +#include /* GLX defs, xlib.h, gl.h */ +#endif + +#ifdef RGFW_EGL +#include +#endif + +#ifdef RGFW_OSMESA +#ifndef __APPLE__ +#include +#else +#include +#endif +#endif + +#if defined(RGFW_DIRECTX) && defined(RGFW_WINDOWS) +#include +#include +#include +#include + +#ifndef __cplusplus +#define __uuidof(T) IID_##T +#endif +#endif + + /*! Optional arguments for making a windows */ +#define RGFW_TRANSPARENT_WINDOW (1L<<9) /*!< the window is transparent */ +#define RGFW_NO_BORDER (1L<<3) /*!< the window doesn't have border */ +#define RGFW_NO_RESIZE (1L<<4) /*!< the window cannot be resized by the user */ +#define RGFW_ALLOW_DND (1L<<5) /*!< the window supports drag and drop*/ +#define RGFW_HIDE_MOUSE (1L<<6) /*! the window should hide the mouse or not (can be toggled later on) using `RGFW_window_mouseShow*/ +#define RGFW_FULLSCREEN (1L<<8) /* the window is fullscreen by default or not */ +#define RGFW_CENTER (1L<<10) /*! center the window on the screen */ +#define RGFW_OPENGL_SOFTWARE (1L<<11) /*! use OpenGL software rendering */ +#define RGFW_COCOA_MOVE_TO_RESOURCE_DIR (1L << 12) /* (cocoa only), move to resource folder */ +#define RGFW_SCALE_TO_MONITOR (1L << 13) /* scale the window to the screen */ + +#define RGFW_NO_GPU_RENDER (1L<<14) /* don't render (using the GPU based API)*/ +#define RGFW_NO_CPU_RENDER (1L<<15) /* don't render (using the CPU based buffer rendering)*/ + + +/*! event codes */ +#define RGFW_keyPressed 2 /* a key has been pressed */ +#define RGFW_keyReleased 3 /*!< a key has been released*/ +/*! key event note + the code of the key pressed is stored in + RGFW_Event.keyCode + !!Keycodes defined at the bottom of the header file!! + + while a string version is stored in + RGFW_Event.KeyString + + RGFW_Event.lockState holds the current lockState + this means if CapsLock, NumLock are active or not +*/ +#define RGFW_mouseButtonPressed 4 /*!< a mouse button has been pressed (left,middle,right)*/ +#define RGFW_mouseButtonReleased 5 /*!< a mouse button has been released (left,middle,right)*/ +#define RGFW_mousePosChanged 6 /*!< the position of the mouse has been changed*/ +/*! mouse event note + the x and y of the mouse can be found in the vector, RGFW_Event.point + + RGFW_Event.button holds which mouse button was pressed +*/ +#define RGFW_jsButtonPressed 7 /*!< a joystick button was pressed */ +#define RGFW_jsButtonReleased 8 /*!< a joystick button was released */ +#define RGFW_jsAxisMove 9 /*!< an axis of a joystick was moved*/ +/*! joystick event note + RGFW_Event.joystick holds which joystick was altered, if any + RGFW_Event.button holds which joystick button was pressed + + RGFW_Event.axis holds the data of all the axis + RGFW_Event.axisCount says how many axis there are +*/ +#define RGFW_windowAttribsChange 10 /*!< the window was moved or resized (by the user) */ +/* attribs change event note + The event data is sent straight to the window structure + with win->r.x, win->r.y, win->r.w and win->r.h +*/ +#define RGFW_quit 33 /*!< the user clicked the quit button*/ +#define RGFW_dnd 34 /*!< a file has been dropped into the window*/ +#define RGFW_dnd_init 35 /*!< the start of a dnd event, when the place where the file drop is known */ +/* dnd data note + The x and y coords of the drop are stored in the vector RGFW_Event.point + + RGFW_Event.droppedFilesCount holds how many files were dropped + + This is also the size of the array which stores all the dropped file string, + RGFW_Event.droppedFiles +*/ + +/*! mouse button codes (RGFW_Event.button) */ +#define RGFW_mouseLeft 1 /*!< left mouse button is pressed*/ +#define RGFW_mouseMiddle 2 /*!< mouse-wheel-button is pressed*/ +#define RGFW_mouseRight 3 /*!< right mouse button is pressed*/ +#define RGFW_mouseScrollUp 4 /*!< mouse wheel is scrolling up*/ +#define RGFW_mouseScrollDown 5 /*!< mouse wheel is scrolling down*/ + +#ifndef RGFW_MAX_PATH +#define RGFW_MAX_PATH 260 /* max length of a path (for dnd) */ +#endif +#ifndef RGFW_MAX_DROPS +#define RGFW_MAX_DROPS 260 /* max items you can drop at once */ +#endif + + +/* for RGFW_Event.lockstate */ +#define RGFW_CAPSLOCK (1L << 1) +#define RGFW_NUMLOCK (1L << 2) + +/*! joystick button codes (based on xbox/playstation), you may need to change these values per controller */ +#ifndef RGFW_JS_A + +#define RGFW_JS_A 0 /* or PS X button */ +#define RGFW_JS_B 1 /* or PS circle button */ +#define RGFW_JS_Y 2 /* or PS triangle button */ +#define RGFW_JS_X 3 /* or PS square button */ +#define RGFW_JS_START 9 /* start button */ +#define RGFW_JS_SELECT 8 /* select button */ +#define RGFW_JS_HOME 10 /* home button */ +#define RGFW_JS_UP 13 /* dpad up */ +#define RGFW_JS_DOWN 14 /* dpad down*/ +#define RGFW_JS_LEFT 15 /* dpad left */ +#define RGFW_JS_RIGHT 16 /* dpad right */ +#define RGFW_JS_L1 4 /* left bump */ +#define RGFW_JS_L2 5 /* left trigger*/ +#define RGFW_JS_R1 6 /* right bumper */ +#define RGFW_JS_R2 7 /* right trigger */ + +#endif + +/* basic vector type, if there's not already a point/vector type of choice */ +#ifndef RGFW_vector +typedef struct { i32 x, y; } RGFW_vector; +#endif + + /* basic rect type, if there's not already a rect type of choice */ +#ifndef RGFW_rect + typedef struct { i32 x, y, w, h; } RGFW_rect; +#endif + + /* basic area type, if there's not already a area type of choice */ +#ifndef RGFW_area + typedef struct { u32 w, h; } RGFW_area; +#endif + +#define RGFW_VECTOR(x, y) (RGFW_vector){x, y} +#define RGFW_RECT(x, y, w, h) (RGFW_rect){x, y, w, h} +#define RGFW_AREA(w, h) (RGFW_area){w, h} + + typedef struct RGFW_monitor { + char name[128]; /* monitor name */ + RGFW_rect rect; /* monitor Workarea */ + float scaleX, scaleY; /* monitor content scale*/ + float physW, physH; /* monitor physical size */ + } RGFW_monitor; + + /* + NOTE : Monitor functions should be ran only as many times as needed (not in a loop) + */ + + /* get an array of all the monitors (max 6) */ + RGFWDEF RGFW_monitor* RGFW_getMonitors(void); + /* get the primary monitor */ + RGFWDEF RGFW_monitor RGFW_getPrimaryMonitor(void); + + /* NOTE: some parts of the data can represent different things based on the event (read comments in RGFW_Event struct) */ + typedef struct RGFW_Event { +#ifdef RGFW_WINDOWS + char keyName[16]; /* key name of event*/ +#else + char* keyName; /*!< key name of event */ +#endif + + /*! drag and drop data */ + /* 260 max paths with a max length of 260 */ +#ifdef RGFW_ALLOC_DROPFILES + char** droppedFiles; +#else + char droppedFiles[RGFW_MAX_DROPS][RGFW_MAX_PATH]; /*!< dropped files*/ +#endif + u32 droppedFilesCount; /*!< house many files were dropped */ + + u32 type; /*!< which event has been sent?*/ + RGFW_vector point; /*!< mouse x, y of event (or drop point) */ + u32 keyCode; /*!< keycode of event !!Keycodes defined at the bottom of the header file!! */ + + u32 inFocus; /*if the window is in focus or not*/ + + u32 fps; /*the current fps of the window [the fps is checked when events are checked]*/ + u32 current_ticks, frames; /* this is used for counting the fps */ + + u8 lockState; + + u16 joystick; /* which joystick this event applies to (if applicable to any) */ + + u8 button; /*!< which mouse button has been clicked (0) left (1) middle (2) right OR which joystick button was pressed*/ + double scroll; /* the raw mouse scroll value */ + + u8 axisesCount; /* number of axises */ + RGFW_vector axis[2]; /* x, y of axises (-100 to 100) */ + } RGFW_Event; /*!< Event structure for checking/getting events */ + + /* source data for the window (used by the APIs) */ + typedef struct RGFW_window_src { +#ifdef RGFW_WINDOWS + HWND window; /*!< source window */ + HDC hdc; /*!< source HDC */ + u32 hOffset; /*!< height offset for window */ +#endif +#ifdef RGFW_X11 + Display* display; /*!< source display */ + Window window; /*!< source window */ + Cursor cursor; +#endif +#ifdef RGFW_MACOS + u32 display; + void* displayLink; + void* window; +#endif + +#if defined(RGFW_OPENGL) && !defined(RGFW_OSMESA) +#ifdef RGFW_MACOS + void* rSurf; /*!< source graphics context */ +#endif +#ifdef RGFW_WINDOWS + HGLRC rSurf; /*!< source graphics context */ +#endif +#ifdef RGFW_X11 + GLXContext rSurf; /*!< source graphics context */ +#endif +#else +#ifdef RGFW_VULKAN + VkSurfaceKHR rSurf; /*!< source graphics context */ + + /* vulkan data */ + VkSwapchainKHR swapchain; + u32 image_count; + VkImage* swapchain_images; + VkImageView* swapchain_image_views; +#endif + +#ifdef RGFW_OSMESA + OSMesaContext rSurf; +#endif +#endif + +#ifdef RGFW_WINDOWS + RGFW_area maxSize, minSize; +#if defined(RGFW_DIRECTX) + IDXGISwapChain* swapchain; + ID3D11RenderTargetView* renderTargetView; + ID3D11DepthStencilView* pDepthStencilView; +#endif +#endif + +#if defined(RGFW_MACOS) && !defined(RGFW_MACOS_X11) + void* view; /*apple viewpoint thingy*/ +#endif + +#ifdef RGFW_EGL + EGLSurface EGL_surface; + EGLDisplay EGL_display; +#endif + +#if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) +#ifdef RGFW_WINDOWS + HBITMAP bitmap; +#endif +#ifdef RGFW_X11 + XImage* bitmap; +#endif +#ifdef RGFW_MACOS + void* bitmap; /* API's bitmap for storing or managing */ + void* image; +#endif +#if defined(RGFW_BUFFER) && defined(RGFW_WINDOWS) + HDC hdcMem; /* window stored in memory that winapi needs to render buffers */ +#endif +#endif + + u8 jsPressed[4][16]; /* if a key is currently pressed or not (per joystick) */ + + i32 joysticks[4]; /* limit of 4 joysticks at a time */ + u16 joystickCount; /* the actual amount of joysticks */ + + RGFW_area scale; /* window scaling */ + +#ifdef RGFW_MACOS + u8 cursorChanged; /* for steve jobs */ +#endif + + u32 winArgs; /* windows args (for RGFW to check) */ + /* + !< if dnd is enabled or on (based on window creating args) + cursorChanged + */ + } RGFW_window_src; + + typedef struct RGFW_window { + RGFW_window_src src; + +#if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) + u8* buffer; /* buffer for non-GPU systems (OSMesa, basic software rendering) */ + /* when rendering using RGFW_BUFFER, the buffer is in the RGBA format */ +#endif + + RGFW_Event event; /*!< current event */ + + RGFW_rect r; /* the x, y, w and h of the struct */ + + u8 fpsCap; /*!< the fps cap of the window should run at (change this var to change the fps cap, 0 = no limit)*/ + /*[the fps is capped when events are checked]*/ + } RGFW_window; /*!< Window structure for managing the window */ + +#if defined(RGFW_X11) || defined(RGFW_MACOS) + typedef u64 RGFW_thread; /* thread type unix */ +#else + typedef void* RGFW_thread; /* thread type for window */ +#endif + + RGFW_window* RGFW_createWindow( + const char* name, /* name of the window */ + RGFW_rect rect, /* rect of window */ + u16 args /* extra arguments (NULL / (u16)0 means no args used)*/ + ); /*!< function to create a window struct */ + + /* get the size of the screen to an area struct */ + RGFWDEF RGFW_area RGFW_getScreenSize(void); + + /* + this function checks an *individual* event (and updates window structure attributes) + this means, using this function without a while loop may cause event lag + + ex. + + while (RGFW_window_checkEvent(win) != NULL) [this keeps checking events until it reaches the last one] + */ + + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win); /*!< check events (returns a pointer to win->event or NULL if there is no event)*/ + + /*! window managment functions*/ + RGFWDEF void RGFW_window_close(RGFW_window* win); /*!< close the window and free leftover data */ + + RGFWDEF void RGFW_window_move(RGFW_window* win, + RGFW_vector v/* new pos*/ + ); + + /* move to a specific monitor */ + RGFWDEF void RGFW_window_moveToMonitor(RGFW_window* win, RGFW_monitor m); + + RGFWDEF void RGFW_window_resize(RGFW_window* win, + RGFW_area a/* new size*/ + ); + + /* set the minimum size a user can shrink a window */ + RGFWDEF void RGFW_window_setMinSize(RGFW_window* win, RGFW_area a); + /* set the minimum size a user can extend a window */ + RGFWDEF void RGFW_window_setMaxSize(RGFW_window* win, RGFW_area a); + + RGFWDEF void RGFW_window_maximize(RGFW_window* win); /* maximize the window size */ + RGFWDEF void RGFW_window_minimize(RGFW_window* win); /* minimize the window (in taskbar (per OS))*/ + RGFWDEF void RGFW_window_restore(RGFW_window* win); /* restore the window from minimized (per OS)*/ + + RGFWDEF void RGFW_window_setName(RGFW_window* win, + char* name + ); + + void RGFW_window_setIcon(RGFW_window* win, /*!< source window */ + u8* icon /*!< icon bitmap */, + RGFW_area a /*!< width and height of the bitmap*/, + i32 channels /*!< how many channels the bitmap has (rgb : 3, rgba : 4) */ + ); /*!< image resized by default */ + + /*!< sets mouse to bitmap (very simular to RGFW_window_setIcon), image NOT resized by default*/ + RGFWDEF void RGFW_window_setMouse(RGFW_window* win, u8* image, RGFW_area a, i32 channels); + + /*!< sets the mouse to a standard API cursor (based on RGFW_MOUSE, as seen at the end of the file) */ +#ifdef RGFW_MACOS + RGFWDEF void RGFW_window_setMouseStandard(RGFW_window* win, void* mouse); +#else + RGFWDEF void RGFW_window_setMouseStandard(RGFW_window* win, i32 mouse); +#endif + + RGFWDEF void RGFW_window_setMouseDefault(RGFW_window* win); /* sets the mouse to1` the default mouse image */ + /* + holds the mouse in place by moving the mouse back each time it moves + you can still use win->event.point to see how much it moved before it was put back in place + + this is useful for a 3D camera + */ + RGFWDEF void RGFW_window_mouseHold(RGFW_window* win); + /* undo hold */ + RGFWDEF void RGFW_window_mouseUnhold(RGFW_window* win); + + /* hide the window */ + RGFWDEF void RGFW_window_hide(RGFW_window* win); + /* show the window */ + RGFWDEF void RGFW_window_show(RGFW_window* win); + + /* + makes it so `RGFW_window_shouldClose` returns true + by setting the window event.type to RGFW_quit + */ + RGFWDEF void RGFW_window_setShouldClose(RGFW_window* win); + + /* where the mouse is on the screen */ + RGFWDEF RGFW_vector RGFW_getGlobalMousePoint(void); + + /* show the mouse or hide the mouse*/ + RGFWDEF void RGFW_window_showMouse(RGFW_window* win, i8 show); + /* move the mouse to a set x, y pos*/ + RGFWDEF void RGFW_window_moveMouse(RGFW_window* win, RGFW_vector v); + + /* if the window should close (RGFW_close was sent or escape was pressed) */ + RGFWDEF u8 RGFW_window_shouldClose(RGFW_window* win); + /* if window is fullscreen'd */ + RGFWDEF u8 RGFW_window_isFullscreen(RGFW_window* win); + /* if window is hidden */ + RGFWDEF u8 RGFW_window_isHidden(RGFW_window* win); + /* if window is minimized */ + RGFWDEF u8 RGFW_window_isMinimized(RGFW_window* win); + /* if window is maximized */ + RGFWDEF u8 RGFW_window_isMaximized(RGFW_window* win); + + /* + scale the window to the monitor, + this is run by default if the user uses the arg `RGFW_SCALE_TO_MONITOR` during window creation + */ + RGFWDEF void RGFW_window_scaleToMonitor(RGFW_window* win); + + /* get the struct of the window's monitor */ + RGFWDEF RGFW_monitor RGFW_window_getMonitor(RGFW_window* win); + + /*!< make the window the current opengl drawing context */ + RGFWDEF void RGFW_window_makeCurrent(RGFW_window* win); + + /*error handling*/ + RGFWDEF u8 RGFW_Error(); /* returns true if an error has occurred (doesn't print errors itself) */ + + /*!< if window == NULL, it checks if the key is pressed globally. Otherwise, it checks only if the key is pressed while the window in focus.*/ + RGFWDEF u8 RGFW_isPressedI(RGFW_window* win, u32 key); /*!< if key is pressed (key code)*/ + + /* + !!Keycodes defined at the bottom of the header file!! + */ + /*!< converts a key code to it's key string */ + RGFWDEF char* RGFW_keyCodeTokeyStr(u64 key); + /*!< converts a string of a key to it's key code */ + RGFWDEF u32 RGFW_keyStrToKeyCode(char* key); + /*!< if key is pressed (key string) */ +#define RGFW_isPressedS(win, key) RGFW_isPressedI(win, RGFW_keyStrToKeyCode(key)) + +/*! clipboard functions*/ + RGFWDEF char* RGFW_readClipboard(size_t* size); /*!< read clipboard data */ +#define RGFW_clipboardFree free /* the string returned from RGFW_readClipboard must be freed */ + + RGFWDEF void RGFW_writeClipboard(const char* text, u32 textLen); /*!< write text to the clipboard */ + + /* + convert a keyString to a char version + */ + RGFWDEF char RGFW_keystrToChar(const char*); + /* + ex. + "parenleft" -> '(' + "A" -> 'A', + "Return" -> "\n" + */ + +#ifndef RGFW_NO_THREADS + /*! threading functions*/ + + /*! NOTE! (for X11/linux) : if you define a window in a thread, it must be run after the original thread's window is created or else there will be a memory error */ + /* + I'd suggest you use sili's threading functions instead + if you're going to use sili + which is a good idea generally + */ + RGFWDEF RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args); /*!< create a thread*/ + RGFWDEF void RGFW_cancelThread(RGFW_thread thread); /*!< cancels a thread*/ + RGFWDEF void RGFW_joinThread(RGFW_thread thread); /*!< join thread to current thread */ + RGFWDEF void RGFW_setThreadPriority(RGFW_thread thread, u8 priority); /*!< sets the priority priority */ +#endif + + /*! gamepad/joystick functions (linux-only currently) */ + + /*! joystick count starts at 0*/ + /*!< register joystick to window based on a number (the number is based on when it was connected eg. /dev/js0)*/ + RGFWDEF u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber); + RGFWDEF u16 RGFW_registerJoystickF(RGFW_window* win, char* file); + + RGFWDEF u32 RGFW_isPressedJS(RGFW_window* win, u16 controller, u8 button); + + /*! native opengl functions */ +#ifdef RGFW_OPENGL +/*! Get max OpenGL version */ + RGFWDEF u8* RGFW_getMaxGLVersion(); + /* OpenGL init hints */ + RGFWDEF void RGFW_setGLStencil(i32 stencil); /* set stencil buffer bit size (8 by default) */ + RGFWDEF void RGFW_setGLSamples(i32 samples); /* set number of sampiling buffers (4 by default) */ + RGFWDEF void RGFW_setGLStereo(i32 stereo); /* use GL_STEREO (GL_FALSE by default) */ + RGFWDEF void RGFW_setGLAuxBuffers(i32 auxBuffers); /* number of aux buffers (0 by default) */ + + /*! Set OpenGL version hint */ + RGFWDEF void RGFW_setGLVersion(i32 major, i32 minor); + RGFWDEF void* RGFW_getProcAddress(const char* procname); /* get native opengl proc address */ +#endif + /* supports openGL, directX, OSMesa, EGL and software rendering */ + RGFWDEF void RGFW_window_swapBuffers(RGFW_window* win); /* swap the rendering buffer */ + RGFWDEF void RGFW_window_swapInterval(RGFW_window* win, i32 swapInterval); + + RGFWDEF void RGFW_window_setGPURender(RGFW_window* win, i8 set); + +#ifdef RGFW_VULKAN + typedef struct { + VkInstance instance; + VkPhysicalDevice physical_device; + VkDevice device; + + VkDebugUtilsMessengerEXT debugMessenger; + + VkQueue graphics_queue; + VkQueue present_queue; + + VkFramebuffer* framebuffers; + + VkRenderPass render_pass; + VkPipelineLayout pipeline_layout; + VkPipeline graphics_pipeline; + + VkCommandPool command_pool; + VkCommandBuffer* command_buffers; + + VkSemaphore* available_semaphores; + VkSemaphore* finished_semaphore; + VkFence* in_flight_fences; + VkFence* image_in_flight; + size_t current_frame; + } RGFW_vulkanInfo; + + /*! initializes a vulkan rendering context for the RGFW window, + this outputs the vulkan surface into wwin->src.rSurf + other vulkan data is stored in the global instance of the RGFW_vulkanInfo structure which is returned + by the initVulkan() function + RGFW_VULKAN must be defined for this function to be defined + + */ + RGFWDEF RGFW_vulkanInfo* RGFW_initVulkan(RGFW_window* win); + RGFWDEF void RGFW_freeVulkan(void); + + RGFWDEF RGFW_vulkanInfo* RGFW_getVulkanInfo(void); + + RGFWDEF int RGFW_initData(RGFW_window* win); + RGFWDEF void RGFW_createSurface(VkInstance instance, RGFW_window* win); + int RGFW_deviceInitialization(RGFW_window* win); + int RGFW_createSwapchain(RGFW_window* win); + RGFWDEF int RGFW_createRenderPass(); + int RGFW_createCommandPool(); + int RGFW_createCommandBuffers(RGFW_window* win); + int RGFW_createSyncObjects(RGFW_window* win); + RGFWDEF int RGFW_createFramebuffers(RGFW_window* win); +#endif + +#ifdef RGFW_DIRECTX + typedef struct { + IDXGIFactory* pFactory; + IDXGIAdapter* pAdapter; + ID3D11Device* pDevice; + ID3D11DeviceContext* pDeviceContext; + } RGFW_directXinfo; + + /* + RGFW stores a global instance of RGFW_directXinfo, + you can use this function to get a pointer the instance + */ + RGFWDEF RGFW_directXinfo* RGFW_getDirectXInfo(void); +#endif + + /*! Supporting functions */ + RGFWDEF void RGFW_window_checkFPS(RGFW_window* win); /*!< updates fps / sets fps to cap (ran by RGFW_window_checkEvent)*/ + RGFWDEF u64 RGFW_getTime(void); /* get time in seconds */ + RGFWDEF u64 RGFW_getTimeNS(void); /* get time in nanoseconds */ + RGFWDEF u32 RGFW_getFPS(void); /* get current FPS (win->event.fps) */ + RGFWDEF void RGFW_sleep(u32 microsecond); /* sleep for a set time */ +#endif /* RGFW_HEADER */ + + /* + Example to get you started : + + linux : gcc main.c -lX11 -lXcursor -lGL + windows : gcc main.c -lopengl32 -lshell32 -lgdi32 + macos : gcc main.c -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo + + #define RGFW_IMPLEMENTATION + #include "RGFW.h" + + u8 icon[4 * 3 * 3] = {0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF}; + + int main() { + RGFW_window* win = RGFW_createWindow("name", RGFW_RECT(500, 500, 500, 500), (u64)0); + + RGFW_window_setIcon(win, icon, RGFW_AREA(3, 3), 4); + + for (;;) { + RGFW_window_checkEvent(win); // NOTE: checking events outside of a while loop may cause input lag + if (win->event.type == RGFW_quit || RGFW_isPressedI(win, RGFW_Escape)) + break; + + RGFW_window_swapBuffers(win); + + glClearColor(0xFF, 0XFF, 0xFF, 0xFF); + glClear(GL_COLOR_BUFFER_BIT); + } + + RGFW_window_close(win); + } + + compiling : + + if you wish to compile the library all you have to do is create a new file with this in it + + rgfw.c + #define RGFW_IMPLEMENTATION + #include "RGFW.h" + + then you can use gcc (or whatever compile you wish to use) to compile the library into object file + + ex. gcc -c RGFW.c -fPIC + + after you compile the library into an object file, you can also turn the object file into an static or shared library + + (commands ar and gcc can be replaced with whatever equivalent your system uses) + static : ar rcs RGFW.a RGFW.o + shared : + windows: + gcc -shared RGFW.o -lopengl32 -lshell32 -lgdi32 -o RGFW.dll + linux: + gcc -shared RGFW.o -lX11 -lXcursor -lGL -o RGFW.so + macos: + gcc -shared RGFW.o -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo + */ + +#ifdef RGFW_X11 +#define RGFW_OS_BASED_VALUE(l, w, m) l +#endif +#ifdef RGFW_WINDOWS +#define RGFW_OS_BASED_VALUE(l, w, m) w +#endif +#ifdef RGFW_MACOS +#define RGFW_OS_BASED_VALUE(l, w, m) m +#endif + +#ifdef RGFW_IMPLEMENTATION + +#include +#include +#include +#include + +#ifdef RGFW_WINDOWS + +#define WIN32_LEAN_AND_MEAN + +#include + +#endif + +#ifdef RGFW_MACOS +#include + + /* + based on silicon.h + */ + +#define GL_SILENCE_DEPRECATION +#include +#include +#include +#include + + typedef CGRect NSRect; + typedef CGPoint NSPoint; + typedef CGSize NSSize; + + typedef void NSBitmapImageRep; + typedef void NSCursor; + typedef void NSDraggingInfo; + typedef void NSWindow; + typedef void NSApplication; + typedef void NSScreen; + typedef void NSEvent; + typedef void NSString; + typedef void NSOpenGLContext; + typedef void NSPasteboard; + typedef void NSColor; + typedef void NSArray; + typedef void NSImageRep; + typedef void NSImage; + typedef void NSOpenGLView; + + + typedef const char* NSPasteboardType; + typedef unsigned long NSUInteger; + typedef long NSInteger; + typedef NSInteger NSModalResponse; + +#ifdef __arm64__ + /* ARM just uses objc_msgSend */ +#define abi_objc_msgSend_stret objc_msgSend +#define abi_objc_msgSend_fpret objc_msgSend +#else /* __i386__ */ + /* x86 just uses abi_objc_msgSend_fpret and (NSColor *)objc_msgSend_id respectively */ +#define abi_objc_msgSend_stret objc_msgSend_stret +#define abi_objc_msgSend_fpret objc_msgSend_fpret +#endif + +#define NSAlloc(nsclass) objc_msgSend_id(nsclass, sel_registerName("alloc")) +#define objc_msgSend_bool ((BOOL (*)(id, SEL))objc_msgSend) +#define objc_msgSend_void ((void (*)(id, SEL))objc_msgSend) +#define objc_msgSend_void_id ((void (*)(id, SEL, id))objc_msgSend) +#define objc_msgSend_uint ((NSUInteger (*)(id, SEL))objc_msgSend) +#define objc_msgSend_void_bool ((void (*)(id, SEL, BOOL))objc_msgSend) +#define objc_msgSend_void_SEL ((void (*)(id, SEL, SEL))objc_msgSend) +#define objc_msgSend_id ((id (*)(id, SEL))objc_msgSend) + +#define si_declare_single(class, name, func) \ + void class##_##name(class* obj) { \ + return objc_msgSend_void(obj, sel_registerName(func)); \ + } + + +#define loadFunc(funcName) \ + static void* func = NULL;\ + if (func == NULL) \ + func = sel_registerName(funcName); + + void NSRelease(id obj) { + loadFunc("release"); + objc_msgSend_void(obj, func); + } + +#define release NSRelease + + si_declare_single(NSApplication, finishLaunching, "finishLaunching") + si_declare_single(NSOpenGLContext, flushBuffer, "flushBuffer") + + NSString* NSString_stringWithUTF8String(const char* str) { + loadFunc("stringWithUTF8String:"); + + return ((id(*)(id, SEL, const char*))objc_msgSend) + (objc_getClass("NSString"), func, str); + } + + const char* NSString_to_char(NSString* str) { + return ((const char* (*)(id, SEL)) objc_msgSend) (str, sel_registerName("UTF8String")); + } + + void si_impl_func_to_SEL_with_name(const char* class_name, const char* register_name, void* function) { + Class selected_class; + + if (strcmp(class_name, "NSView") == 0) { + selected_class = objc_getClass("ViewClass"); + } else if (strcmp(class_name, "NSWindow") == 0) { + selected_class = objc_getClass("WindowClass"); + } else { + selected_class = objc_getClass(class_name); + } + + class_addMethod(selected_class, sel_registerName(register_name), (IMP) function, 0); + } + + /* Header for the array. */ + typedef struct siArrayHeader { + size_t count; + /* TODO(EimaMei): Add a `type_width` later on. */ + } siArrayHeader; + + /* Gets the header of the siArray. */ +#define SI_ARRAY_HEADER(s) ((siArrayHeader*)s - 1) + + void* si_array_init_reserve(size_t sizeof_element, size_t count) { + siArrayHeader* ptr = malloc(sizeof(siArrayHeader) + (sizeof_element * count)); + void* array = ptr + sizeof(siArrayHeader); + + siArrayHeader* header = SI_ARRAY_HEADER(array); + header->count = count; + + return array; + } + +#define si_array_len(array) (SI_ARRAY_HEADER(array)->count) +#define si_func_to_SEL(class_name, function) si_impl_func_to_SEL_with_name(class_name, #function":", function) + /* Creates an Objective-C method (SEL) from a regular C function with the option to set the register name.*/ +#define si_func_to_SEL_with_name(class_name, register_name, function) si_impl_func_to_SEL_with_name(class_name, register_name":", function) + + NSRect NSMakeRect(double x, double y, double width, double height) { + NSRect r; + r.origin.x = x; + r.origin.y = y; + r.size.width = width; + r.size.height = height; + + return r; + } + + NSPoint NSMakePoint(double x, double y) { + NSPoint point; + point.x = x; + point.y = y; + return point; + } + + NSSize NSMakeSize(double w, double h) { + NSSize size; + size.width = w; + size.height = h; + return size; + } + + void* si_array_init(void* allocator, size_t sizeof_element, size_t count) { + void* array = si_array_init_reserve(sizeof_element, count); + memcpy(array, allocator, sizeof_element * count); + + return array; + } + + void si_array_free(void* array) { + if (array == NULL) + return; + + free(SI_ARRAY_HEADER(array)); + } + + unsigned char* NSBitmapImageRep_bitmapData(NSBitmapImageRep* imageRep) { + return ((unsigned char* (*)(id, SEL))objc_msgSend) + (imageRep, sel_registerName("bitmapData")); + } + +#define NS_ENUM(type, name) type name; enum + + typedef NS_ENUM(NSUInteger, NSBitmapFormat) { + NSBitmapFormatAlphaFirst = 1 << 0, // 0 means is alpha last (RGBA, CMYKA, etc.) + NSBitmapFormatAlphaNonpremultiplied = 1 << 1, // 0 means is premultiplied + NSBitmapFormatFloatingPointSamples = 1 << 2, // 0 is integer + + NSBitmapFormatSixteenBitLittleEndian API_AVAILABLE(macos(10.10)) = (1 << 8), + NSBitmapFormatThirtyTwoBitLittleEndian API_AVAILABLE(macos(10.10)) = (1 << 9), + NSBitmapFormatSixteenBitBigEndian API_AVAILABLE(macos(10.10)) = (1 << 10), + NSBitmapFormatThirtyTwoBitBigEndian API_AVAILABLE(macos(10.10)) = (1 << 11) + }; + + NSBitmapImageRep* NSBitmapImageRep_initWithBitmapData(unsigned char** planes, NSInteger width, NSInteger height, NSInteger bps, NSInteger spp, bool alpha, bool isPlanar, const char* colorSpaceName, NSBitmapFormat bitmapFormat, NSInteger rowBytes, NSInteger pixelBits) { + void* func = sel_registerName("initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:"); + + return (NSBitmapImageRep*) ((id(*)(id, SEL, unsigned char**, NSInteger, NSInteger, NSInteger, NSInteger, bool, bool, const char*, NSBitmapFormat, NSInteger, NSInteger))objc_msgSend) + (NSAlloc(objc_getClass("NSBitmapImageRep")), func, planes, width, height, bps, spp, alpha, isPlanar, NSString_stringWithUTF8String(colorSpaceName), bitmapFormat, rowBytes, pixelBits); + } + + NSColor* NSColor_colorWithSRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha) { + void* nsclass = objc_getClass("NSColor"); + void* func = sel_registerName("colorWithSRGBRed:green:blue:alpha:"); + return ((id(*)(id, SEL, CGFloat, CGFloat, CGFloat, CGFloat))objc_msgSend) + (nsclass, func, red, green, blue, alpha); + } + + NSCursor* NSCursor_initWithImage(NSImage* newImage, NSPoint aPoint) { + void* func = sel_registerName("initWithImage:hotSpot:"); + void* nsclass = objc_getClass("NSCursor"); + + return (NSCursor*) ((id(*)(id, SEL, id, NSPoint))objc_msgSend) + (NSAlloc(nsclass), func, newImage, aPoint); + } + + void NSImage_addRepresentation(NSImage* image, NSImageRep* imageRep) { + void* func = sel_registerName("addRepresentation:"); + objc_msgSend_void_id(image, func, imageRep); + } + + NSImage* NSImage_initWithSize(NSSize size) { + void* func = sel_registerName("initWithSize:"); + return ((id(*)(id, SEL, NSSize))objc_msgSend) + (NSAlloc(objc_getClass("NSImage")), func, size); + } +#define NS_OPENGL_ENUM_DEPRECATED(minVers, maxVers) API_AVAILABLE(macos(minVers)) + typedef NS_ENUM(NSInteger, NSOpenGLContextParameter) { + NSOpenGLContextParameterSwapInterval NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 222, /* 1 param. 0 -> Don't sync, 1 -> Sync to vertical retrace */ + NSOpenGLContextParameterSurfaceOrder NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 235, /* 1 param. 1 -> Above Window (default), -1 -> Below Window */ + NSOpenGLContextParameterSurfaceOpacity NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 236, /* 1 param. 1-> Surface is opaque (default), 0 -> non-opaque */ + NSOpenGLContextParameterSurfaceBackingSize NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 304, /* 2 params. Width/height of surface backing size */ + NSOpenGLContextParameterReclaimResources NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 308, /* 0 params. */ + NSOpenGLContextParameterCurrentRendererID NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 309, /* 1 param. Retrieves the current renderer ID */ + NSOpenGLContextParameterGPUVertexProcessing NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 310, /* 1 param. Currently processing vertices with GPU (get) */ + NSOpenGLContextParameterGPUFragmentProcessing NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 311, /* 1 param. Currently processing fragments with GPU (get) */ + NSOpenGLContextParameterHasDrawable NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 314, /* 1 param. Boolean returned if drawable is attached */ + NSOpenGLContextParameterMPSwapsInFlight NS_OPENGL_ENUM_DEPRECATED(10.0, 10.14) = 315, /* 1 param. Max number of swaps queued by the MP GL engine */ + + NSOpenGLContextParameterSwapRectangle API_DEPRECATED("", macos(10.0, 10.14)) = 200, /* 4 params. Set or get the swap rectangle {x, y, w, h} */ + NSOpenGLContextParameterSwapRectangleEnable API_DEPRECATED("", macos(10.0, 10.14)) = 201, /* Enable or disable the swap rectangle */ + NSOpenGLContextParameterRasterizationEnable API_DEPRECATED("", macos(10.0, 10.14)) = 221, /* Enable or disable all rasterization */ + NSOpenGLContextParameterStateValidation API_DEPRECATED("", macos(10.0, 10.14)) = 301, /* Validate state for multi-screen functionality */ + NSOpenGLContextParameterSurfaceSurfaceVolatile API_DEPRECATED("", macos(10.0, 10.14)) = 306, /* 1 param. Surface volatile state */ + }; + + + void NSOpenGLContext_setValues(NSOpenGLContext* context, const int* vals, NSOpenGLContextParameter param) { + void* func = sel_registerName("setValues:forParameter:"); + ((void (*)(id, SEL, const int*, NSOpenGLContextParameter))objc_msgSend) + (context, func, vals, param); + } + + void* NSOpenGLPixelFormat_initWithAttributes(const uint32_t* attribs) { + void* func = sel_registerName("initWithAttributes:"); + return (void*) ((id(*)(id, SEL, const uint32_t*))objc_msgSend) + (NSAlloc(objc_getClass("NSOpenGLPixelFormat")), func, attribs); + } + + NSOpenGLView* NSOpenGLView_initWithFrame(NSRect frameRect, uint32_t* format) { + void* func = sel_registerName("initWithFrame:pixelFormat:"); + return (NSOpenGLView*) ((id(*)(id, SEL, NSRect, uint32_t*))objc_msgSend) + (NSAlloc(objc_getClass("NSOpenGLView")), func, frameRect, format); + } + + void NSCursor_performSelector(NSCursor* cursor, void* selector) { + void* func = sel_registerName("performSelector:"); + objc_msgSend_void_SEL(cursor, func, selector); + } + + NSPasteboard* NSPasteboard_generalPasteboard(void) { + return (NSPasteboard*) objc_msgSend_id(objc_getClass("NSPasteboard"), sel_registerName("generalPasteboard")); + } + + NSString** cstrToNSStringArray(char** strs, size_t len) { + static NSString* nstrs[6]; + size_t i; + for (i = 0; i < len; i++) + nstrs[i] = NSString_stringWithUTF8String(strs[i]); + + return nstrs; + } + + const char* NSPasteboard_stringForType(NSPasteboard* pasteboard, NSPasteboardType dataType) { + void* func = sel_registerName("stringForType:"); + return (const char*) NSString_to_char(((id(*)(id, SEL, const char*))objc_msgSend)(pasteboard, func, NSString_stringWithUTF8String(dataType))); + } + + NSArray* c_array_to_NSArray(void* array, size_t len) { + void* func = sel_registerName("initWithObjects:count:"); + void* nsclass = objc_getClass("NSArray"); + + return ((id(*)(id, SEL, void*, NSUInteger))objc_msgSend) + (NSAlloc(nsclass), func, array, len); + } + + void NSregisterForDraggedTypes(void* view, NSPasteboardType* newTypes, size_t len) { + NSString** ntypes = cstrToNSStringArray(newTypes, len); + + void* func = sel_registerName("registerForDraggedTypes:"); + + NSArray* array = c_array_to_NSArray(ntypes, len); + + objc_msgSend_void_id(view, sel_registerName("registerForDraggedTypes:"), array); + + NSRelease(array); + } + + NSInteger NSPasteBoard_declareTypes(NSPasteboard* pasteboard, NSPasteboardType* newTypes, size_t len, void* owner) { + NSString** ntypes = cstrToNSStringArray(newTypes, len); + + void* func = sel_registerName("declareTypes:owner:"); + + NSArray* array = c_array_to_NSArray(ntypes, len); + + NSInteger output = ((NSInteger(*)(id, SEL, id, void*))objc_msgSend) + (pasteboard, func, array, owner); + NSRelease(array); + + return output; + } + + bool NSPasteBoard_setString(NSPasteboard* pasteboard, const char* stringToWrite, NSPasteboardType dataType) { + void* func = sel_registerName("setString:forType:"); + return ((bool (*)(id, SEL, id, NSPasteboardType))objc_msgSend) + (pasteboard, func, NSString_stringWithUTF8String(stringToWrite), NSString_stringWithUTF8String(dataType)); + } + + void NSRetain(id obj) { objc_msgSend_void(obj, sel_registerName("retain")); } + + typedef enum NSApplicationActivationPolicy { + NSApplicationActivationPolicyRegular, + NSApplicationActivationPolicyAccessory, + NSApplicationActivationPolicyProhibited + } NSApplicationActivationPolicy; + + typedef NS_ENUM(u32, NSBackingStoreType) { + NSBackingStoreRetained = 0, + NSBackingStoreNonretained = 1, + NSBackingStoreBuffered = 2 + }; + + typedef NS_ENUM(u32, NSWindowStyleMask) { + NSWindowStyleMaskBorderless = 0, + NSWindowStyleMaskTitled = 1 << 0, + NSWindowStyleMaskClosable = 1 << 1, + NSWindowStyleMaskMiniaturizable = 1 << 2, + NSWindowStyleMaskResizable = 1 << 3, + NSWindowStyleMaskTexturedBackground = 1 << 8, /* deprecated */ + NSWindowStyleMaskUnifiedTitleAndToolbar = 1 << 12, + NSWindowStyleMaskFullScreen = 1 << 14, + NSWindowStyleMaskFullSizeContentView = 1 << 15, + NSWindowStyleMaskUtilityWindow = 1 << 4, + NSWindowStyleMaskDocModalWindow = 1 << 6, + NSWindowStyleMaskNonactivatingPanel = 1 << 7, + NSWindowStyleMaskHUDWindow = 1 << 13 + }; + + typedef const char* NSPasteboardType; + NSPasteboardType const NSPasteboardTypeString = "public.utf8-plain-text"; // Replaces NSStringPboardType + + + + typedef NS_ENUM(i32, NSDragOperation) { + NSDragOperationNone = 0, + NSDragOperationCopy = 1, + NSDragOperationLink = 2, + NSDragOperationGeneric = 4, + NSDragOperationPrivate = 8, + NSDragOperationMove = 16, + NSDragOperationDelete = 32, + NSDragOperationEvery = ULONG_MAX, + + //NSDragOperationAll_Obsolete API_DEPRECATED("", macos(10.0,10.10)) = 15, // Use NSDragOperationEvery + //NSDragOperationAll API_DEPRECATED("", macos(10.0,10.10)) = NSDragOperationAll_Obsolete, // Use NSDragOperationEvery + }; + + + NSUInteger NSArray_count(NSArray* array) { + void* func = sel_registerName("count"); + return ((NSUInteger(*)(id, SEL))objc_msgSend)(array, func); + } + + void* NSArray_objectAtIndex(NSArray* array, NSUInteger index) { + void* func = sel_registerName("objectAtIndex:"); + return ((id(*)(id, SEL, NSUInteger))objc_msgSend)(array, func, index); + } + + const char** NSPasteboard_readObjectsForClasses(NSPasteboard* pasteboard, Class* classArray, size_t len, void* options) { + void* func = sel_registerName("readObjectsForClasses:options:"); + + NSArray* array = c_array_to_NSArray(classArray, len); + + NSArray* output = (NSArray*) ((id(*)(id, SEL, id, void*))objc_msgSend) + (pasteboard, func, array, options); + + NSRelease(array); + + NSUInteger count = NSArray_count(output); + + const char** res = si_array_init_reserve(sizeof(const char*), count); + + for (NSUInteger i = 0; i < count; i++) + res[i] = NSString_to_char(NSArray_objectAtIndex(output, i)); + + return res; + } + + void* NSWindow_contentView(NSWindow* window) { + void* func = sel_registerName("contentView"); + return objc_msgSend_id(window, func); + } +#endif + + +#define RGFW_ASSERT(check, str) {\ + if (!(check)) { \ + printf(str); \ + assert(check); \ + } \ +} + + u8 RGFW_error = 0; + u8 RGFW_Error() { return RGFW_error; } + +#define SET_ATTRIB(a, v) { \ + assert(((size_t) index + 1) < sizeof(attribs) / sizeof(attribs[0])); \ + attribs[index++] = a; \ + attribs[index++] = v; \ +} + +#define ADD_ATTRIB(a) { \ + assert(((size_t) index + 1) < sizeof(attribs) / sizeof(attribs[0])); \ + attribs[index++] = a; \ +} + +#if defined(RGFW_X11) || defined(RGFW_WINDOWS) + void RGFW_window_showMouse(RGFW_window* win, i8 show) { + static u8 RGFW_blk[] = { 0, 0, 0, 0 }; + if (show == 0) + RGFW_window_setMouse(win, RGFW_blk, RGFW_AREA(1, 1), 4); + else + RGFW_window_setMouseDefault(win); + } +#endif + + RGFWDEF RGFW_window* RGFW_window_basic_init(RGFW_rect rect, u16 args); + RGFWDEF void RGFW_init_buffer(RGFW_window* win); + + RGFW_window* RGFW_window_basic_init(RGFW_rect rect, u16 args) { + RGFW_window* win = (RGFW_window*) RGFW_MALLOC(sizeof(RGFW_window)); /* make a new RGFW struct */ + +#ifdef RGFW_ALLOC_DROPFILES + win->event.droppedFiles = (char**) RGFW_MALLOC(sizeof(char*) * RGFW_MAX_DROPS); + u32 i; + for (i = 0; i < RGFW_MAX_DROPS; i++) + win->event.droppedFiles[i] = (char*) RGFW_CALLOC(RGFW_MAX_PATH, sizeof(char)); +#endif + +#ifdef RGFW_X11 + /* open X11 display */ + /* this is done here so the screen size can be accessed */ + win->src.display = XOpenDisplay(NULL); + assert(win->src.display != NULL); +#endif + + #ifndef RGFW_X11 + RGFW_area screenR = RGFW_getScreenSize(); + #else + win->src.display = XOpenDisplay(NULL); + assert(win->src.display != NULL); + + Screen* scrn = DefaultScreenOfDisplay((Display*)win->src.display); + RGFW_area screenR = RGFW_AREA(scrn->width, scrn->height); + #endif + + if (args & RGFW_FULLSCREEN) + rect = RGFW_RECT(0, 0, screenR.w, screenR.h); + + if (args & RGFW_CENTER) + rect = RGFW_RECT((screenR.w - rect.w) / 2, (screenR.h - rect.h) / 2, rect.w, rect.h); + + /* set and init the new window's data */ + win->r = rect; + win->fpsCap = 0; + win->event.inFocus = 1; + win->event.droppedFilesCount = 0; + win->src.joystickCount = 0; +#ifdef RGFW_X11 + win->src.cursor = 0; +#endif +#ifdef RGFW_MACOS + RGFW_window_setMouseDefault(win); +#endif +#ifdef RGFW_WINDOWS + win->src.maxSize = RGFW_AREA(0, 0); + win->src.minSize = RGFW_AREA(0, 0); +#endif + win->src.winArgs = 0; + + return win; + } + + void RGFW_window_scaleToMonitor(RGFW_window* win) { + RGFW_monitor monitor = RGFW_window_getMonitor(win); + + RGFW_window_resize(win, RGFW_AREA(((u32) monitor.scaleX) * win->r.w, ((u32) monitor.scaleX) * win->r.h)); + } + + void RGFW_init_buffer(RGFW_window* win) { +#if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) + RGFW_area area = RGFW_getScreenSize(); +#if !(defined(RGFW_WINDOWS)) || defined(RGFW_OSMESA) + win->buffer = RGFW_MALLOC(area.w * area.h * 4); +#endif + +#ifdef RGFW_OSMESA + win->src.rSurf = OSMesaCreateContext(OSMESA_RGBA, NULL); + OSMesaMakeCurrent(win->src.rSurf, win->buffer, GL_UNSIGNED_BYTE, win->r.w, win->r.h); +#endif +#ifdef RGFW_X11 + win->src.bitmap = XCreateImage( + win->src.display, DefaultVisual(win->src.display, XDefaultScreen(win->src.display)), + DefaultDepth(win->src.display, XDefaultScreen(win->src.display)), + ZPixmap, 0, NULL, area.w, area.h, + 32, 0 + ); +#endif +#ifdef RGFW_WINDOWS + BITMAPV5HEADER bi = { 0 }; + ZeroMemory(&bi, sizeof(bi)); + bi.bV5Size = sizeof(bi); + bi.bV5Width = area.w; + bi.bV5Height = -((LONG) area.h); + bi.bV5Planes = 1; + bi.bV5BitCount = 32; + bi.bV5Compression = BI_BITFIELDS; + bi.bV5BlueMask = 0x00ff0000; + bi.bV5GreenMask = 0x0000ff00; + bi.bV5RedMask = 0x000000ff; + bi.bV5AlphaMask = 0xff000000; + + win->src.bitmap = CreateDIBSection(win->src.hdc, + (BITMAPINFO*) &bi, + DIB_RGB_COLORS, + (void**) &win->buffer, + NULL, + (DWORD) 0); + + win->src.hdcMem = CreateCompatibleDC(win->src.hdc); +#endif +#endif + } + +#if defined(RGFW_OPENGL) || defined(RGFW_EGL) || defined(RGFW_OSMESA) +#ifndef __APPLE__ +#include +#else +#include +#endif +#endif + +#ifdef RGFW_VULKAN + RGFW_vulkanInfo RGFW_vulkan_info; + + RGFW_vulkanInfo* RGFW_initVulkan(RGFW_window* win) { + assert(win != NULL); + + if ( + RGFW_initData(win) || + RGFW_deviceInitialization(win) || + RGFW_createSwapchain(win) + ) + return NULL; + + u32 graphics_family_index = 0; + u32 present_family_index = 0; + + vkGetDeviceQueue(RGFW_vulkan_info.device, graphics_family_index, 0, &RGFW_vulkan_info.graphics_queue); + vkGetDeviceQueue(RGFW_vulkan_info.device, present_family_index, 0, &RGFW_vulkan_info.present_queue); + + if ( + RGFW_createRenderPass() || + RGFW_createFramebuffers(win) || + RGFW_createCommandPool() || + RGFW_createCommandBuffers(win) || + RGFW_createSyncObjects(win) + ) + return NULL; + + return &RGFW_vulkan_info; + } + + int RGFW_initData(RGFW_window* win) { + assert(win != NULL); + + win->src.swapchain = VK_NULL_HANDLE; + win->src.image_count = 0; + RGFW_vulkan_info.current_frame = 0; + + return 0; + } + + void RGFW_createSurface(VkInstance instance, RGFW_window* win) { + assert(win != NULL); + assert(instance); + + win->src.rSurf = VK_NULL_HANDLE; + +#ifdef RGFW_X11 + VkXlibSurfaceCreateInfoKHR x11 = { VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR, 0, 0, (Display*) win->src.display, (Window) win->src.window }; + + vkCreateXlibSurfaceKHR(RGFW_vulkan_info.instance, &x11, NULL, &win->src.rSurf); +#endif +#ifdef RGFW_WINDOWS + VkWin32SurfaceCreateInfoKHR win32 = { VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR, 0, 0, GetModuleHandle(NULL), win->src.window }; + + vkCreateWin32SurfaceKHR(RGFW_vulkan_info.instance, &win32, NULL, &win->src.rSurf); +#endif +#if defined(RGFW_MACOS) && !defined(RGFW_MACOS_X11) + VkMacOSSurfaceCreateFlagsMVK macos = { VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK, 0, 0, win->src.display, win->src.window }; + + vkCreateMacOSSurfaceMVK(RGFW_vulkan_info.instance, &macos, NULL, &win->src.rSurf); +#endif + } + + RGFW_vulkanInfo* RGFW_getVulkanInfo(void) { + return &RGFW_vulkan_info; + } + + int RGFW_deviceInitialization(RGFW_window* win) { + assert(win != NULL); + + VkApplicationInfo appInfo = { 0 }; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "RGFW app"; + appInfo.apiVersion = VK_MAKE_VERSION(1, 0, 0); + + char* extension = +#ifdef RGFW_WINDOWS + "VK_KHR_win32_surface"; +#elif defined(RGFW_X11) + VK_KHR_XLIB_SURFACE_EXTENSION_NAME; +#elif defined(RGFW_MACOS) + "VK_MVK_macos_surface"; +#else + NULL; +#endif + + VkInstanceCreateInfo instance_create_info = { 0 }; + instance_create_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + instance_create_info.pApplicationInfo = &appInfo; + instance_create_info.enabledExtensionCount = extension ? 2 : 0, + instance_create_info.ppEnabledExtensionNames = (const char* [2]){ + VK_KHR_SURFACE_EXTENSION_NAME, + extension + }; + + if (vkCreateInstance(&instance_create_info, NULL, &RGFW_vulkan_info.instance) != VK_SUCCESS) { + fprintf(stderr, "failed to create instance!\n"); + return -1; + } + + + RGFW_createSurface(RGFW_vulkan_info.instance, win); + + u32 deviceCount = 0; + vkEnumeratePhysicalDevices(RGFW_vulkan_info.instance, &deviceCount, NULL); + VkPhysicalDevice* devices = (VkPhysicalDevice*) malloc(sizeof(VkPhysicalDevice) * deviceCount); + vkEnumeratePhysicalDevices(RGFW_vulkan_info.instance, &deviceCount, devices); + + RGFW_vulkan_info.physical_device = devices[0]; + + u32 queue_family_count = 0; + vkGetPhysicalDeviceQueueFamilyProperties(RGFW_vulkan_info.physical_device, &queue_family_count, NULL); + VkQueueFamilyProperties* queueFamilies = (VkQueueFamilyProperties*) malloc(sizeof(VkQueueFamilyProperties) * queue_family_count); + vkGetPhysicalDeviceQueueFamilyProperties(RGFW_vulkan_info.physical_device, &queue_family_count, queueFamilies); + + float queuePriority = 1.0f; + + VkPhysicalDeviceFeatures device_features = { 0 }; + + VkDeviceCreateInfo device_create_info = { 0 }; + device_create_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + VkDeviceQueueCreateInfo queue_create_infos[2] = { + {0}, + {0}, + }; + queue_create_infos[0].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queue_create_infos[0].queueCount = 1; + queue_create_infos[0].pQueuePriorities = &queuePriority; + queue_create_infos[1].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queue_create_infos[1].queueCount = 1; + queue_create_infos[1].pQueuePriorities = &queuePriority; + device_create_info.queueCreateInfoCount = 2; + device_create_info.pQueueCreateInfos = queue_create_infos; + + device_create_info.enabledExtensionCount = 1; + + const char* device_extensions[] = { + VK_KHR_SWAPCHAIN_EXTENSION_NAME + }; + + device_create_info.ppEnabledExtensionNames = device_extensions; + device_create_info.pEnabledFeatures = &device_features; + + if (vkCreateDevice(RGFW_vulkan_info.physical_device, &device_create_info, NULL, &RGFW_vulkan_info.device) != VK_SUCCESS) { + fprintf(stderr, "failed to create logical device!\n"); + return -1; + } + + return 0; + } + + int RGFW_createSwapchain(RGFW_window* win) { + assert(win != NULL); + + VkSurfaceFormatKHR surfaceFormat = { VK_FORMAT_B8G8R8A8_SRGB, VK_COLOR_SPACE_SRGB_NONLINEAR_KHR }; + VkPresentModeKHR presentMode = VK_PRESENT_MODE_FIFO_KHR; + + VkSurfaceCapabilitiesKHR capabilities = { 0 }; + vkGetPhysicalDeviceSurfaceCapabilitiesKHR(RGFW_vulkan_info.physical_device, win->src.rSurf, &capabilities); + + win->src.image_count = capabilities.minImageCount + 1; + if (capabilities.maxImageCount > 0 && win->src.image_count > capabilities.maxImageCount) { + win->src.image_count = capabilities.maxImageCount; + } + + VkSwapchainCreateInfoKHR swapchain_create_info = { 0 }; + swapchain_create_info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; + swapchain_create_info.surface = win->src.rSurf; + swapchain_create_info.minImageCount = win->src.image_count; + swapchain_create_info.imageFormat = surfaceFormat.format; + swapchain_create_info.imageColorSpace = surfaceFormat.colorSpace; + swapchain_create_info.imageExtent = (VkExtent2D){ win->r.w, win->r.h }; + swapchain_create_info.imageArrayLayers = 1; + swapchain_create_info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + swapchain_create_info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; + swapchain_create_info.queueFamilyIndexCount = 2; + swapchain_create_info.preTransform = capabilities.currentTransform; + swapchain_create_info.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; + swapchain_create_info.presentMode = presentMode; + swapchain_create_info.clipped = VK_TRUE; + swapchain_create_info.oldSwapchain = VK_NULL_HANDLE; + + if (vkCreateSwapchainKHR(RGFW_vulkan_info.device, &swapchain_create_info, NULL, &win->src.swapchain) != VK_SUCCESS) { + fprintf(stderr, "failed to create swap chain!\n"); + return -1; + } + + u32 imageCount; + vkGetSwapchainImagesKHR(RGFW_vulkan_info.device, win->src.swapchain, &imageCount, NULL); + win->src.swapchain_images = (VkImage*) malloc(sizeof(VkImage) * imageCount); + vkGetSwapchainImagesKHR(RGFW_vulkan_info.device, win->src.swapchain, &imageCount, win->src.swapchain_images); + + win->src.swapchain_image_views = (VkImageView*) malloc(sizeof(VkImageView) * imageCount); + for (u32 i = 0; i < imageCount; i++) { + VkImageViewCreateInfo image_view_cre_infos = { 0 }; + image_view_cre_infos.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + image_view_cre_infos.image = win->src.swapchain_images[i]; + image_view_cre_infos.viewType = VK_IMAGE_VIEW_TYPE_2D; + image_view_cre_infos.format = VK_FORMAT_B8G8R8A8_SRGB; + image_view_cre_infos.components.r = VK_COMPONENT_SWIZZLE_IDENTITY; + image_view_cre_infos.components.g = VK_COMPONENT_SWIZZLE_IDENTITY; + image_view_cre_infos.components.b = VK_COMPONENT_SWIZZLE_IDENTITY; + image_view_cre_infos.components.a = VK_COMPONENT_SWIZZLE_IDENTITY; + image_view_cre_infos.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + image_view_cre_infos.subresourceRange.baseMipLevel = 0; + image_view_cre_infos.subresourceRange.levelCount = 1; + image_view_cre_infos.subresourceRange.baseArrayLayer = 0; + image_view_cre_infos.subresourceRange.layerCount = 1; + if (vkCreateImageView(RGFW_vulkan_info.device, &image_view_cre_infos, NULL, &win->src.swapchain_image_views[i]) != VK_SUCCESS) { + fprintf(stderr, "failed to create image views!"); + return -1; + } + } + + return 0; + } + + int RGFW_createRenderPass(void) { + VkAttachmentDescription color_attachment = { 0 }; + color_attachment.format = VK_FORMAT_B8G8R8A8_SRGB; + color_attachment.samples = VK_SAMPLE_COUNT_1_BIT; + color_attachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + color_attachment.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + color_attachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + color_attachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + color_attachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + color_attachment.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; + + VkAttachmentReference color_attachment_ref = { 0 }; + color_attachment_ref.attachment = 0; + color_attachment_ref.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + + VkSubpassDescription subpass = { 0 }; + subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; + subpass.colorAttachmentCount = 1; + subpass.pColorAttachments = &color_attachment_ref; + + VkSubpassDependency dependency = { 0 }; + dependency.srcSubpass = VK_SUBPASS_EXTERNAL; + dependency.dstSubpass = 0; + dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + dependency.srcAccessMask = 0; + dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + + VkRenderPassCreateInfo render_pass_info = { 0 }; + render_pass_info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; + render_pass_info.attachmentCount = 1; + render_pass_info.pAttachments = &color_attachment; + render_pass_info.subpassCount = 1; + render_pass_info.pSubpasses = &subpass; + render_pass_info.dependencyCount = 1; + render_pass_info.pDependencies = &dependency; + + if (vkCreateRenderPass(RGFW_vulkan_info.device, &render_pass_info, NULL, &RGFW_vulkan_info.render_pass) != VK_SUCCESS) { + fprintf(stderr, "failed to create render pass\n"); + return -1; // failed to create render pass! + } + return 0; + } + + int RGFW_createCommandPool(void) { + VkCommandPoolCreateInfo pool_info = { 0 }; + pool_info.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + pool_info.queueFamilyIndex = 0; + + if (vkCreateCommandPool(RGFW_vulkan_info.device, &pool_info, NULL, &RGFW_vulkan_info.command_pool) != VK_SUCCESS) { + fprintf(stderr, "failed to create command pool\n"); + return -1; // failed to create command pool + } + return 0; + } + + int RGFW_createCommandBuffers(RGFW_window* win) { + assert(win != NULL); + + RGFW_vulkan_info.command_buffers = (VkCommandBuffer*) malloc(sizeof(VkCommandBuffer) * win->src.image_count); + + VkCommandBufferAllocateInfo allocInfo = { 0 }; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = RGFW_vulkan_info.command_pool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = (u32) win->src.image_count; + + if (vkAllocateCommandBuffers(RGFW_vulkan_info.device, &allocInfo, RGFW_vulkan_info.command_buffers) != VK_SUCCESS) { + return -1; // failed to allocate command buffers; + } + + return 0; + } + + int RGFW_createSyncObjects(RGFW_window* win) { + assert(win != NULL); + + RGFW_vulkan_info.available_semaphores = (VkSemaphore*) malloc(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT); + RGFW_vulkan_info.finished_semaphore = (VkSemaphore*) malloc(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT); + RGFW_vulkan_info.in_flight_fences = (VkFence*) malloc(sizeof(VkFence) * RGFW_MAX_FRAMES_IN_FLIGHT); + RGFW_vulkan_info.image_in_flight = (VkFence*) malloc(sizeof(VkFence) * win->src.image_count); + + VkSemaphoreCreateInfo semaphore_info = { 0 }; + semaphore_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + + VkFenceCreateInfo fence_info = { 0 }; + fence_info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + fence_info.flags = VK_FENCE_CREATE_SIGNALED_BIT; + + for (size_t i = 0; i < RGFW_MAX_FRAMES_IN_FLIGHT; i++) { + if (vkCreateSemaphore(RGFW_vulkan_info.device, &semaphore_info, NULL, &RGFW_vulkan_info.available_semaphores[i]) != VK_SUCCESS || + vkCreateSemaphore(RGFW_vulkan_info.device, &semaphore_info, NULL, &RGFW_vulkan_info.finished_semaphore[i]) != VK_SUCCESS || + vkCreateFence(RGFW_vulkan_info.device, &fence_info, NULL, &RGFW_vulkan_info.in_flight_fences[i]) != VK_SUCCESS) { + fprintf(stderr, "failed to create sync objects\n"); + return -1; // failed to create synchronization objects for a frame + } + } + + for (size_t i = 0; i < win->src.image_count; i++) { + RGFW_vulkan_info.image_in_flight[i] = VK_NULL_HANDLE; + } + + return 0; + } + + int RGFW_createFramebuffers(RGFW_window* win) { + assert(win != NULL); + + RGFW_vulkan_info.framebuffers = (VkFramebuffer*) malloc(sizeof(VkFramebuffer) * win->src.image_count); + + for (size_t i = 0; i < win->src.image_count; i++) { + VkImageView attachments[] = { win->src.swapchain_image_views[i] }; + + VkFramebufferCreateInfo framebuffer_info = { 0 }; + framebuffer_info.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; + framebuffer_info.renderPass = RGFW_vulkan_info.render_pass; + framebuffer_info.attachmentCount = 1; + framebuffer_info.pAttachments = attachments; + framebuffer_info.width = win->r.w; + framebuffer_info.height = win->r.h; + framebuffer_info.layers = 1; + + if (vkCreateFramebuffer(RGFW_vulkan_info.device, &framebuffer_info, NULL, &RGFW_vulkan_info.framebuffers[i]) != VK_SUCCESS) { + return -1; // failed to create framebuffer + } + } + return 0; + } + + void RGFW_freeVulkan(void) { + vkDeviceWaitIdle(RGFW_vulkan_info.device); + + for (size_t i = 0; i < RGFW_MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroySemaphore(RGFW_vulkan_info.device, RGFW_vulkan_info.finished_semaphore[i], NULL); + vkDestroySemaphore(RGFW_vulkan_info.device, RGFW_vulkan_info.available_semaphores[i], NULL); + vkDestroyFence(RGFW_vulkan_info.device, RGFW_vulkan_info.in_flight_fences[i], NULL); + } + + vkDestroyCommandPool(RGFW_vulkan_info.device, RGFW_vulkan_info.command_pool, NULL); + + vkDestroyPipeline(RGFW_vulkan_info.device, RGFW_vulkan_info.graphics_pipeline, NULL); + vkDestroyPipelineLayout(RGFW_vulkan_info.device, RGFW_vulkan_info.pipeline_layout, NULL); + vkDestroyRenderPass(RGFW_vulkan_info.device, RGFW_vulkan_info.render_pass, NULL); + +#ifdef RGFW_DEBUG + PFN_vkDestroyDebugUtilsMessengerEXT func = (PFN_vkDestroyDebugUtilsMessengerEXT) vkGetInstanceProcAddr(RGFW_vulkan_info.instance, "vkDestroyDebugUtilsMessengerEXT"); + if (func != NULL) { + func(RGFW_vulkan_info.instance, RGFW_vulkan_info.debugMessenger, NULL); + } +#endif + + vkDestroyDevice(RGFW_vulkan_info.device, NULL); + vkDestroyInstance(RGFW_vulkan_info.instance, NULL); + + free(RGFW_vulkan_info.framebuffers); + free(RGFW_vulkan_info.command_buffers); + free(RGFW_vulkan_info.available_semaphores); + free(RGFW_vulkan_info.finished_semaphore); + free(RGFW_vulkan_info.in_flight_fences); + free(RGFW_vulkan_info.image_in_flight); + } + +#endif /* RGFW_VULKAN */ + + RGFW_window* RGFW_root = NULL; + +#ifdef RGFW_X11 +#include +#ifndef RGFW_NO_X11_CURSOR +#include +#endif +#include + +#ifndef RGFW_NO_DPI +#include +#include +#endif +#endif + +#define RGFW_MOUSE_CHANGED (1L<<1) /*!< mouse change (for winargs)*/ +#define RGFW_HOLD_MOUSE (1L<<2) /*!< hold the moues still */ + +#ifdef RGFW_WINDOWS +#include +#include +#include +#include +#include +#include +#endif + +#if defined(RGFW_MACOS) + u8 RGFW_keyMap[128] = { 0 }; +#endif + + char* RGFW_keyCodeTokeyStr(u64 key) { +#if defined(RGFW_MACOS) + static char* keyStrs[128] = { "a", "s", "d", "f", "h", "g", "z", "x", "c", "v", "0", "b", "q", "w", "e", "r", "y", "t", "1", "2", "3", "4", "6", "5", "Equals", "9", "7", "Minus", "8", "0", "CloseBracket", "o", "u", "Bracket", "i", "p", "Return", "l", "j", "Apostrophe", "k", "Semicolon", "BackSlash", "Comma", "Slash", "n", "m", "Period", "Tab", "Space", "Backtick", "BackSpace", "0", "Escape", "0", "Super", "Shift", "CapsLock", "Alt", "Control", "0", "0", "0", "0", "0", "KP_Period", "0", "KP_Minus", "0", "0", "0", "0", "Numlock", "0", "0", "0", "KP_Multiply", "KP_Return", "0", "0", "0", "0", "KP_Slash", "KP_0", "KP_1", "KP_2", "KP_3", "KP_4", "KP_5", "KP_6", "KP_7", "0", "KP_8", "KP_9", "0", "0", "0", "F5", "F6", "F7", "F3", "F8", "F9", "0", "F11", "0", "F13", "0", "F14", "0", "F10", "0", "F12", "0", "F15", "Insert", "Home", "PageUp", "Delete", "F4", "End", "F2", "PageDown", "Left", "Right", "Down", "Up", "F1" }; + + return keyStrs[key]; +#endif +#ifdef RGFW_X11 + return XKeysymToString(key); +#endif +#ifdef RGFW_WINDOWS + static char keyName[16]; + GetKeyNameTextA((LONG) key, keyName, 16); + + if ((!(GetKeyState(VK_CAPITAL) & 0x0001) && !(GetKeyState(VK_SHIFT) & 0x8000)) || + ((GetKeyState(VK_CAPITAL) & 0x0001) && (GetKeyState(VK_SHIFT) & 0x8000))) { + CharLowerBuffA(keyName, 16); + } + + return keyName; +#endif + } + + u32 RGFW_keyStrToKeyCode(char* key) { +#if defined(RGFW_MACOS) + static char* keyStrs[128] = { "a", "s", "d", "f", "h", "g", "z", "x", "c", "v", "0", "b", "q", "w", "e", "r", "y", "t", "1", "2", "3", "4", "6", "5", "Equals", "9", "7", "Minus", "8", "0", "CloseBracket", "o", "u", "Bracket", "i", "p", "Return", "l", "j", "Apostrophe", "k", "Semicolon", "BackSlash", "Comma", "Slash", "n", "m", "Period", "Tab", "Space", "Backtick", "BackSpace", "0", "Escape", "0", "Super", "Shift", "CapsLock", "Alt", "Control", "0", "0", "0", "0", "0", "KP_Period", "0", "KP_Minus", "0", "0", "0", "0", "Numlock", "0", "0", "0", "KP_Multiply", "KP_Return", "0", "0", "0", "0", "KP_Slash", "KP_0", "KP_1", "KP_2", "KP_3", "KP_4", "KP_5", "KP_6", "KP_7", "0", "KP_8", "KP_9", "0", "0", "0", "F5", "F6", "F7", "F3", "F8", "F9", "0", "F11", "0", "F13", "0", "F14", "0", "F10", "0", "F12", "0", "F15", "Insert", "Home", "PageUp", "Delete", "F4", "End", "F2", "PageDown", "Left", "Right", "Down", "Up", "F1" }; + + key--; + while (key++) { + u32 i; + for (i = 0; i < 128; i++) { + if (*keyStrs[i] == '\1') + continue; + + if (*keyStrs[i] != *key) { + keyStrs[i] = "\1"; + continue; + } + + if (*keyStrs[i] == '\0' && *key == '\0') + return i; + + else + keyStrs[i]++; + } + + if (*key == '\0') + break; + } + +#endif +#ifdef RGFW_X11 + if (strcmp(key, "Space") == 0) key = (char*) "space"; + + return XStringToKeysym(key); +#endif +#ifdef RGFW_WINDOWS + if (key[1]) { + struct { char* key; i32 code; } keyStrs[] = { + {"Super_L", VK_LWIN}, + {"Super_R", VK_RWIN}, + {"Space", VK_SPACE}, + {"Return", VK_RETURN}, + {"Caps_Lock", VK_CAPITAL}, + {"Tab", VK_TAB}, + {"Right", VK_RIGHT}, + {"Left", VK_LEFT}, + {"Up", VK_UP}, + {"Down", VK_DOWN}, + {"ShiftL", VK_LSHIFT}, + {"ShiftR", VK_RSHIFT}, + {"ControlL", VK_RCONTROL}, + {"ControlR", VK_RCONTROL} + }; + + + while (key++) { + u32 i; + for (i = 0; i < 14; i++) { + if (*keyStrs[i].key != '\0' && *keyStrs[i].key != '\1') + keyStrs[i].key++; + + if (*keyStrs[i].key != *key) { + keyStrs[i].key = "\1"; + continue; + } + + if (*keyStrs[i].key == '\0' && *key == '\0') + return keyStrs[i].code; + } + + if (*key == '\0') + break; + } + } + + i32 vKey = VkKeyScan(key[0]); + + return vKey; +#endif /* RGFW_WINDOWS */ + + return 0; + } + + + char RGFW_keystrToChar(const char* str) { + if (str[1] == 0) + return str[0]; + + static const char* map[] = { + "asciitilde", "`", + "grave", "~", + "exclam", "!", + "at", "@", + "numbersign", "#", + "dollar", "$", + "percent", "%%", + "asciicircum", "^", + "ampersand", "&", + "asterisk", "*", + "parenleft", "(", + "parenright", ")", + "underscore", "_", + "minus", "-", + "plus", "+", + "equal", "=", + "braceleft", "{", + "bracketleft", "[", + "bracketright", "]", + "braceright", "}", + "colon", ":", + "semicolon", ";", + "quotedbl", "\"", + "apostrophe", "'", + "bar", "|", + "backslash", "\'", + "less", "<", + "comma", ",", + "greater", ">", + "period", ".", + "question", "?", + "slash", "/", + "space", " ", + "Return", "\n", + "Enter", "\n", + "enter", "\n", + }; + + u8 i = 0; + for (i = 0; i < (sizeof(map) / sizeof(char*)); i += 2) + if (strcmp(map[i], str) == 0) + return *map[i + 1]; + + return '\0'; + } + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + + typedef struct RGFW_Timespec { + time_t tv_sec; /* Seconds. */ + u32 tv_nsec; /* Nanoseconds. */ + } RGFW_Timespec; /*time struct for fps functions*/ + +#ifndef RGFW_WINDOWS + u32 RGFW_isPressedJS(RGFW_window* win, u16 c, u8 button) { return win->src.jsPressed[c][button]; } +#else + + typedef DWORD (WINAPI * PFN_XInputGetState)(DWORD,XINPUT_STATE*); + PFN_XInputGetState XInputGetStateSRC = NULL; + #define XInputGetState XInputGetStateSRC + static HMODULE RGFW_XInput_dll = NULL; + + u32 RGFW_isPressedJS(RGFW_window* win, u16 c, u8 button) { + XINPUT_STATE state; + if (XInputGetState == NULL || XInputGetState(c, &state) == ERROR_DEVICE_NOT_CONNECTED) + return 0; + + if (button == RGFW_JS_A) return state.Gamepad.wButtons & XINPUT_GAMEPAD_A; + else if (button == RGFW_JS_B) return state.Gamepad.wButtons & XINPUT_GAMEPAD_B; + else if (button == RGFW_JS_Y) return state.Gamepad.wButtons & XINPUT_GAMEPAD_Y; + else if (button == RGFW_JS_X) return state.Gamepad.wButtons & XINPUT_GAMEPAD_X; + else if (button == RGFW_JS_START) return state.Gamepad.wButtons & XINPUT_GAMEPAD_START; + else if (button == RGFW_JS_SELECT) return state.Gamepad.wButtons & XINPUT_GAMEPAD_BACK; + else if (button == RGFW_JS_UP) return state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP; + else if (button == RGFW_JS_DOWN) return state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN; + else if (button == RGFW_JS_LEFT) return state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT; + else if (button == RGFW_JS_RIGHT) return state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT; + else if (button == RGFW_JS_L1) return state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER; + else if (button == RGFW_JS_R1) return state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER; + else if (button == RGFW_JS_L2 && state.Gamepad.bLeftTrigger) return 1; + else if (button == RGFW_JS_R2 && state.Gamepad.bRightTrigger) return 1; + + return 0; + } +#endif + +#ifdef RGFW_OPENGL + i32 RGFW_majorVersion = 0, RGFW_minorVersion = 0; + i32 RGFW_STENCIL = 8, RGFW_SAMPLES = 4, RGFW_STEREO = GL_FALSE, RGFW_AUX_BUFFERS = 0; + + void RGFW_setGLStencil(i32 stencil) { RGFW_STENCIL = stencil; } + void RGFW_setGLSamples(i32 samples) { RGFW_SAMPLES = samples; } + void RGFW_setGLStereo(i32 stereo) { RGFW_STEREO = stereo; } + void RGFW_setGLAuxBuffers(i32 auxBuffers) { RGFW_AUX_BUFFERS = auxBuffers; } + + void RGFW_setGLVersion(i32 major, i32 minor) { + RGFW_majorVersion = major; + RGFW_minorVersion = minor; + } + + u8* RGFW_getMaxGLVersion() { + RGFW_window* dummy = RGFW_createWindow("dummy", RGFW_RECT(0, 0, 1, 1), 0); + + const char* versionStr = (const char*) glGetString(GL_VERSION); + + static u8 version[2]; + version[0] = versionStr[0] - '0', + version[1] = versionStr[2] - '0'; + + RGFW_window_close(dummy); + + return version; + } + +#define RGFW_GL_RENDER_TYPE RGFW_OS_BASED_VALUE(GLX_X_VISUAL_TYPE, 0x2003, 73) +#define RGFW_GL_ALPHA_SIZE RGFW_OS_BASED_VALUE(GLX_ALPHA_SIZE, 0x201b, 11) +#define RGFW_GL_DEPTH_SIZE RGFW_OS_BASED_VALUE(GLX_DEPTH_SIZE, 0x2022, 12) +#define RGFW_GL_DOUBLEBUFFER RGFW_OS_BASED_VALUE(GLX_DOUBLEBUFFER, 0x2011, 5) +#define RGFW_GL_STENCIL_SIZE RGFW_OS_BASED_VALUE(GLX_STENCIL_SIZE, 0x2023, 13) +#define RGFW_GL_SAMPLES RGFW_OS_BASED_VALUE(GLX_SAMPLES, 0x2042, 55) +#define RGFW_GL_STEREO RGFW_OS_BASED_VALUE(GLX_STEREO, 0x2012, 6) +#define RGFW_GL_AUX_BUFFERS RGFW_OS_BASED_VALUE(GLX_AUX_BUFFERS, 0x2024, 7) + +#if defined(RGFW_X11) || defined(RGFW_WINDOWS) +#define RGFW_GL_DRAW RGFW_OS_BASED_VALUE(GLX_X_RENDERABLE, 0x2001, 0) +#define RGFW_GL_DRAW_TYPE RGFW_OS_BASED_VALUE(GLX_RENDER_TYPE, 0x2013, 0) +#define RGFW_GL_USE_OPENGL RGFW_OS_BASED_VALUE(GLX_USE_GL, 0x2010, 0) +#define RGFW_GL_FULL_FORMAT RGFW_OS_BASED_VALUE(GLX_TRUE_COLOR, 0x2027, 0) +#define RGFW_GL_RED_SIZE RGFW_OS_BASED_VALUE(GLX_RED_SIZE, 0x2015, 0) +#define RGFW_GL_GREEN_SIZE RGFW_OS_BASED_VALUE(GLX_GREEN_SIZE, 0x2017, 0) +#define RGFW_GL_BLUE_SIZE RGFW_OS_BASED_VALUE(GLX_BLUE_SIZE, 0x2019, 0) +#define RGFW_GL_USE_RGBA RGFW_OS_BASED_VALUE(GLX_RGBA_BIT, 0x202B, 0) +#endif + +#ifdef RGFW_WINDOWS +#define WGL_COLOR_BITS_ARB 0x2014 +#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 +#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 +#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9 +#endif + + static u32* RGFW_initAttribs(u32 useSoftware) { + static u32 attribs[] = { + #ifndef RGFW_MACOS + RGFW_GL_RENDER_TYPE, + RGFW_GL_FULL_FORMAT, + #endif + RGFW_GL_ALPHA_SIZE , 8, + RGFW_GL_DEPTH_SIZE , 24, + RGFW_GL_DOUBLEBUFFER , + #ifndef RGFW_MACOS + 1, + #endif + + #if defined(RGFW_X11) || defined(RGFW_WINDOWS) + RGFW_GL_USE_OPENGL, 1, + RGFW_GL_DRAW, 1, + RGFW_GL_RED_SIZE , 8, + RGFW_GL_GREEN_SIZE , 8, + RGFW_GL_BLUE_SIZE , 8, + RGFW_GL_DRAW_TYPE , RGFW_GL_USE_RGBA, + #endif + + #ifdef RGFW_X11 + GLX_DRAWABLE_TYPE , GLX_WINDOW_BIT, + #endif + + #ifdef RGFW_MACOS + 72, + 8, 24, + #endif + + #ifdef RGFW_WINDOWS + WGL_COLOR_BITS_ARB, 32, + #endif + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + + size_t index = (sizeof(attribs) / sizeof(attribs[0])) - 13; + +#define RGFW_GL_ADD_ATTRIB(attrib, attVal) \ + if (attVal) { \ + attribs[index] = attrib;\ + attribs[index + 1] = attVal;\ + index += 2;\ + } + + RGFW_GL_ADD_ATTRIB(RGFW_GL_STENCIL_SIZE, RGFW_STENCIL); + RGFW_GL_ADD_ATTRIB(RGFW_GL_STEREO, RGFW_STEREO); + RGFW_GL_ADD_ATTRIB(RGFW_GL_AUX_BUFFERS, RGFW_AUX_BUFFERS); + +#ifndef RGFW_X11 + RGFW_GL_ADD_ATTRIB(RGFW_GL_SAMPLES, RGFW_SAMPLES); +#endif + +#ifdef RGFW_MACOS + if (useSoftware) { + RGFW_GL_ADD_ATTRIB(70, kCGLRendererGenericFloatID); + } else { + attribs[index] = RGFW_GL_RENDER_TYPE; + index += 1; + } +#endif + +#ifdef RGFW_MACOS + attribs[index] = 99; + attribs[index + 1] = 0x1000; + + if (RGFW_majorVersion >= 4 || RGFW_majorVersion >= 3) { + attribs[index + 1] = (u32) ((RGFW_majorVersion >= 4) ? 0x4100 : 0x3200); + } + +#endif + + RGFW_GL_ADD_ATTRIB(0, 0); + + return attribs; + } + +#endif + +#ifdef RGFW_EGL + +#if defined(RGFW_LINK_EGL) + typedef EGLBoolean(EGLAPIENTRY* PFN_eglInitialize)(EGLDisplay, EGLint*, EGLint*); + + PFNEGLINITIALIZEPROC eglInitializeSource; + PFNEGLGETCONFIGSPROC eglGetConfigsSource; + PFNEGLCHOOSECONFIGPROC eglChooseConfigSource; + PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurfaceSource; + PFNEGLCREATECONTEXTPROC eglCreateContextSource; + PFNEGLMAKECURRENTPROC eglMakeCurrentSource; + PFNEGLGETDISPLAYPROC eglGetDisplaySource; + PFNEGLSWAPBUFFERSPROC eglSwapBuffersSource; + PFNEGLSWAPINTERVALPROC eglSwapIntervalSource; + PFNEGLBINDAPIPROC eglBindAPISource; + PFNEGLDESTROYCONTEXTPROC eglDestroyContextSource; + PFNEGLTERMINATEPROC eglTerminateSource; + PFNEGLDESTROYSURFACEPROC eglDestroySurfaceSource; + +#define eglInitialize eglInitializeSource +#define eglGetConfigs eglGetConfigsSource +#define eglChooseConfig eglChooseConfigSource +#define eglCreateWindowSurface eglCreateWindowSurfaceSource +#define eglCreateContext eglCreateContextSource +#define eglMakeCurrent eglMakeCurrentSource +#define eglGetDisplay eglGetDisplaySource +#define eglSwapBuffers eglSwapBuffersSource +#define eglSwapInterval eglSwapIntervalSource +#define eglBindAPI eglBindAPISource +#define eglDestroyContext eglDestroyContextSource +#define eglTerminate eglTerminateSource +#define eglDestroySurface eglDestroySurfaceSource; +#endif + + +#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 +#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30fb + +#ifndef RGFW_GL_ADD_ATTRIB +#define RGFW_GL_ADD_ATTRIB(attrib, attVal) \ + if (attVal) { \ + attribs[index] = attrib;\ + attribs[index + 1] = attVal;\ + index += 2;\ + } +#endif + + void RGFW_createOpenGLContext(RGFW_window* win) { + static EGLContext globalCtx = EGL_NO_CONTEXT; + +#if defined(RGFW_LINK_EGL) + eglInitializeSource = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize"); + eglGetConfigsSource = (PFNEGLGETCONFIGSPROC) eglGetProcAddress("eglGetConfigs"); + eglChooseConfigSource = (PFNEGLCHOOSECONFIGPROC) eglGetProcAddress("eglChooseConfig"); + eglCreateWindowSurfaceSource = (PFNEGLCREATEWINDOWSURFACEPROC) eglGetProcAddress("eglCreateWindowSurface"); + eglCreateContextSource = (PFNEGLCREATECONTEXTPROC) eglGetProcAddress("eglCreateContext"); + eglMakeCurrentSource = (PFNEGLMAKECURRENTPROC) eglGetProcAddress("eglMakeCurrent"); + eglGetDisplaySource = (PFNEGLGETDISPLAYPROC) eglGetProcAddress("eglGetDisplay"); + eglSwapBuffersSource = (PFNEGLSWAPBUFFERSPROC) eglGetProcAddress("eglSwapBuffers"); + eglSwapIntervalSource = (PFNEGLSWAPINTERVALPROC) eglGetProcAddress("eglSwapInterval"); + eglBindAPISource = (PFNEGLBINDAPIPROC) eglGetProcAddress("eglBindAPI"); + eglDestroyContextSource = (PFNEGLDESTROYCONTEXTPROC) eglGetProcAddress("eglDestroyContext"); + eglTerminateSource = (PFNEGLTERMINATEPROC) eglGetProcAddress("eglTerminate"); + eglDestroySurfaceSource = (PFNEGLDESTROYSURFACEPROC) eglGetProcAddress("eglDestroySurface"); +#endif /* RGFW_LINK_EGL */ + + win->src.EGL_display = eglGetDisplay((EGLNativeDisplayType) win->src.display); + + EGLint major, minor; + + eglInitialize(win->src.EGL_display, &major, &minor); + + EGLint config_attribs[] = { + EGL_SURFACE_TYPE, EGL_WINDOW_BIT, + EGL_RENDERABLE_TYPE, + #ifdef RGFW_OPENGL_ES1 + EGL_OPENGL_ES1_BIT, + #endif + #ifdef RGFW_OPENGL_ES2 + EGL_OPENGL_ES2_BIT, + #else + EGL_OPENGL_BIT, + #endif + EGL_NONE + }; + + EGLConfig config; + EGLint num_configs; + eglChooseConfig(win->src.EGL_display, config_attribs, &config, 1, &num_configs); + +#if defined(RGFW_OPENGL_ES2) || defined(RGFW_OPENGL_ES1) + eglBindAPI(EGL_OPENGL_ES_API); +#else + eglBindAPI(EGL_OPENGL_API); +#endif + + EGLint attribs[]{ + EGL_CONTEXT_OPENGL_PROFILE_MASK, EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT, + 0, 0, 0, 0 + }; + + size_t index = 2; + RGFW_GL_ADD_ATTRIB(EGL_STENCIL_SIZE, RGFW_STENCIL); + RGFW_GL_ADD_ATTRIB(EGL_SAMPLES, RGFW_SAMPLES); + RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MAJOR_VERSION, RGFW_majorVersion); + RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MINOR_VERSION, RGFW_minorVersion); + + win->src.rSurf = eglCreateContext(win->src.EGL_display, config, globalCtx, attribs); + win->src.EGL_surface = eglCreateWindowSurface(win->src.EGL_display, config, (EGLNativeWindowType) win->src.window, NULL); + + if (globalCtx == EGL_NO_CONTEXT) + RGFW_EGLglobalContext = win->src.rSurf; + + eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.rSurf); + eglSwapBuffers(win->src.EGL_display, win->src.EGL_surface); + + eglSwapInterval(win->src.EGL_display, 1); + } + + void* RGFW_getProcAddress(const char* procname) { return (void*) eglGetProcAddress(procname); } + + void RGFW_closeEGL(RGFW_window* win) { + eglDestroySurface(win->src.EGL_display, win->src.EGL_surface); + eglDestroyContext(win->src.EGL_display, win->src.rSurf); + + eglTerminate(win->src.EGL_display); + } + +#endif /* RGFW_EGL */ + + /* + This is where OS specific stuff starts + */ + +#ifdef RGFW_X11 +#include +#include +#include +#include + +#include /* for converting keycode to string */ +#include /* for hiding */ + +#include /* for data limits (mainly used in drag and drop functions) */ +#include + +#ifdef __linux__ +#include +#endif + + /*atoms needed for drag and drop*/ + Atom XdndAware, XdndTypeList, XdndSelection, XdndEnter, XdndPosition, XdndStatus, XdndLeave, XdndDrop, XdndFinished, XdndActionCopy, XdndActionMove, XdndActionLink, XdndActionAsk, XdndActionPrivate; + + Atom wm_delete_window = 0; + +#if !defined(RGFW_NO_X11_CURSOR) && !defined(RGFW_NO_X11_CURSOR_PRELOAD) + typedef XcursorImage* (*PFN_XcursorImageCreate)(int, int); + typedef void (*PFN_XcursorImageDestroy)(XcursorImage*); + typedef Cursor(*PFN_XcursorImageLoadCursor)(Display*, const XcursorImage*); +#endif +#ifdef RGFW_OPENGL + typedef GLXContext(*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, const int*); +#endif + +#if !defined(RGFW_NO_X11_CURSOR) && !defined(RGFW_NO_X11_CURSOR_PRELOAD) + PFN_XcursorImageLoadCursor XcursorImageLoadCursorSrc = NULL; + PFN_XcursorImageCreate XcursorImageCreateSrc = NULL; + PFN_XcursorImageDestroy XcursorImageDestroySrc = NULL; + +#define XcursorImageLoadCursor XcursorImageLoadCursorSrc +#define XcursorImageCreate XcursorImageCreateSrc +#define XcursorImageDestroy XcursorImageDestroySrc + + void* X11Cursorhandle = NULL; +#endif + + u32 RGFW_windowsOpen = 0; + +#ifdef RGFW_OPENGL + void* RGFW_getProcAddress(const char* procname) { return (void*) glXGetProcAddress((GLubyte*) procname); } +#endif + + RGFW_window* RGFW_createWindow(const char* name, RGFW_rect rect, u16 args) { +#if !defined(RGFW_NO_X11_CURSOR) && !defined(RGFW_NO_X11_CURSOR_PRELOAD) + if (X11Cursorhandle == NULL) { +#if defined(__CYGWIN__) + X11Cursorhandle = dlopen("libXcursor-1.so", RTLD_LAZY | RTLD_LOCAL); +#elif defined(__OpenBSD__) || defined(__NetBSD__) + X11Cursorhandle = dlopen("libXcursor.so", RTLD_LAZY | RTLD_LOCAL); +#else + X11Cursorhandle = dlopen("libXcursor.so.1", RTLD_LAZY | RTLD_LOCAL); +#endif + + XcursorImageCreateSrc = (PFN_XcursorImageCreate) dlsym(X11Cursorhandle, "XcursorImageCreate"); + XcursorImageDestroySrc = (PFN_XcursorImageDestroy) dlsym(X11Cursorhandle, "XcursorImageDestroy"); + XcursorImageLoadCursorSrc = (PFN_XcursorImageLoadCursor) dlsym(X11Cursorhandle, "XcursorImageLoadCursor"); + } +#endif + + XInitThreads(); /* init X11 threading*/ + + if (args & RGFW_OPENGL_SOFTWARE) + setenv("LIBGL_ALWAYS_SOFTWARE", "1", 1); + + RGFW_window* win = RGFW_window_basic_init(rect, args); + + u64 event_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | StructureNotifyMask | FocusChangeMask; /* X11 events accepted*/ + +#ifdef RGFW_OPENGL + u32* visual_attribs = RGFW_initAttribs(args & RGFW_OPENGL_SOFTWARE); + i32 fbcount; + GLXFBConfig* fbc = glXChooseFBConfig((Display*) win->src.display, DefaultScreen(win->src.display), (i32*) visual_attribs, &fbcount); + + i32 best_fbc = -1; + + if (fbcount == 0) { + printf("Failed to find any valid GLX configs\n"); + return NULL; + } + + u32 i; + for (i = 0; i < fbcount; i++) { + XVisualInfo* vi = glXGetVisualFromFBConfig((Display*) win->src.display, fbc[i]); + if (vi == NULL) + continue; + + XFree(vi); + + i32 samp_buf, samples; + glXGetFBConfigAttrib((Display*) win->src.display, fbc[i], GLX_SAMPLE_BUFFERS, &samp_buf); + glXGetFBConfigAttrib((Display*) win->src.display, fbc[i], GLX_SAMPLES, &samples); + if ((best_fbc < 0 || samp_buf) && (samples == RGFW_SAMPLES)) + best_fbc = i; + } + + if (best_fbc == -1) { + printf("Failed to get a valid GLX visual\n"); + return NULL; + } + + GLXFBConfig bestFbc = fbc[best_fbc]; + + /* Get a visual */ + XVisualInfo* vi = glXGetVisualFromFBConfig((Display*) win->src.display, bestFbc); + + XFree(fbc); + + u32 valuemask = CWBorderPixel | CWColormap; +#else + XVisualInfo* vi = (XVisualInfo*) malloc(sizeof(XVisualInfo)); + vi->screen = DefaultScreen((Display*) win->src.display); + vi->visual = DefaultVisual((Display*) win->src.display, vi->screen); + + vi->depth = 0; + u32 valuemask = 0; +#endif + + /* make X window attrubutes*/ + XSetWindowAttributes swa; + Colormap cmap; + + swa.colormap = cmap = XCreateColormap((Display*) win->src.display, + RootWindow(win->src.display, vi->screen), + vi->visual, AllocNone); + + swa.background_pixmap = None; + swa.border_pixel = 0; + swa.event_mask = event_mask; + + /* create the window*/ + win->src.window = XCreateWindow((Display*) win->src.display, RootWindow((Display*) win->src.display, vi->screen), win->r.x, win->r.y, win->r.w, win->r.h, + 0, vi->depth, InputOutput, vi->visual, + valuemask | CWEventMask, &swa); + + + XFreeColors((Display*) win->src.display, cmap, NULL, 0, 0); + if (args & RGFW_TRANSPARENT_WINDOW) + XMatchVisualInfo((Display*) win->src.display, DefaultScreen((Display*) win->src.display), 32, TrueColor, vi); /* for RGBA backgrounds*/ + + XFree(vi); + +#ifdef RGFW_OPENGL + i32 context_attribs[7] = { 0, 0, 0, 0, 0, 0, 0 }; + context_attribs[0] = GLX_CONTEXT_PROFILE_MASK_ARB; + context_attribs[1] = GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; + + if (RGFW_majorVersion || RGFW_minorVersion) { + context_attribs[2] = GLX_CONTEXT_MAJOR_VERSION_ARB; + context_attribs[3] = RGFW_majorVersion; + context_attribs[4] = GLX_CONTEXT_MINOR_VERSION_ARB; + context_attribs[5] = RGFW_minorVersion; + } + + glXCreateContextAttribsARBProc glXCreateContextAttribsARB = 0; + glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc) + glXGetProcAddressARB((GLubyte*) "glXCreateContextAttribsARB"); + + GLXContext ctx = NULL; + + if (RGFW_root != NULL) + ctx = RGFW_root->src.rSurf; + + win->src.rSurf = glXCreateContextAttribsARB((Display*) win->src.display, bestFbc, ctx, True, context_attribs); +#endif + +#ifdef RGFW_EGL + RGFW_createOpenGLContext(win); +#endif + + if (RGFW_root == NULL) + RGFW_root = win; + + RGFW_init_buffer(win); + +#ifdef RGFW_VULKAN + RGFW_initVulkan(win); +#endif + + if (args & RGFW_SCALE_TO_MONITOR) + RGFW_window_scaleToMonitor(win); + + if (args & RGFW_NO_RESIZE) { /* make it so the user can't resize the window*/ + XSizeHints* sh = XAllocSizeHints(); + sh->flags = (1L << 4) | (1L << 5); + sh->min_width = sh->max_width = win->r.w; + sh->min_height = sh->max_height = win->r.h; + + XSetWMSizeHints((Display*) win->src.display, (Drawable) win->src.window, sh, XA_WM_NORMAL_HINTS); + XFree(sh); + } + + if (args & RGFW_NO_BORDER) { + /* Atom vars for no-border*/ + static Atom window_type = 0; + static Atom value = 0; + + if (window_type == 0) { + window_type = XInternAtom((Display*) win->src.display, "_NET_WM_WINDOW_TYPE", False); + value = XInternAtom((Display*) win->src.display, "_NET_WM_WINDOW_TYPE_DOCK", False); + } + + XChangeProperty((Display*) win->src.display, (Drawable) win->src.window, window_type, XA_ATOM, 32, PropModeReplace, (u8*) &value, 1); /* toggle border*/ + } + + XSelectInput((Display*) win->src.display, (Drawable) win->src.window, event_mask); /* tell X11 what events we want*/ + + /* make it so the user can't close the window until the program does*/ + if (wm_delete_window == 0) + wm_delete_window = XInternAtom((Display*) win->src.display, "WM_DELETE_WINDOW", 1); + + XSetWMProtocols((Display*) win->src.display, (Drawable) win->src.window, &wm_delete_window, 1); + + /* connect the context to the window*/ +#ifdef RGFW_OPENGL + glXMakeCurrent((Display*) win->src.display, (Drawable) win->src.window, (GLXContext) win->src.rSurf); +#endif + + /* set the background*/ + XStoreName((Display*) win->src.display, (Drawable) win->src.window, name); /* set the name*/ + + XMapWindow((Display*) win->src.display, (Drawable) win->src.window); /* draw the window*/ + XMoveWindow((Display*) win->src.display, (Drawable) win->src.window, win->r.x, win->r.y); /* move the window to it's proper cords*/ + + if (args & RGFW_ALLOW_DND) { /* init drag and drop atoms and turn on drag and drop for this window */ + win->src.winArgs |= RGFW_ALLOW_DND; + + XdndAware = XInternAtom((Display*) win->src.display, "XdndAware", False); + XdndTypeList = XInternAtom((Display*) win->src.display, "XdndTypeList", False); + XdndSelection = XInternAtom((Display*) win->src.display, "XdndSelection", False); + + /* client messages */ + XdndEnter = XInternAtom((Display*) win->src.display, "XdndEnter", False); + XdndPosition = XInternAtom((Display*) win->src.display, "XdndPosition", False); + XdndStatus = XInternAtom((Display*) win->src.display, "XdndStatus", False); + XdndLeave = XInternAtom((Display*) win->src.display, "XdndLeave", False); + XdndDrop = XInternAtom((Display*) win->src.display, "XdndDrop", False); + XdndFinished = XInternAtom((Display*) win->src.display, "XdndFinished", False); + + /* actions */ + XdndActionCopy = XInternAtom((Display*) win->src.display, "XdndActionCopy", False); + XdndActionMove = XInternAtom((Display*) win->src.display, "XdndActionMove", False); + XdndActionLink = XInternAtom((Display*) win->src.display, "XdndActionLink", False); + XdndActionAsk = XInternAtom((Display*) win->src.display, "XdndActionAsk", False); + XdndActionPrivate = XInternAtom((Display*) win->src.display, "XdndActionPrivate", False); + const Atom version = 5; + + XChangeProperty((Display*) win->src.display, (Window) win->src.window, + XdndAware, 4, 32, + PropModeReplace, (u8*) &version, 1); /* turns on drag and drop */ + } + + RGFW_window_setMouseDefault(win); + + RGFW_windowsOpen++; + + return win; /*return newly created window*/ + } + + RGFW_area RGFW_getScreenSize(void) { + assert(RGFW_root != NULL); + + Screen* scrn = DefaultScreenOfDisplay((Display*) RGFW_root->src.display); + return RGFW_AREA(scrn->width, scrn->height); + } + + RGFW_vector RGFW_getGlobalMousePoint(void) { + assert(RGFW_root != NULL); + + RGFW_vector RGFWMouse; + + i32 x, y; + u32 z; + Window window1, window2; + XQueryPointer((Display*) RGFW_root->src.display, XDefaultRootWindow((Display*) RGFW_root->src.display), &window1, &window2, &x, &RGFWMouse.x, &RGFWMouse.y, &y, &z); + + return RGFWMouse; + } + + typedef struct XDND { + long source, version; + i32 format; + } XDND; /* data structure for xdnd events */ + XDND xdnd; + + int xAxis = 0, yAxis = 0; + + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { + assert(win != NULL); + + win->event.type = 0; + +#ifdef __linux__ + { + u8 i; + for (i = 0; i < win->src.joystickCount; i++) { + struct js_event e; + + + if (!win->src.joysticks[i]) + continue; + + i32 flags = fcntl(win->src.joysticks[i], F_GETFL, 0); + fcntl(win->src.joysticks[i], F_SETFL, flags | O_NONBLOCK); + + ssize_t bytes; + while ((bytes = read(win->src.joysticks[i], &e, sizeof(e))) > 0) { + switch (e.type) { + case JS_EVENT_BUTTON: + win->event.type = e.value ? RGFW_jsButtonPressed : RGFW_jsButtonReleased; + win->event.button = e.number; + win->src.jsPressed[i][e.number] = e.value; + return &win->event; + case JS_EVENT_AXIS: + ioctl(win->src.joysticks[i], JSIOCGAXES, &win->event.axisesCount); + + if ((e.number == 0 || e.number % 2) && e.number != 1) + xAxis = e.value; + else + yAxis = e.value; + + win->event.axis[e.number / 2].x = xAxis; + win->event.axis[e.number / 2].y = yAxis; + win->event.type = RGFW_jsAxisMove; + win->event.joystick = e.number / 2; + return &win->event; + + default: break; + } + } + } + } +#endif + + XEvent E; /* raw X11 event */ + + /* if there is no unread qued events, get a new one */ + if (XEventsQueued((Display*) win->src.display, QueuedAlready) + XEventsQueued((Display*) win->src.display, QueuedAfterReading) && win->event.type != RGFW_quit) + XNextEvent((Display*) win->src.display, &E); + else { + return NULL; + } + + u32 i; + + if (win->event.droppedFilesCount) { + for (i = 0; i < win->event.droppedFilesCount; i++) + win->event.droppedFiles[i][0] = '\0'; + } + + win->event.droppedFilesCount = 0; + win->event.type = 0; + + + switch (E.type) { + case KeyPress: + case KeyRelease: + /* check if it's a real key release */ + if (E.type == KeyRelease && XEventsQueued((Display*) win->src.display, QueuedAfterReading)) { /* get next event if there is one*/ + XEvent NE; + XPeekEvent((Display*) win->src.display, &NE); + + if (E.xkey.time == NE.xkey.time && E.xkey.keycode == NE.xkey.keycode) /* check if the current and next are both the same*/ + break; + } + + /* set event key data */ + win->event.keyCode = XkbKeycodeToKeysym((Display*) win->src.display, E.xkey.keycode, 0, E.xkey.state & ShiftMask ? 1 : 0); + win->event.keyName = XKeysymToString(win->event.keyCode); /* convert to string */ + + /* get keystate data */ + win->event.type = (E.type == KeyPress) ? RGFW_keyPressed : RGFW_keyReleased; + + if (win->event.type == RGFW_keyReleased) { + if (win->event.keyCode == XK_Caps_Lock && win->event.lockState & RGFW_CAPSLOCK) + win->event.lockState ^= RGFW_CAPSLOCK; + else if (win->event.keyCode == XK_Caps_Lock) + win->event.lockState |= RGFW_CAPSLOCK; + + else if (win->event.keyCode == XK_Num_Lock && win->event.lockState & RGFW_NUMLOCK) + win->event.lockState ^= RGFW_NUMLOCK; + else if (win->event.keyCode == XK_Num_Lock) + win->event.lockState |= RGFW_NUMLOCK; + } + break; + + case ButtonPress: + case ButtonRelease: + win->event.type = (E.type == ButtonPress) ? RGFW_mouseButtonPressed : RGFW_mouseButtonReleased; + + if (win->event.button == RGFW_mouseScrollUp) { + win->event.scroll = 1; + } + else if (win->event.button == RGFW_mouseScrollDown) { + win->event.scroll = -1; + } + + win->event.button = E.xbutton.button; + break; + + case MotionNotify: + win->event.point.x = E.xmotion.x; + win->event.point.y = E.xmotion.y; + win->event.type = RGFW_mousePosChanged; + break; + + case ClientMessage: + /* if the client closed the window*/ + if (E.xclient.data.l[0] == (i64) wm_delete_window) { + win->event.type = RGFW_quit; + break; + } + + /* + much of this event (drag and drop code) is source from glfw + */ + + if ((win->src.winArgs & RGFW_ALLOW_DND) == 0) + break; + + u8 formFree = 0; + if (E.xclient.message_type == XdndEnter) { + u64 count; + Atom* formats = (Atom*) 0; + Bool list = E.xclient.data.l[1] & 1; + + xdnd.source = E.xclient.data.l[0]; + xdnd.version = E.xclient.data.l[1] >> 24; + xdnd.format = None; + + if (xdnd.version > 5) + break; + + if (list) { + Atom actualType; + i32 actualFormat; + u64 bytesAfter; + + XGetWindowProperty((Display*) win->src.display, + xdnd.source, + XdndTypeList, + 0, + LONG_MAX, + False, + 4, + &actualType, + &actualFormat, + &count, + &bytesAfter, + (u8**) &formats); + } else { + formats = (Atom*) RGFW_MALLOC(E.xclient.data.l[2] + E.xclient.data.l[3] + E.xclient.data.l[4]); + formFree = 1; + + count = 0; + + if (E.xclient.data.l[2] != None) + formats[count++] = E.xclient.data.l[2]; + if (E.xclient.data.l[3] != None) + formats[count++] = E.xclient.data.l[3]; + if (E.xclient.data.l[4] != None) + formats[count++] = E.xclient.data.l[4]; + } + + u32 i; + for (i = 0; i < count; i++) { + char* name = XGetAtomName((Display*) win->src.display, formats[i]); + + char* links[2] = { (char*) (const char*) "text/uri-list", (char*) (const char*) "text/plain" }; + for (; 1; name++) { + u32 j; + for (j = 0; j < 2; j++) { + if (*links[j] != *name) { + links[j] = (char*) (const char*) "\1"; + continue; + } + + if (*links[j] == '\0' && *name == '\0') + xdnd.format = formats[i]; + + if (*links[j] != '\0' && *links[j] != '\1') + links[j]++; + } + + if (*name == '\0') + break; + } + } + + if (list && formats) { + XFree(formats); + formats = (Atom*) 0; + } else if (formFree && formats != (Atom*) 0) { + RGFW_FREE(formats); + + formats = (Atom*) 0; + formFree = 1; + } + + break; + } + if (E.xclient.message_type == XdndPosition) { + const i32 xabs = (E.xclient.data.l[2] >> 16) & 0xffff; + const i32 yabs = (E.xclient.data.l[2]) & 0xffff; + Window dummy; + i32 xpos, ypos; + + if (xdnd.version > 5) + break; + + XTranslateCoordinates((Display*) win->src.display, + XDefaultRootWindow((Display*) win->src.display), + (Window) win->src.window, + xabs, yabs, + &xpos, &ypos, + &dummy); + + win->event.point.x = xpos; + win->event.point.y = ypos; + + XEvent reply = { ClientMessage }; + reply.xclient.window = xdnd.source; + reply.xclient.message_type = XdndStatus; + reply.xclient.format = 32; + reply.xclient.data.l[0] = (long) win->src.window; + reply.xclient.data.l[2] = 0; + reply.xclient.data.l[3] = 0; + + if (xdnd.format) { + reply.xclient.data.l[1] = 1; + if (xdnd.version >= 2) + reply.xclient.data.l[4] = XdndActionCopy; + } + + XSendEvent((Display*) win->src.display, xdnd.source, False, NoEventMask, &reply); + XFlush((Display*) win->src.display); + break; + } + + if (E.xclient.message_type != XdndDrop) + break; + + if (xdnd.version > 5) + break; + + win->event.type = RGFW_dnd_init; + + if (xdnd.format) { + Time time = CurrentTime; + + if (xdnd.version >= 1) + time = E.xclient.data.l[2]; + + XConvertSelection((Display*) win->src.display, + XdndSelection, + xdnd.format, + XdndSelection, + (Window) win->src.window, + time); + } else if (xdnd.version >= 2) { + XEvent reply = { ClientMessage }; + reply.xclient.window = xdnd.source; + reply.xclient.message_type = XdndFinished; + reply.xclient.format = 32; + reply.xclient.data.l[0] = (long) win->src.window; + reply.xclient.data.l[1] = 0; + reply.xclient.data.l[2] = None; + + XSendEvent((Display*) win->src.display, xdnd.source, + False, NoEventMask, &reply); + XFlush((Display*) win->src.display); + } + break; + case SelectionNotify: + /* this is only for checking for xdnd drops */ + if (E.xselection.property != XdndSelection || !(win->src.winArgs | RGFW_ALLOW_DND)) + break; + + char* data; + u64 result; + + Atom actualType; + i32 actualFormat; + u64 bytesAfter; + + XGetWindowProperty((Display*) win->src.display, E.xselection.requestor, E.xselection.property, 0, LONG_MAX, False, E.xselection.target, &actualType, &actualFormat, &result, &bytesAfter, (u8**) &data); + + if (result == 0) + break; + + /* + SOURCED FROM GLFW _glfwParseUriList + Copyright (c) 2002-2006 Marcus Geelnard + Copyright (c) 2006-2019 Camilla Löwy + */ + + const char* prefix = "file://"; + + char* line; + + win->event.droppedFilesCount = 0; + + win->event.type = RGFW_dnd; + + while ((line = strtok(data, "\r\n"))) { + char path[RGFW_MAX_PATH]; + + data = NULL; + + if (line[0] == '#') + continue; + + char* l; + for (l = line; 1; l++) { + if ((l - line) > 7) + break; + else if (*l != prefix[(l - line)]) + break; + else if (*l == '\0' && prefix[(l - line)] == '\0') { + line += 7; + while (*line != '/') + line++; + break; + } else if (*l == '\0') + break; + } + + win->event.droppedFilesCount++; + + size_t index = 0; + while (*line) { + if (line[0] == '%' && line[1] && line[2]) { + const char digits[3] = { line[1], line[2], '\0' }; + path[index] = (char) strtol(digits, NULL, 16); + line += 2; + } else + path[index] = *line; + + index++; + line++; + } + + strcpy(win->event.droppedFiles[win->event.droppedFilesCount - 1], path); + } + + if (data) + XFree(data); + + if (xdnd.version >= 2) { + XEvent reply = { ClientMessage }; + reply.xclient.window = xdnd.source; + reply.xclient.message_type = XdndFinished; + reply.xclient.format = 32; + reply.xclient.data.l[0] = (long) win->src.window; + reply.xclient.data.l[1] = result; + reply.xclient.data.l[2] = XdndActionCopy; + + XSendEvent((Display*) win->src.display, xdnd.source, False, NoEventMask, &reply); + XFlush((Display*) win->src.display); + } + + break; + + case FocusIn: + win->event.inFocus = 1; + + XKeyboardState keystate; + XGetKeyboardControl((Display*) win->src.display, &keystate); + win->event.lockState = keystate.led_mask; + + break; + case FocusOut: + win->event.inFocus = 0; + RGFW_window_setMouseDefault(win); + break; + case ConfigureNotify: { +#ifndef RGFW_NO_X11_WINDOW_ATTRIB + XWindowAttributes a; + XGetWindowAttributes((Display*) win->src.display, (Window) win->src.window, &a); + win->r = RGFW_RECT(E.xconfigure.x, E.xconfigure.y, E.xconfigure.width, E.xconfigure.height); +#endif + + win->event.type = RGFW_windowAttribsChange; + break; + } + default: { + break; + } + } + + if (win->event.inFocus && (win->src.winArgs & RGFW_MOUSE_CHANGED)) { + XDefineCursor((Display*) win->src.display, (Window) win->src.window, (Cursor) win->src.cursor); + + win->src.winArgs &= ~RGFW_MOUSE_CHANGED; + } + + RGFW_vector mouse = RGFW_getGlobalMousePoint(); + if (win->src.winArgs & RGFW_HOLD_MOUSE && win->event.inFocus && win->event.type == RGFW_mousePosChanged) { + RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + + if (XEventsQueued((Display*) win->src.display, QueuedAfterReading) <= 1) + XSync(win->src.display, True); + } + + + XFlush((Display*) win->src.display); + + if (win->event.type) + return &win->event; + else + return NULL; + } + + void RGFW_window_close(RGFW_window* win) { + assert(win != NULL); + +#ifdef RGFW_VULKAN + for (int i = 0; i < win->src.image_count; i++) { + vkDestroyImageView(RGFW_vulkan_info.device, win->src.swapchain_image_views[i], NULL); + } + + vkDestroySwapchainKHR(RGFW_vulkan_info.device, win->src.swapchain, NULL); + vkDestroySurfaceKHR(RGFW_vulkan_info.instance, win->src.rSurf, NULL); + free(win->src.swapchain_image_views); + free(win->src.swapchain_images); +#endif + +#ifdef RGFW_EGL + RGFW_closeEGL(win); +#endif + + XFreeCursor((Display*) win->src.display, (Cursor) win->src.cursor); + +#if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) + if (win->buffer != NULL) { + XDestroyImage((XImage*) win->src.bitmap); + } +#endif + + if ((Display*) win->src.display) { +#ifdef RGFW_OPENGL + glXDestroyContext((Display*) win->src.display, win->src.rSurf); +#endif + + if (win == RGFW_root) + RGFW_root = NULL; + + if ((Drawable) win->src.window) + XDestroyWindow((Display*) win->src.display, (Drawable) win->src.window); /* close the window*/ + + if (win->src.display) + XCloseDisplay((Display*) win->src.display); /* kill the display*/ + } + +#ifdef RGFW_ALLOC_DROPFILES + { + u32 i; + for (i = 0; i < RGFW_MAX_DROPS; i++) + RGFW_FREE(win->event.droppedFiles[i]); + + + RGFW_FREE(win->event.droppedFiles); + } +#endif + + RGFW_windowsOpen--; +#if !defined(RGFW_NO_X11_CURSOR_PRELOAD) && !defined(RGFW_NO_X11_CURSOR) + if (X11Cursorhandle != NULL && RGFW_windowsOpen <= 0) { + dlclose(X11Cursorhandle); + + X11Cursorhandle = NULL; + } +#endif + + /* set cleared display / window to NULL for error checking */ + win->src.display = (Display*) 0; + win->src.window = (Window) 0; + + u8 i; + for (i = 0; i < win->src.joystickCount; i++) + close(win->src.joysticks[i]); + + RGFW_FREE(win); /* free collected window data */ + } + + void RGFW_window_move(RGFW_window* win, RGFW_vector v) { + assert(win != NULL); + win->r.x = v.x; + win->r.y = v.y; + + XMoveWindow((Display*) win->src.display, (Window) win->src.window, v.x, v.y); + } + + + void RGFW_window_resize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + win->r.w = a.w; + win->r.h = a.h; + + XResizeWindow((Display*) win->src.display, (Window) win->src.window, a.w, a.h); + } + + void RGFW_window_setMinSize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + + XSizeHints hints; + long flags; + + XGetWMNormalHints(win->src.display, (Window) win->src.window, &hints, &flags); + + hints.flags |= PMinSize; + + hints.min_width = a.w; + hints.min_height = a.h; + + XSetWMNormalHints(win->src.display, (Window) win->src.window, &hints); + } + + void RGFW_window_setMaxSize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + + XSizeHints hints; + long flags; + + XGetWMNormalHints(win->src.display, (Window) win->src.window, &hints, &flags); + + hints.flags |= PMaxSize; + + hints.max_width = a.w; + hints.max_height = a.h; + + XSetWMNormalHints(win->src.display, (Window) win->src.window, &hints); + } + + + void RGFW_window_minimize(RGFW_window* win) { + assert(win != NULL); + + XIconifyWindow(win->src.display, (Window) win->src.window, DefaultScreen(win->src.display)); + XFlush(win->src.display); + } + + void RGFW_window_restore(RGFW_window* win) { + assert(win != NULL); + + XMapWindow(win->src.display, (Window) win->src.window); + XFlush(win->src.display); + } + + void RGFW_window_setName(RGFW_window* win, char* name) { + assert(win != NULL); + + XStoreName((Display*) win->src.display, (Window) win->src.window, name); + } + + /* + the majority function is sourced from GLFW + */ + + void RGFW_window_setIcon(RGFW_window* win, u8* icon, RGFW_area a, i32 channels) { + assert(win != NULL); + + i32 longCount = 2 + a.w * a.h; + + u64* X11Icon = (u64*) RGFW_MALLOC(longCount * sizeof(u64)); + u64* target = X11Icon; + + *target++ = a.w; + *target++ = a.h; + + u32 i; + + for (i = 0; i < a.w * a.h; i++) { + if (channels == 3) + *target++ = ((icon[i * 3 + 0]) << 16) | + ((icon[i * 3 + 1]) << 8) | + ((icon[i * 3 + 2]) << 0) | + (0xFF << 24); + + else if (channels == 4) + *target++ = ((icon[i * 4 + 0]) << 16) | + ((icon[i * 4 + 1]) << 8) | + ((icon[i * 4 + 2]) << 0) | + ((icon[i * 4 + 3]) << 24); + } + + static Atom NET_WM_ICON = 0; + if (NET_WM_ICON == 0) + NET_WM_ICON = XInternAtom((Display*) win->src.display, "_NET_WM_ICON", False); + + XChangeProperty((Display*) win->src.display, (Window) win->src.window, + NET_WM_ICON, + 6, 32, + PropModeReplace, + (u8*) X11Icon, + longCount); + + RGFW_FREE(X11Icon); + + XFlush((Display*) win->src.display); + } + + void RGFW_window_setMouse(RGFW_window* win, u8* image, RGFW_area a, i32 channels) { + assert(win != NULL); + +#ifndef RGFW_NO_X11_CURSOR + /* free the previous cursor */ + if (win->src.cursor && win->src.cursor != -1) + XFreeCursor((Display*) win->src.display, (Cursor) win->src.cursor); + + XcursorImage* native = XcursorImageCreate(a.w, a.h); + native->xhot = 0; + native->yhot = 0; + + u8* source = (u8*) image; + XcursorPixel* target = native->pixels; + + u32 i; + for (i = 0; i < a.w * a.h; i++, target++, source += 4) { + u8 alpha = 0xFF; + if (channels == 4) + alpha = source[3]; + + *target = (alpha << 24) | (((source[0] * alpha) / 255) << 16) | (((source[1] * alpha) / 255) << 8) | (((source[2] * alpha) / 255) << 0); + } + + win->src.winArgs |= RGFW_MOUSE_CHANGED; + win->src.cursor = XcursorImageLoadCursor((Display*) win->src.display, native); + + XcursorImageDestroy(native); +#endif + } + + void RGFW_window_moveMouse(RGFW_window* win, RGFW_vector v) { + assert(win != NULL); + + XEvent event; + XQueryPointer(win->src.display, DefaultRootWindow(win->src.display), + &event.xbutton.root, &event.xbutton.window, + &event.xbutton.x_root, &event.xbutton.y_root, + &event.xbutton.x, &event.xbutton.y, + &event.xbutton.state); + + if (event.xbutton.x == v.x && event.xbutton.y == v.y) + return; + + XWarpPointer(win->src.display, None, None, 0, 0, 0, 0, -event.xbutton.x, -event.xbutton.y); + XWarpPointer(win->src.display, None, None, 0, 0, 0, 0, v.x, v.y); + } + + RGFWDEF void RGFW_window_disableMouse(RGFW_window* win) { + + } + + void RGFW_window_setMouseDefault(RGFW_window* win) { + RGFW_window_setMouseStandard(win, XC_left_ptr); + } + + void RGFW_window_setMouseStandard(RGFW_window* win, i32 mouse) { + assert(win != NULL); + + /* free the previous cursor */ + if (win->src.cursor && win->src.cursor != -1) + XFreeCursor((Display*) win->src.display, (Cursor) win->src.cursor); + + win->src.winArgs |= RGFW_MOUSE_CHANGED; + win->src.cursor = XCreateFontCursor((Display*) win->src.display, mouse); + } + + void RGFW_window_hide(RGFW_window* win) { + XMapWindow(win->src.display, win->src.window); + } + + void RGFW_window_show(RGFW_window* win) { + XUnmapWindow(win->src.display, win->src.window); + } + + /* + the majority function is sourced from GLFW + */ + char* RGFW_readClipboard(size_t* size) { + static Atom UTF8 = 0; + if (UTF8 == 0) + UTF8 = XInternAtom(RGFW_root->src.display, "UTF8_STRING", True); + + XEvent event; + int format; + unsigned long N, sizeN; + char* data, * s = NULL; + Atom target; + Atom CLIPBOARD = 0, XSEL_DATA = 0; + + if (CLIPBOARD == 0) { + CLIPBOARD = XInternAtom(RGFW_root->src.display, "CLIPBOARD", 0); + XSEL_DATA = XInternAtom(RGFW_root->src.display, "XSEL_DATA", 0); + } + + XConvertSelection(RGFW_root->src.display, CLIPBOARD, UTF8, XSEL_DATA, RGFW_root->src.window, CurrentTime); + XSync(RGFW_root->src.display, 0); + XNextEvent(RGFW_root->src.display, &event); + + if (event.type != SelectionNotify || event.xselection.selection != CLIPBOARD || event.xselection.property == 0) + return NULL; + + XGetWindowProperty(event.xselection.display, event.xselection.requestor, + event.xselection.property, 0L, (~0L), 0, AnyPropertyType, &target, + &format, &sizeN, &N, (unsigned char**) &data); + + if (target == UTF8 || target == XA_STRING) { + s = strndup(data, sizeN); + XFree(data); + } + + XDeleteProperty(event.xselection.display, event.xselection.requestor, event.xselection.property); + + if (s != NULL && size != NULL) + *size = sizeN; + + return s; + } + + /* + almost all of this function is sourced from GLFW + */ + void RGFW_writeClipboard(const char* text, u32 textLen) { + static Atom CLIPBOARD = 0, + UTF8_STRING = 0, + SAVE_TARGETS = 0, + TARGETS = 0, + MULTIPLE = 0, + ATOM_PAIR = 0, + CLIPBOARD_MANAGER = 0; + + if (CLIPBOARD == 0) { + CLIPBOARD = XInternAtom((Display*) RGFW_root->src.display, "CLIPBOARD", False); + UTF8_STRING = XInternAtom((Display*) RGFW_root->src.display, "UTF8_STRING", False); + SAVE_TARGETS = XInternAtom((Display*) RGFW_root->src.display, "SAVE_TARGETS", False); + TARGETS = XInternAtom((Display*) RGFW_root->src.display, "TARGETS", False); + MULTIPLE = XInternAtom((Display*) RGFW_root->src.display, "MULTIPLE", False); + ATOM_PAIR = XInternAtom((Display*) RGFW_root->src.display, "ATOM_PAIR", False); + CLIPBOARD_MANAGER = XInternAtom((Display*) RGFW_root->src.display, "CLIPBOARD_MANAGER", False); + } + + XSetSelectionOwner((Display*) RGFW_root->src.display, CLIPBOARD, (Window) RGFW_root->src.window, CurrentTime); + + XConvertSelection((Display*) RGFW_root->src.display, CLIPBOARD_MANAGER, SAVE_TARGETS, None, (Window) RGFW_root->src.window, CurrentTime); + + for (;;) { + XEvent event; + + XNextEvent((Display*) RGFW_root->src.display, &event); + if (event.type != SelectionRequest) + return; + + const XSelectionRequestEvent* request = &event.xselectionrequest; + + XEvent reply = { SelectionNotify }; + + char* selectionString = NULL; + const Atom formats[] = { UTF8_STRING, XA_STRING }; + const i32 formatCount = sizeof(formats) / sizeof(formats[0]); + + selectionString = (char*) text; + + if (request->target == TARGETS) { + const Atom targets[] = { TARGETS, + MULTIPLE, + UTF8_STRING, + XA_STRING }; + + XChangeProperty((Display*) RGFW_root->src.display, + request->requestor, + request->property, + 4, + 32, + PropModeReplace, + (u8*) targets, + sizeof(targets) / sizeof(targets[0])); + + reply.xselection.property = request->property; + } + + if (request->target == MULTIPLE) { + + Atom* targets; + + Atom actualType; + i32 actualFormat; + u64 count, bytesAfter; + + XGetWindowProperty((Display*) RGFW_root->src.display, request->requestor, request->property, 0, LONG_MAX, False, ATOM_PAIR, &actualType, &actualFormat, &count, &bytesAfter, (u8**) &targets); + + u64 i; + for (i = 0; i < count; i += 2) { + i32 j; + + for (j = 0; j < formatCount; j++) { + if (targets[i] == formats[j]) + break; + } + + if (j < formatCount) + { + XChangeProperty((Display*) RGFW_root->src.display, + request->requestor, + targets[i + 1], + targets[i], + 8, + PropModeReplace, + (u8*) selectionString, + textLen); + } else + targets[i + 1] = None; + } + + XChangeProperty((Display*) RGFW_root->src.display, + request->requestor, + request->property, + ATOM_PAIR, + 32, + PropModeReplace, + (u8*) targets, + count); + + XFree(targets); + + reply.xselection.property = request->property; + } + + reply.xselection.display = request->display; + reply.xselection.requestor = request->requestor; + reply.xselection.selection = request->selection; + reply.xselection.target = request->target; + reply.xselection.time = request->time; + + XSendEvent((Display*) RGFW_root->src.display, request->requestor, False, 0, &reply); + } + } + + u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber) { + assert(win != NULL); + +#ifdef __linux__ + char file[15]; + sprintf(file, "/dev/input/js%i", jsNumber); + + return RGFW_registerJoystickF(win, file); +#endif + } + + u16 RGFW_registerJoystickF(RGFW_window* win, char* file) { + assert(win != NULL); + +#ifdef __linux__ + + i32 js = open(file, O_RDONLY); + + if (js && win->src.joystickCount < 4) { + win->src.joystickCount++; + + win->src.joysticks[win->src.joystickCount - 1] = open(file, O_RDONLY); + + u8 i; + for (i = 0; i < 16; i++) + win->src.jsPressed[win->src.joystickCount - 1][i] = 0; + + } + + else { +#ifdef RGFW_PRINT_ERRORS + RGFW_error = 1; + fprintf(stderr, "Error RGFW_registerJoystickF : Cannot open file %s\n", file); +#endif + } + + return win->src.joystickCount - 1; +#endif + } + + u8 RGFW_window_isFullscreen(RGFW_window* win) { + assert(win != NULL); + + XWindowAttributes windowAttributes; + XGetWindowAttributes(win->src.display, (Window) win->src.window, &windowAttributes); + + /* check if the window is visable */ + if (windowAttributes.map_state != IsViewable) + return 0; + + /* check if the window covers the full screen */ + return (windowAttributes.x == 0 && windowAttributes.y == 0 && + windowAttributes.width == XDisplayWidth(win->src.display, DefaultScreen(win->src.display)) && + windowAttributes.height == XDisplayHeight(win->src.display, DefaultScreen(win->src.display))); + } + + u8 RGFW_window_isHidden(RGFW_window* win) { + assert(win != NULL); + + XWindowAttributes windowAttributes; + XGetWindowAttributes(win->src.display, (Window) win->src.window, &windowAttributes); + + return (windowAttributes.map_state == IsUnmapped && !RGFW_window_isMinimized(win)); + } + + u8 RGFW_window_isMinimized(RGFW_window* win) { + assert(win != NULL); + + static Atom prop = 0; + if (prop == 0) + prop = XInternAtom(win->src.display, "WM_STATE", False); + + Atom actual_type; + i32 actual_format; + u64 nitems, bytes_after; + unsigned char* prop_data; + + i16 status = XGetWindowProperty(win->src.display, (Window) win->src.window, prop, 0, 2, False, + AnyPropertyType, &actual_type, &actual_format, + &nitems, &bytes_after, &prop_data); + + if (status == Success && nitems >= 1 && *((int*) prop_data) == IconicState) { + XFree(prop_data); + return 1; + } + + if (prop_data != NULL) + XFree(prop_data); + + return 0; + } + + u8 RGFW_window_isMaximized(RGFW_window* win) { + assert(win != NULL); + + static Atom net_wm_state = 0; + static Atom net_wm_state_maximized_horz = 0; + static Atom net_wm_state_maximized_vert = 0; + + if (net_wm_state == 0) { + net_wm_state = XInternAtom(win->src.display, "_NET_WM_STATE", False); + net_wm_state_maximized_vert = XInternAtom(win->src.display, "_NET_WM_STATE_MAXIMIZED_VERT", False); + net_wm_state_maximized_horz = XInternAtom(win->src.display, "_NET_WM_STATE_MAXIMIZED_HORZ", False); + } + + Atom actual_type; + i32 actual_format; + u64 nitems, bytes_after; + unsigned char* prop_data; + + i16 status = XGetWindowProperty(win->src.display, (Window) win->src.window, net_wm_state, 0, 1024, False, + XA_ATOM, &actual_type, &actual_format, + &nitems, &bytes_after, &prop_data); + + if (status != Success) { + if (prop_data != NULL) + XFree(prop_data); + + return 0; + } + + Atom* atoms = (Atom*) prop_data; + u64 i; + for (i = 0; i < nitems; ++i) { + if (atoms[i] == net_wm_state_maximized_horz || + atoms[i] == net_wm_state_maximized_vert) { + XFree(prop_data); + return 1; + } + } + + return 0; + } + + static void XGetSystemContentScale(Display* display, float* xscale, float* yscale) { + float xdpi = 96.f, ydpi = 96.f; + +#ifndef RGFW_NO_DPI + char* rms = XResourceManagerString(display); + XrmDatabase db = NULL; + + if (rms && db) + db = XrmGetStringDatabase(rms); + + if (db == 0) { + *xscale = xdpi / 96.f; + *yscale = ydpi / 96.f; + return; + } + + XrmValue value; + char* type = NULL; + + if (XrmGetResource(db, "Xft.dpi", "Xft.Dpi", &type, &value) && type && strcmp(type, "String") == 0) + xdpi = ydpi = atof(value.addr); + XrmDestroyDatabase(db); +#endif + + * xscale = xdpi / 96.f; + *yscale = ydpi / 96.f; + } + + RGFW_monitor RGFW_XCreateMonitor(i32 screen) { + RGFW_monitor monitor; + + Display* display = XOpenDisplay(NULL); + + monitor.rect = RGFW_RECT(0, 0, DisplayWidth(display, screen), DisplayHeight(display, screen)); + monitor.physW = (monitor.rect.w * 25.4f / 96.f); + monitor.physH = (monitor.rect.h * 25.4f / 96.f); + + strncpy(monitor.name, DisplayString(display), 128); + + XGetSystemContentScale(display, &monitor.scaleX, &monitor.scaleY); + + XRRScreenResources* sr = XRRGetScreenResourcesCurrent(display, RootWindow(display, screen)); + + XRRCrtcInfo* ci = NULL; + int crtc = 0; + + if (sr->ncrtc > crtc) { + ci = XRRGetCrtcInfo(display, sr, sr->crtcs[crtc]); + } + + if (ci == NULL) { + XRRFreeScreenResources(sr); + XCloseDisplay(display); + return monitor; + } + + monitor.rect.x = ci->x; + monitor.rect.y = ci->y; + + XRRFreeCrtcInfo(ci); + XRRFreeScreenResources(sr); + + XCloseDisplay(display); + + return monitor; + } + + RGFW_monitor RGFW_monitors[6]; + RGFW_monitor* RGFW_getMonitors(void) { + size_t i; + for (i = 0; i < ScreenCount(RGFW_root->src.display) && i < 6; i++) + RGFW_monitors[i] = RGFW_XCreateMonitor(i); + + return RGFW_monitors; + } + + RGFW_monitor RGFW_getPrimaryMonitor(void) { + assert(RGFW_root != NULL); + + i32 primary = -1; + Window root = DefaultRootWindow(RGFW_root->src.display); + XRRScreenResources* res = XRRGetScreenResources(RGFW_root->src.display, root); + + for (int i = 0; i < res->noutput; i++) { + XRROutputInfo* output_info = XRRGetOutputInfo(RGFW_root->src.display, res, res->outputs[i]); + if (output_info->connection == RR_Connected && output_info->crtc) { + XRRCrtcInfo* crtc_info = XRRGetCrtcInfo(RGFW_root->src.display, res, output_info->crtc); + if (crtc_info->mode != None && crtc_info->x == 0 && crtc_info->y == 0) { + primary = i; + XRRFreeCrtcInfo(crtc_info); + XRRFreeOutputInfo(output_info); + break; + } + XRRFreeCrtcInfo(crtc_info); + } + XRRFreeOutputInfo(output_info); + } + + XRRFreeScreenResources(res); + + return RGFW_XCreateMonitor(primary); + } + + RGFW_monitor RGFW_window_getMonitor(RGFW_window* win) { + return RGFW_XCreateMonitor(DefaultScreen(win->src.display)); + } + + char keyboard[32]; + + u8 RGFW_isPressedI(RGFW_window* win, u32 key) { + Display* d; + if (win == (RGFW_window*) 0) + d = RGFW_root->src.display; + else if (!win->event.inFocus) + return 0; + else + d = (Display*) win->src.display; + + XQueryKeymap(d, keyboard); /* query the keymap */ + + KeyCode kc2 = XKeysymToKeycode(d, key); /* convert the key to a keycode */ + return !!(keyboard[kc2 >> 3] & (1 << (kc2 & 7))); /* check if the key is pressed */ + } + +#endif + +#ifdef RGFW_WINDOWS + char* createUTF8FromWideStringWin32(const WCHAR* source); + +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 + +#if defined(RGFW_OSMESA) && defined(RGFW_LINK_OSMESA) + + typedef void (GLAPIENTRY* PFN_OSMesaDestroyContext)(OSMesaContext); + typedef i32(GLAPIENTRY* PFN_OSMesaMakeCurrent)(OSMesaContext, void*, int, int, int); + typedef OSMesaContext(GLAPIENTRY* PFN_OSMesaCreateContext)(GLenum, OSMesaContext); + + PFN_OSMesaMakeCurrent OSMesaMakeCurrentSource; + PFN_OSMesaCreateContext OSMesaCreateContextSource; + PFN_OSMesaDestroyContext OSMesaDestroyContextSource; + +#define OSMesaCreateContext OSMesaCreateContextSource +#define OSMesaMakeCurrent OSMesaMakeCurrentSource +#define OSMesaDestroyContext OSMesaDestroyContextSource +#endif + + typedef int (*PFN_wglGetSwapIntervalEXT)(void); + PFN_wglGetSwapIntervalEXT wglGetSwapIntervalEXTSrc = NULL; +#define wglGetSwapIntervalEXT wglGetSwapIntervalEXTSrc + + + +#if defined(RGFW_DIRECTX) + RGFW_directXinfo RGFW_dxInfo; + + RGFW_directXinfo* RGFW_getDirectXInfo(void) { return &RGFW_dxInfo; } +#endif + + void* RGFWjoystickApi = NULL; + + /* these two wgl functions need to be preloaded */ + typedef HGLRC(WINAPI* wglCreateContextAttribsARB_type)(HDC hdc, HGLRC hShareContext, + const i32* attribList); + wglCreateContextAttribsARB_type wglCreateContextAttribsARB = NULL; + + /* defines for creating ARB attributes */ +#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 +#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define WGL_TRANSPARENT_ARB 0x200A +#define WGL_DRAW_TO_WINDOW_ARB 0x2001 +#define WGL_ACCELERATION_ARB 0x2003 +#define WGL_NO_ACCELERATION_ARB 0x2025 +#define WGL_SUPPORT_OPENGL_ARB 0x2010 +#define WGL_DOUBLE_BUFFER_ARB 0x2011 +#define WGL_PIXEL_TYPE_ARB 0x2013 +#define WGL_COLOR_BITS_ARB 0x2014 +#define WGL_RED_BITS_ARB 0x2015 +#define WGL_RED_SHIFT_ARB 0x2016 +#define WGL_GREEN_BITS_ARB 0x2017 +#define WGL_GREEN_SHIFT_ARB 0x2018 +#define WGL_BLUE_BITS_ARB 0x2019 +#define WGL_BLUE_SHIFT_ARB 0x201a +#define WGL_ALPHA_BITS_ARB 0x201b +#define WGL_ALPHA_SHIFT_ARB 0x201c +#define WGL_ACCUM_BITS_ARB 0x201d +#define WGL_ACCUM_RED_BITS_ARB 0x201e +#define WGL_ACCUM_GREEN_BITS_ARB 0x201f +#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 +#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 +#define WGL_DEPTH_BITS_ARB 0x2022 +#define WGL_AUX_BUFFERS_ARB 0x2024 +#define WGL_STEREO_ARB 0x2012 +#define WGL_DEPTH_BITS_ARB 0x2022 +#define WGL_STENCIL_BITS_ARB 0x2023 +#define WGL_FULL_ACCELERATION_ARB 0x2027 +#define WGL_TYPE_RGBA_ARB 0x202B +#define WGL_CONTEXT_FLAGS_ARB 0x2094 +#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 +#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9 + +static HMODULE wglinstance = NULL; + +#ifdef RGFW_WGL_LOAD + typedef HGLRC(WINAPI* PFN_wglCreateContext)(HDC); + typedef BOOL(WINAPI* PFN_wglDeleteContext)(HGLRC); + typedef PROC(WINAPI* PFN_wglGetProcAddress)(LPCSTR); + typedef BOOL(WINAPI* PFN_wglMakeCurrent)(HDC, HGLRC); + typedef HDC(WINAPI* PFN_wglGetCurrentDC)(); + typedef HGLRC(WINAPI* PFN_wglGetCurrentContext)(); + + PFN_wglCreateContext wglCreateContextSRC; + PFN_wglDeleteContext wglDeleteContextSRC; + PFN_wglGetProcAddress wglGetProcAddressSRC; + PFN_wglMakeCurrent wglMakeCurrentSRC; + PFN_wglGetCurrentDC wglGetCurrentDCSRC; + PFN_wglGetCurrentContext wglGetCurrentContextSRC; + +#define wglCreateContext wglCreateContextSRC +#define wglDeleteContext wglDeleteContextSRC +#define wglGetProcAddress wglGetProcAddressSRC +#define wglMakeCurrent wglMakeCurrentSRC + +#define wglGetCurrentDC wglGetCurrentDCSRC +#define wglGetCurrentContext wglGetCurrentContextSRC +#endif + +#ifdef RGFW_OPENGL + void* RGFW_getProcAddress(const char* procname) { + void* proc = (void*) wglGetProcAddress(procname); + if (proc) + return proc; + + return (void*) GetProcAddress(wglinstance, procname); + } + + typedef BOOL(APIENTRY* PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats); + static PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL; +#endif + + RGFW_window RGFW_eventWindow = { {NULL} }; + + LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { + switch (message) { + case WM_MOVE: + RGFW_eventWindow.r.x = LOWORD(lParam); + RGFW_eventWindow.r.y = HIWORD(lParam); + RGFW_eventWindow.src.window = hWnd; + return DefWindowProcA(hWnd, message, wParam, lParam); + case WM_SIZE: + RGFW_eventWindow.r.w = LOWORD(lParam); + RGFW_eventWindow.r.h = HIWORD(lParam); + RGFW_eventWindow.src.window = hWnd; + return DefWindowProcA(hWnd, message, wParam, lParam); // Call DefWindowProc after handling + default: + return DefWindowProcA(hWnd, message, wParam, lParam); + } + } + + #ifndef RGFW_NO_DPI + static HMODULE RGFW_Shcore_dll = NULL; + typedef HRESULT (WINAPI * PFN_GetDpiForMonitor)(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); + PFN_GetDpiForMonitor GetDpiForMonitorSRC = NULL; + #define GetDpiForMonitor GetDpiForMonitorSRC + #endif + + void RGFW_loadXInput(void) { + u32 i; + static const char* names[] = { + "xinput1_4.dll", + "xinput1_3.dll", + "xinput9_1_0.dll", + "xinput1_2.dll", + "xinput1_1.dll" + }; + + for (i = 0; i < sizeof(names) / sizeof(const char*); i++) { + RGFW_XInput_dll = LoadLibraryA(names[i]); + + if (RGFW_XInput_dll) { + XInputGetStateSRC = (PFN_XInputGetState)GetProcAddress(RGFW_XInput_dll, "XInputGetState"); + + if (XInputGetStateSRC == NULL) + printf("Failed to load XInputGetState"); + } + } + } + + RGFW_window* RGFW_createWindow(const char* name, RGFW_rect rect, u16 args) { + if (RGFW_XInput_dll == NULL) + RGFW_loadXInput(); + + #ifndef RGFW_NO_DPI + if (RGFW_Shcore_dll == NULL) { + RGFW_Shcore_dll = LoadLibraryA("shcore.dll"); + GetDpiForMonitorSRC = (PFN_GetDpiForMonitor)GetProcAddress(RGFW_Shcore_dll, "GetDpiForMonitor"); + } + #endif + + if (wglinstance == NULL) { + wglinstance = LoadLibraryA("opengl32.dll"); +#ifdef RGFW_WGL_LOAD + wglCreateContextSRC = (PFN_wglCreateContext) GetProcAddress(wglinstance, "wglCreateContext"); + wglDeleteContextSRC = (PFN_wglDeleteContext) GetProcAddress(wglinstance, "wglDeleteContext"); + wglGetProcAddressSRC = (PFN_wglGetProcAddress) GetProcAddress(wglinstance, "wglGetProcAddress"); + wglMakeCurrentSRC = (PFN_wglMakeCurrent) GetProcAddress(wglinstance, "wglMakeCurrent"); + wglGetCurrentDCSRC = (PFN_wglGetCurrentDC) GetProcAddress(wglinstance, "wglGetCurrentDC"); + wglGetCurrentContextSRC = (PFN_wglGetCurrentContext) GetProcAddress(wglinstance, "wglGetCurrentContext"); +#endif + } + + if (name[0] == 0) name = (char*) " "; + + RGFW_eventWindow.r = RGFW_RECT(-1, -1, -1, -1); + + RGFW_window* win = RGFW_window_basic_init(rect, args); + + if (RGFW_root == NULL) { + RGFW_root = win; + } + + HINSTANCE inh = GetModuleHandleA(NULL); + + WNDCLASSA Class = { 0 }; /* Setup the Window class. */ + Class.lpszClassName = name; + Class.hInstance = inh; + Class.hCursor = LoadCursor(NULL, IDC_ARROW); + Class.lpfnWndProc = WndProc; + + RegisterClassA(&Class); + + DWORD window_style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; + + RECT windowRect, clientRect; + + if (!(args & RGFW_NO_BORDER)) { + window_style |= WS_CAPTION | WS_SYSMENU | WS_BORDER | WS_VISIBLE | WS_MINIMIZEBOX; + + if (!(args & RGFW_NO_RESIZE)) + window_style |= WS_SIZEBOX | WS_MAXIMIZEBOX | WS_THICKFRAME; + } else + window_style |= WS_POPUP | WS_VISIBLE | WS_SYSMENU | WS_MINIMIZEBOX; + + HWND dummyWin = CreateWindowA(Class.lpszClassName, name, window_style, win->r.x, win->r.y, win->r.w, win->r.h, 0, 0, inh, 0); + + GetWindowRect(dummyWin, &windowRect); + GetClientRect(dummyWin, &clientRect); + + win->src.hOffset = (windowRect.bottom - windowRect.top) - (clientRect.bottom - clientRect.top); + win->src.window = CreateWindowA(Class.lpszClassName, name, window_style, win->r.x, win->r.y, win->r.w, win->r.h + win->src.hOffset, 0, 0, inh, 0); + + if (args & RGFW_TRANSPARENT_WINDOW) { + SetWindowLongA(win->src.window, GWL_EXSTYLE, GetWindowLongA(win->src.window, GWL_EXSTYLE) | WS_EX_LAYERED); + } + if (args & RGFW_ALLOW_DND) { + win->src.winArgs |= RGFW_ALLOW_DND; + DragAcceptFiles(win->src.window, TRUE); + } + win->src.hdc = GetDC(win->src.window); + +#ifdef RGFW_DIRECTX + assert(FAILED(CreateDXGIFactory(&__uuidof(IDXGIFactory), (void**) &RGFW_dxInfo.pFactory)) == 0); + + if (FAILED(RGFW_dxInfo.pFactory->lpVtbl->EnumAdapters(RGFW_dxInfo.pFactory, 0, &RGFW_dxInfo.pAdapter))) { + fprintf(stderr, "Failed to enumerate DXGI adapters\n"); + RGFW_dxInfo.pFactory->lpVtbl->Release(RGFW_dxInfo.pFactory); + return NULL; + } + + D3D_FEATURE_LEVEL featureLevels[] = { D3D_FEATURE_LEVEL_11_0 }; + + if (FAILED(D3D11CreateDevice(RGFW_dxInfo.pAdapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, 0, featureLevels, 1, D3D11_SDK_VERSION, &RGFW_dxInfo.pDevice, NULL, &RGFW_dxInfo.pDeviceContext))) { + fprintf(stderr, "Failed to create Direct3D device\n"); + RGFW_dxInfo.pAdapter->lpVtbl->Release(RGFW_dxInfo.pAdapter); + RGFW_dxInfo.pFactory->lpVtbl->Release(RGFW_dxInfo.pFactory); + return NULL; + } + + DXGI_SWAP_CHAIN_DESC swapChainDesc = { 0 }; + swapChainDesc.BufferCount = 1; + swapChainDesc.BufferDesc.Width = win->r.w; + swapChainDesc.BufferDesc.Height = win->r.h; + swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.OutputWindow = win->src.window; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Windowed = TRUE; + RGFW_dxInfo.pFactory->lpVtbl->CreateSwapChain(RGFW_dxInfo.pFactory, (IUnknown*) RGFW_dxInfo.pDevice, &swapChainDesc, &win->src.swapchain); + + ID3D11Texture2D* pBackBuffer; + win->src.swapchain->lpVtbl->GetBuffer(win->src.swapchain, 0, &__uuidof(ID3D11Texture2D), (LPVOID*) &pBackBuffer); + RGFW_dxInfo.pDevice->lpVtbl->CreateRenderTargetView(RGFW_dxInfo.pDevice, (ID3D11Resource*) pBackBuffer, NULL, &win->src.renderTargetView); + pBackBuffer->lpVtbl->Release(pBackBuffer); + + D3D11_TEXTURE2D_DESC depthStencilDesc = { 0 }; + depthStencilDesc.Width = win->r.w; + depthStencilDesc.Height = win->r.h; + depthStencilDesc.MipLevels = 1; + depthStencilDesc.ArraySize = 1; + depthStencilDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT; + depthStencilDesc.SampleDesc.Count = 1; + depthStencilDesc.SampleDesc.Quality = 0; + depthStencilDesc.Usage = D3D11_USAGE_DEFAULT; + depthStencilDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL; + + ID3D11Texture2D* pDepthStencilTexture = NULL; + RGFW_dxInfo.pDevice->lpVtbl->CreateTexture2D(RGFW_dxInfo.pDevice, &depthStencilDesc, NULL, &pDepthStencilTexture); + + D3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc = { 0 }; + depthStencilViewDesc.Format = depthStencilDesc.Format; + depthStencilViewDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D; + depthStencilViewDesc.Texture2D.MipSlice = 0; + + RGFW_dxInfo.pDevice->lpVtbl->CreateDepthStencilView(RGFW_dxInfo.pDevice, (ID3D11Resource*) pDepthStencilTexture, &depthStencilViewDesc, &win->src.pDepthStencilView); + + pDepthStencilTexture->lpVtbl->Release(pDepthStencilTexture); + + RGFW_dxInfo.pDeviceContext->lpVtbl->OMSetRenderTargets(RGFW_dxInfo.pDeviceContext, 1, &win->src.renderTargetView, win->src.pDepthStencilView); +#endif + +#ifdef RGFW_OPENGL + HDC dummy_dc = GetDC(dummyWin); + + PIXELFORMATDESCRIPTOR pfd = { + .nSize = sizeof(pfd), + .nVersion = 1, + .iPixelType = PFD_TYPE_RGBA, + .dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, + .cColorBits = 32, + .cAlphaBits = 8, + .iLayerType = PFD_MAIN_PLANE, + .cDepthBits = 24, + .cStencilBits = 8, + }; + + int pixel_format = ChoosePixelFormat(dummy_dc, &pfd); + SetPixelFormat(dummy_dc, pixel_format, &pfd); + + HGLRC dummy_context = wglCreateContext(dummy_dc); + wglMakeCurrent(dummy_dc, dummy_context); + + if (wglChoosePixelFormatARB == NULL) { + wglCreateContextAttribsARB = (wglCreateContextAttribsARB_type) wglGetProcAddress("wglCreateContextAttribsARB"); + wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC) wglGetProcAddress("wglChoosePixelFormatARB"); + } + + wglMakeCurrent(dummy_dc, 0); + wglDeleteContext(dummy_context); + ReleaseDC(dummyWin, dummy_dc); + + if (wglCreateContextAttribsARB != NULL) { + PIXELFORMATDESCRIPTOR pfd = { sizeof(pfd), 1, PFD_TYPE_RGBA, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 32, 8, PFD_MAIN_PLANE, 24, 8 }; + + if (args & RGFW_OPENGL_SOFTWARE) + pfd.dwFlags |= PFD_GENERIC_FORMAT | PFD_GENERIC_ACCELERATED; + + if (wglChoosePixelFormatARB != NULL) { + i32* pixel_format_attribs = (i32*)RGFW_initAttribs(args & RGFW_OPENGL_SOFTWARE); + + int pixel_format; + UINT num_formats; + wglChoosePixelFormatARB(win->src.hdc, pixel_format_attribs, 0, 1, &pixel_format, &num_formats); + if (!num_formats) { + printf("Failed to set the OpenGL 3.3 pixel format.\n"); + } + + DescribePixelFormat(win->src.hdc, pixel_format, sizeof(pfd), &pfd); + if (!SetPixelFormat(win->src.hdc, pixel_format, &pfd)) { + printf("Failed to set the OpenGL 3.3 pixel format.\n"); + } + } + + u32 index = 0; + i32 attribs[40]; +#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 + SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB); + + if (RGFW_majorVersion || RGFW_minorVersion) { + SET_ATTRIB(WGL_CONTEXT_MAJOR_VERSION_ARB, RGFW_majorVersion); + SET_ATTRIB(WGL_CONTEXT_MINOR_VERSION_ARB, RGFW_minorVersion); + } + + SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB); + + if (RGFW_majorVersion || RGFW_minorVersion) { + SET_ATTRIB(WGL_CONTEXT_MAJOR_VERSION_ARB, RGFW_majorVersion); + SET_ATTRIB(WGL_CONTEXT_MINOR_VERSION_ARB, RGFW_minorVersion); + } + + SET_ATTRIB(0, 0); + + win->src.rSurf = wglCreateContextAttribsARB(win->src.hdc, NULL, attribs); + } else { + fprintf(stderr, "Failed to create an accelerated OpenGL Context\n"); + + int pixel_format = ChoosePixelFormat(win->src.hdc, &pfd); + SetPixelFormat(win->src.hdc, pixel_format, &pfd); + + win->src.rSurf = wglCreateContext(win->src.hdc); + } + + wglMakeCurrent(win->src.hdc, win->src.rSurf); + wglShareLists(RGFW_root->src.rSurf, win->src.rSurf); +#endif + +#ifdef RGFW_OSMESA +#ifdef RGFW_LINK_OSM ESA + OSMesaMakeCurrentSource = (PFN_OSMesaMakeCurrent) GetProcAddress(win->src.hdc, "OSMesaMakeCurrent"); + OSMesaCreateContextSource = (PFN_OSMesaCreateContext) GetProcAddress(win->src.hdc, "OSMesaCreateContext"); + OSMesaDestroyContextSource = (PFN_OSMesaDestroyContext) GetProcAddress(win->src.hdc, "OSMesaDestroyContext"); +#endif +#endif + +#ifdef RGFW_OPENGL + ReleaseDC(win->src.window, win->src.hdc); + win->src.hdc = GetDC(win->src.window); + wglMakeCurrent(win->src.hdc, win->src.rSurf); +#endif + + DestroyWindow(dummyWin); + RGFW_init_buffer(win); + +#ifdef RGFW_VULKAN + RGFW_initVulkan(win); +#endif + + if (args & RGFW_SCALE_TO_MONITOR) + RGFW_window_scaleToMonitor(win); + +#ifdef RGFW_EGL + RGFW_createOpenGLContext(win); +#endif + + if (args & RGFW_HIDE_MOUSE) + RGFW_window_showMouse(win, 0); + + ShowWindow(win->src.window, SW_SHOWNORMAL); + + return win; + } + + + RGFW_area RGFW_getScreenSize(void) { + return RGFW_AREA(GetDeviceCaps(GetDC(NULL), HORZRES), GetDeviceCaps(GetDC(NULL), VERTRES)); + } + + RGFW_vector RGFW_getGlobalMousePoint(void) { + POINT p; + GetCursorPos(&p); + + return RGFW_VECTOR(p.x, p.y); + } + + void RGFW_window_setMinSize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + win->src.minSize = a; + } + + void RGFW_window_setMaxSize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + win->src.maxSize = a; + } + + + void RGFW_window_minimize(RGFW_window* win) { + assert(win != NULL); + + ShowWindow(win->src.window, SW_MINIMIZE); + } + + void RGFW_window_restore(RGFW_window* win) { + assert(win != NULL); + + ShowWindow(win->src.window, SW_RESTORE); + } + + static i32 RGFW_checkXInput(RGFW_Event* e) { + static WORD buttons[4]; + static BYTE triggers[4][2] = { {0, 0}, {0, 0}, {0, 0}, {0, 0} }; + + size_t i; + for (i = 0; i < 4; i++) { + XINPUT_STATE state; + if (XInputGetState == NULL || + XInputGetState((DWORD) i, &state) == ERROR_DEVICE_NOT_CONNECTED + ) + return 0; + + e->button = 0; + if (state.Gamepad.wButtons & XINPUT_GAMEPAD_A && !(buttons[i] & XINPUT_GAMEPAD_A)) { + e->button = RGFW_JS_A; + e->type = RGFW_jsButtonPressed; + buttons[i] = state.Gamepad.wButtons; + return 1; + } else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_B && !(buttons[i] & XINPUT_GAMEPAD_B)) + e->button = RGFW_JS_B; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_Y && !(buttons[i] & XINPUT_GAMEPAD_Y)) + e->button = RGFW_JS_Y; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_X && !(buttons[i] & XINPUT_GAMEPAD_X)) + e->button = RGFW_JS_X; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_START && !(buttons[i] & XINPUT_GAMEPAD_START)) + e->button = RGFW_JS_START; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_BACK && !(buttons[i] & XINPUT_GAMEPAD_BACK)) + e->button = RGFW_JS_SELECT; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP && !(buttons[i] & XINPUT_GAMEPAD_DPAD_UP)) + e->button = RGFW_JS_UP; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN && !(buttons[i] & XINPUT_GAMEPAD_DPAD_DOWN)) + e->button = RGFW_JS_DOWN; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT && !(buttons[i] & XINPUT_GAMEPAD_DPAD_LEFT)) + e->button = RGFW_JS_LEFT; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT && !(buttons[i] & XINPUT_GAMEPAD_DPAD_RIGHT)) + e->button = RGFW_JS_RIGHT; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER && !(buttons[i] & XINPUT_GAMEPAD_LEFT_SHOULDER)) + e->button = RGFW_JS_L1; + else if (state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER && !(buttons[i] & XINPUT_GAMEPAD_RIGHT_SHOULDER)) + e->button = RGFW_JS_R1; + else if (state.Gamepad.bLeftTrigger && triggers[i][0] == 0) + e->button = RGFW_JS_L2; + else if (state.Gamepad.bRightTrigger && triggers[i][1] == 0) + e->button = RGFW_JS_R2; + + triggers[i][0] = state.Gamepad.bLeftTrigger; + triggers[i][1] = state.Gamepad.bRightTrigger; + + if (e->button) { + buttons[i] = state.Gamepad.wButtons; + e->type = RGFW_jsButtonPressed; + return 1; + } + + if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_A) && (buttons[i] & XINPUT_GAMEPAD_A)) { + e->button = RGFW_JS_A; + e->type = RGFW_jsButtonReleased; + buttons[i] = state.Gamepad.wButtons; + return 1; + } else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_B) && (buttons[i] & XINPUT_GAMEPAD_B)) + e->button = RGFW_JS_B; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_Y) && (buttons[i] & XINPUT_GAMEPAD_Y)) + e->button = RGFW_JS_Y; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_X) && (buttons[i] & XINPUT_GAMEPAD_X)) + e->button = RGFW_JS_X; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_START) && (buttons[i] & XINPUT_GAMEPAD_START)) + e->button = RGFW_JS_START; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_BACK) && (buttons[i] & XINPUT_GAMEPAD_BACK)) + e->button = RGFW_JS_SELECT; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP) && (buttons[i] & XINPUT_GAMEPAD_DPAD_UP)) + e->button = RGFW_JS_UP; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN) && (buttons[i] & XINPUT_GAMEPAD_DPAD_DOWN)) + e->button = RGFW_JS_DOWN; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT) && (buttons[i] & XINPUT_GAMEPAD_DPAD_LEFT)) + e->button = RGFW_JS_LEFT; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT) && (buttons[i] & XINPUT_GAMEPAD_DPAD_RIGHT)) + e->button = RGFW_JS_RIGHT; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER) && (buttons[i] & XINPUT_GAMEPAD_LEFT_SHOULDER)) + e->button = RGFW_JS_L1; + else if (!(state.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER) && (buttons[i] & XINPUT_GAMEPAD_RIGHT_SHOULDER)) + e->button = RGFW_JS_R1; + else if (state.Gamepad.bLeftTrigger == 0 && triggers[i][0] != 0) + e->button = RGFW_JS_L2; + else if (state.Gamepad.bRightTrigger == 0 && triggers[i][1] != 0) + e->button = RGFW_JS_R2; + + buttons[i] = state.Gamepad.wButtons; + + if (e->button) { + e->type = RGFW_jsButtonReleased; + return 1; + } +#define INPUT_DEADZONE ( 0.24f * (float)(0x7FFF) ) // Default to 24% of the +/- 32767 range. This is a reasonable default value but can be altered if needed. + + if ((state.Gamepad.sThumbLX < INPUT_DEADZONE && + state.Gamepad.sThumbLX > -INPUT_DEADZONE) && + (state.Gamepad.sThumbLY < INPUT_DEADZONE && + state.Gamepad.sThumbLY > -INPUT_DEADZONE)) + { + state.Gamepad.sThumbLX = 0; + state.Gamepad.sThumbLY = 0; + } + + if ((state.Gamepad.sThumbRX < INPUT_DEADZONE && + state.Gamepad.sThumbRX > -INPUT_DEADZONE) && + (state.Gamepad.sThumbRY < INPUT_DEADZONE && + state.Gamepad.sThumbRY > -INPUT_DEADZONE)) + { + state.Gamepad.sThumbRX = 0; + state.Gamepad.sThumbRY = 0; + } + + e->axisesCount = 2; + RGFW_vector axis1 = RGFW_VECTOR(state.Gamepad.sThumbLX, state.Gamepad.sThumbLY); + RGFW_vector axis2 = RGFW_VECTOR(state.Gamepad.sThumbRX, state.Gamepad.sThumbRY); + + if (axis1.x != e->axis[0].x || axis1.y != e->axis[0].y || axis2.x != e->axis[1].x || axis2.y != e->axis[1].y) { + e->type = RGFW_jsAxisMove; + + e->axis[0] = axis1; + e->axis[1] = axis2; + + return 1; + } + + e->axis[0] = axis1; + e->axis[1] = axis2; + } + + return 0; + } + + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { + assert(win != NULL); + + MSG msg; + + if (RGFW_eventWindow.src.window == win->src.window) { + if (RGFW_eventWindow.r.x != -1) { + win->r.x = RGFW_eventWindow.r.x; + win->r.y = RGFW_eventWindow.r.y; + } + + if (RGFW_eventWindow.r.w != -1) { + win->r.w = RGFW_eventWindow.r.w; + win->r.h = RGFW_eventWindow.r.h; + } + + win->event.type = RGFW_windowAttribsChange; + + RGFW_eventWindow.src.window = NULL; + RGFW_eventWindow.r = RGFW_RECT(-1, -1, -1, -1); + + return &win->event; + } + + if (win->event.droppedFilesCount) { + u32 i; + for (i = 0; i < win->event.droppedFilesCount; i++) + win->event.droppedFiles[i][0] = '\0'; + } + + win->event.droppedFilesCount = 0; + + win->event.inFocus = (GetForegroundWindow() == win->src.window); + + if (RGFW_checkXInput(&win->event)) + return &win->event; + + if (win->event.type == RGFW_quit) + return NULL; + + static BYTE keyboardState[256]; + GetKeyboardState(keyboardState); + + if (PeekMessageA(&msg, win->src.window, 0u, 0u, PM_REMOVE)) { + switch (msg.message) { + case WM_CLOSE: + case WM_QUIT: + win->event.type = RGFW_quit; + break; + + case WM_KEYUP: + win->event.keyCode = (u32) msg.wParam; + strncpy(win->event.keyName, RGFW_keyCodeTokeyStr(msg.lParam), 16); + if (GetKeyState(VK_SHIFT) & 0x8000) { + ToAscii((UINT) msg.wParam, MapVirtualKey((UINT) msg.wParam, MAPVK_VK_TO_CHAR), + keyboardState, (LPWORD) win->event.keyName, 0); + } + + win->event.type = RGFW_keyReleased; + break; + + case WM_KEYDOWN: + win->event.keyCode = (u32) msg.wParam; + strncpy(win->event.keyName, RGFW_keyCodeTokeyStr(msg.lParam), 16); + if (GetKeyState(VK_SHIFT) & 0x8000) { + ToAscii((UINT) msg.wParam, MapVirtualKey((UINT) msg.wParam, MAPVK_VK_TO_CHAR), + keyboardState, (LPWORD) win->event.keyName, 0); + } + + win->event.type = RGFW_keyPressed; + break; + + case WM_MOUSEMOVE: + win->event.point.x = GET_X_LPARAM(msg.lParam); + win->event.point.y = GET_Y_LPARAM(msg.lParam); + + win->event.type = RGFW_mousePosChanged; + break; + + case WM_LBUTTONDOWN: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonPressed; + break; + case WM_RBUTTONDOWN: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonPressed; + break; + case WM_MBUTTONDOWN: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonPressed; + break; + + case WM_MOUSEWHEEL: + if (msg.wParam > 0) + win->event.button = RGFW_mouseScrollUp; + else + win->event.button = RGFW_mouseScrollDown; + + win->event.scroll = (SHORT) HIWORD(msg.wParam) / (double) WHEEL_DELTA; + + win->event.type = RGFW_mouseButtonPressed; + break; + + case WM_LBUTTONUP: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonReleased; + break; + case WM_RBUTTONUP: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonReleased; + break; + case WM_MBUTTONUP: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonReleased; + break; + + /* + much of this event is source from glfw + */ + case WM_DROPFILES: { + win->event.type = RGFW_dnd; + + HDROP drop = (HDROP) msg.wParam; + POINT pt; + u32 i; + + win->event.droppedFilesCount = DragQueryFileW(drop, 0xffffffff, NULL, 0); + //win->event.droppedFiles = (char**)RGFW_CALLOC(win->event.droppedFilesCount, sizeof(char*)); + + /* Move the mouse to the position of the drop */ + DragQueryPoint(drop, &pt); + + win->event.point.x = pt.x; + win->event.point.y = pt.y; + + for (i = 0; i < win->event.droppedFilesCount; i++) { + const UINT length = DragQueryFileW(drop, i, NULL, 0); + WCHAR* buffer = (WCHAR*) RGFW_CALLOC((size_t) length + 1, sizeof(WCHAR)); + + DragQueryFileW(drop, i, buffer, length + 1); + strcpy(win->event.droppedFiles[i], createUTF8FromWideStringWin32(buffer)); + + RGFW_FREE(buffer); + } + + DragFinish(drop); + } + break; + case WM_GETMINMAXINFO: + { + if (win->src.maxSize.w == 0 && win->src.maxSize.h == 0) + break; + + MINMAXINFO* mmi = (MINMAXINFO*) msg.lParam; + mmi->ptMinTrackSize.x = win->src.minSize.w; + mmi->ptMinTrackSize.y = win->src.minSize.h; + mmi->ptMaxTrackSize.x = win->src.maxSize.w; + mmi->ptMaxTrackSize.y = win->src.maxSize.h; + return 0; + } + default: + win->event.type = 0; + break; + } + + TranslateMessage(&msg); + DispatchMessageA(&msg); + } + + else + win->event.type = 0; + + RGFW_vector mouse = RGFW_getGlobalMousePoint(); + if (win->src.winArgs & RGFW_HOLD_MOUSE && win->event.inFocus && + (mouse.x != win->r.x + (win->r.w / 2) || mouse.y != win->r.y + (win->r.h / 2))) { + RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + } + + win->event.lockState = 0; + + if ((GetKeyState(VK_CAPITAL) & 0x0001) != 0) + win->event.lockState |= RGFW_CAPSLOCK; + if ((GetKeyState(VK_NUMLOCK) & 0x0001) != 0) + win->event.lockState |= RGFW_NUMLOCK; + if ((GetKeyState(VK_SCROLL) & 0x0001) != 0) + win->event.lockState |= 3; + + + if (!IsWindow(win->src.window)) + win->event.type = RGFW_quit; + + if (win->event.type) + return &win->event; + else + return NULL; + } + + u8 RGFW_window_isFullscreen(RGFW_window* win) { + assert(win != NULL); + + WINDOWPLACEMENT placement = { 0 }; + GetWindowPlacement(win->src.window, &placement); + return placement.showCmd == SW_SHOWMAXIMIZED; + } + + u8 RGFW_window_isHidden(RGFW_window* win) { + assert(win != NULL); + + return IsWindowVisible(win->src.window) == 0 && !RGFW_window_isMinimized(win); + } + + u8 RGFW_window_isMinimized(RGFW_window* win) { + assert(win != NULL); + + WINDOWPLACEMENT placement = { 0 }; + GetWindowPlacement(win->src.window, &placement); + return placement.showCmd == SW_SHOWMINIMIZED; + } + + u8 RGFW_window_isMaximized(RGFW_window* win) { + assert(win != NULL); + + WINDOWPLACEMENT placement = { 0 }; + GetWindowPlacement(win->src.window, &placement); + return placement.showCmd == SW_SHOWMAXIMIZED; + } + + typedef struct { int iIndex; HMONITOR hMonitor; } RGFW_mInfo; + BOOL CALLBACK GetMonitorByHandle(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) { + RGFW_mInfo* info = (RGFW_mInfo*) dwData; + if (info->hMonitor == hMonitor) + return FALSE; + + info->iIndex++; + return TRUE; + } + + RGFW_monitor win32CreateMonitor(HMONITOR src) { + RGFW_monitor monitor; + MONITORINFO monitorInfo; + + monitorInfo.cbSize = sizeof(MONITORINFO); + GetMonitorInfoA(src, &monitorInfo); + + RGFW_mInfo info; + info.iIndex = 0; + info.hMonitor = src; + + /* get the monitor's index */ + if (EnumDisplayMonitors(NULL, NULL, GetMonitorByHandle, (LPARAM) &info)) { + DISPLAY_DEVICEA dd; + dd.cb = sizeof(dd); + + /* loop through the devices until you find a device with the monitor's index */ + size_t deviceIndex; + for (deviceIndex = 0; EnumDisplayDevicesA(0, (DWORD) deviceIndex, &dd, 0); deviceIndex++) { + char* deviceName = dd.DeviceName; + if (EnumDisplayDevicesA(deviceName, info.iIndex, &dd, 0)) { + strcpy(monitor.name, dd.DeviceString); /* copy the monitor's name */ + break; + } + } + } + + monitor.rect.x = monitorInfo.rcWork.left; + monitor.rect.y = monitorInfo.rcWork.top; + monitor.rect.w = monitorInfo.rcWork.right - monitorInfo.rcWork.left; + monitor.rect.h = monitorInfo.rcWork.bottom - monitorInfo.rcWork.top; + +#ifndef RGFW_NO_DPI + if (GetDpiForMonitor != NULL) { + u32 x, y; + GetDpiForMonitor(src, MDT_ANGULAR_DPI, &x, &y); + monitor.scaleX = (float) (x) / (float) USER_DEFAULT_SCREEN_DPI; + monitor.scaleY = (float) (y) / (float) USER_DEFAULT_SCREEN_DPI; + } +#endif + + HDC hdc = GetDC(NULL); + /* get pixels per inch */ + i32 ppiX = GetDeviceCaps(hdc, LOGPIXELSX); + i32 ppiY = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(NULL, hdc); + + /* Calculate physical height in inches */ + monitor.physW = GetSystemMetrics(SM_CYSCREEN) / (float) ppiX; + monitor.physH = GetSystemMetrics(SM_CXSCREEN) / (float) ppiY; + + return monitor; + } + + RGFW_monitor RGFW_monitors[6]; + BOOL CALLBACK GetMonitorHandle(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) { + RGFW_mInfo* info = (RGFW_mInfo*) dwData; + + if (info->iIndex >= 6) + return FALSE; + + RGFW_monitors[info->iIndex] = win32CreateMonitor(hMonitor); + info->iIndex++; + + return TRUE; + } + + RGFW_monitor RGFW_getPrimaryMonitor(void) { + return win32CreateMonitor(MonitorFromPoint((POINT) { 0, 0 }, MONITOR_DEFAULTTOPRIMARY)); + } + + RGFW_monitor* RGFW_getMonitors(void) { + RGFW_mInfo info; + info.iIndex = 0; + while (EnumDisplayMonitors(NULL, NULL, GetMonitorHandle, (LPARAM) &info)); + + return RGFW_monitors; + } + + RGFW_monitor RGFW_window_getMonitor(RGFW_window* win) { + HMONITOR src = MonitorFromWindow(win->src.window, MONITOR_DEFAULTTOPRIMARY); + return win32CreateMonitor(src); + } + + u8 RGFW_isPressedI(RGFW_window* win, u32 key) { + if (win != NULL && !win->event.inFocus) + return 0; + + if (GetAsyncKeyState(key) & 0x8000) + return 1; + else return 0; + } + + HICON RGFW_loadHandleImage(RGFW_window* win, u8* src, RGFW_area a, BOOL icon) { + assert(win != NULL); + + u32 i; + HDC dc; + HICON handle; + HBITMAP color, mask; + BITMAPV5HEADER bi; + ICONINFO ii; + u8* target = NULL; + u8* source = src; + + ZeroMemory(&bi, sizeof(bi)); + bi.bV5Size = sizeof(bi); + bi.bV5Width = a.w; + bi.bV5Height = -((LONG) a.h); + bi.bV5Planes = 1; + bi.bV5BitCount = 32; + bi.bV5Compression = BI_BITFIELDS; + bi.bV5RedMask = 0x00ff0000; + bi.bV5GreenMask = 0x0000ff00; + bi.bV5BlueMask = 0x000000ff; + bi.bV5AlphaMask = 0xff000000; + + dc = GetDC(NULL); + color = CreateDIBSection(dc, + (BITMAPINFO*) &bi, + DIB_RGB_COLORS, + (void**) &target, + NULL, + (DWORD) 0); + ReleaseDC(NULL, dc); + + mask = CreateBitmap(a.w, a.h, 1, 1, NULL); + + for (i = 0; i < a.w * a.h; i++) { + target[0] = source[2]; + target[1] = source[1]; + target[2] = source[0]; + target[3] = source[3]; + target += 4; + source += 4; + } + + ZeroMemory(&ii, sizeof(ii)); + ii.fIcon = icon; + ii.xHotspot = 0; + ii.yHotspot = 0; + ii.hbmMask = mask; + ii.hbmColor = color; + + handle = CreateIconIndirect(&ii); + + DeleteObject(color); + DeleteObject(mask); + + return handle; + } + + void RGFW_window_setMouse(RGFW_window* win, u8* image, RGFW_area a, i32 channels) { + assert(win != NULL); + + HCURSOR cursor = (HCURSOR) RGFW_loadHandleImage(win, image, a, FALSE); + SetClassLongPtrA(win->src.window, GCLP_HCURSOR, (LPARAM) cursor); + SetCursor(cursor); + DestroyCursor(cursor); + } + + void RGFW_window_setMouseDefault(RGFW_window* win) { + RGFW_window_setMouseStandard(win, 32512); + } + + void RGFW_window_setMouseStandard(RGFW_window* win, i32 mouse) { + assert(win != NULL); + + char* icon = MAKEINTRESOURCEA(mouse); + + SetClassLongPtrA(win->src.window, GCLP_HCURSOR, (LPARAM) LoadCursorA(NULL, icon)); + SetCursor(LoadCursorA(NULL, icon)); + } + + void RGFW_window_hide(RGFW_window* win) { + ShowWindow(win->src.window, SW_HIDE); + } + + void RGFW_window_show(RGFW_window* win) { + ShowWindow(win->src.window, SW_RESTORE); + } + + void RGFW_window_close(RGFW_window* win) { + assert(win != NULL); + +#ifdef RGFW_VULKAN + for (u32 i = 0; i < win->src.image_count; i++) { + vkDestroyFramebuffer(RGFW_vulkan_info.device, RGFW_vulkan_info.framebuffers[i], NULL); + } + + for (u32 i = 0; i < win->src.image_count; i++) { + vkDestroyImageView(RGFW_vulkan_info.device, win->src.swapchain_image_views[i], NULL); + } + + vkDestroySwapchainKHR(RGFW_vulkan_info.device, win->src.swapchain, NULL); + vkDestroySurfaceKHR(RGFW_vulkan_info.instance, win->src.rSurf, NULL); + free(win->src.swapchain_image_views); + free(win->src.swapchain_images); +#endif + +#ifdef RGFW_EGL + RGFW_closeEGL(win); +#endif + + if (win == RGFW_root) { +#ifdef RGFW_DIRECTX + RGFW_dxInfo.pDeviceContext->lpVtbl->Release(RGFW_dxInfo.pDeviceContext); + RGFW_dxInfo.pDevice->lpVtbl->Release(RGFW_dxInfo.pDevice); + RGFW_dxInfo.pAdapter->lpVtbl->Release(RGFW_dxInfo.pAdapter); + RGFW_dxInfo.pFactory->lpVtbl->Release(RGFW_dxInfo.pFactory); +#endif + + if (RGFW_XInput_dll != NULL) { + FreeLibrary(RGFW_XInput_dll); + RGFW_XInput_dll = NULL; + } + + #ifndef RGFW_NO_DPI + if (RGFW_Shcore_dll != NULL) { + FreeLibrary(RGFW_Shcore_dll); + RGFW_Shcore_dll = NULL; + } + #endif + + if (wglinstance != NULL) { + FreeLibrary(wglinstance); + wglinstance = NULL; + } + + RGFW_root = NULL; + } + +#ifdef RGFW_DIRECTX + win->src.swapchain->lpVtbl->Release(win->src.swapchain); + win->src.renderTargetView->lpVtbl->Release(win->src.renderTargetView); + win->src.pDepthStencilView->lpVtbl->Release(win->src.pDepthStencilView); +#endif + +#ifdef RGFW_BUFFER + DeleteDC(win->src.hdcMem); + DeleteObject(win->src.bitmap); +#endif + +#ifdef RGFW_OPENGL + wglDeleteContext((HGLRC) win->src.rSurf); /* delete opengl context */ +#endif + DeleteDC(win->src.hdc); /* delete device context */ + DestroyWindow(win->src.window); /* delete window */ + +#if defined(RGFW_OSMESA) + if (win->buffer != NULL) + RGFW_FREE(win->buffer); +#endif + +#ifdef RGFW_ALLOC_DROPFILES + { + u32 i; + for (i = 0; i < RGFW_MAX_DROPS; i++) + RGFW_FREE(win->event.droppedFiles[i]); + + + RGFW_FREE(win->event.droppedFiles); + } +#endif + + RGFW_FREE(win); + } + + void RGFW_window_move(RGFW_window* win, RGFW_vector v) { + assert(win != NULL); + + win->r.x = v.x; + win->r.y = v.y; + SetWindowPos(win->src.window, HWND_TOP, win->r.x, win->r.y, 0, 0, SWP_NOSIZE); + } + + void RGFW_window_resize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + + win->r.w = a.w; + win->r.h = a.h; + SetWindowPos(win->src.window, HWND_TOP, 0, 0, win->r.w, win->r.h + win->src.hOffset, SWP_NOMOVE); + } + + + void RGFW_window_setName(RGFW_window* win, char* name) { + assert(win != NULL); + + SetWindowTextA(win->src.window, name); + } + + /* much of this function is sourced from GLFW */ + void RGFW_window_setIcon(RGFW_window* win, u8* src, RGFW_area a, i32 channels) { + assert(win != NULL); + + HICON handle = RGFW_loadHandleImage(win, src, a, TRUE); + + SetClassLongPtrA(win->src.window, GCLP_HICON, (LPARAM) handle); + + DestroyIcon(handle); + } + + char* RGFW_readClipboard(size_t* size) { + /* Open the clipboard */ + if (OpenClipboard(NULL) == 0) + return (char*) ""; + + /* Get the clipboard data as a Unicode string */ + HANDLE hData = GetClipboardData(CF_UNICODETEXT); + if (hData == NULL) { + CloseClipboard(); + return (char*) ""; + } + + wchar_t* wstr = (wchar_t*) GlobalLock(hData); + + char* text; + + { + setlocale(LC_ALL, "en_US.UTF-8"); + + size_t textLen = wcstombs(NULL, wstr, 0); + if (textLen == 0) + return (char*) ""; + + text = (char*) malloc((textLen * sizeof(char)) + 1); + + wcstombs(text, wstr, (textLen) +1); + + if (size != NULL) + *size = textLen + 1; + } + + /* Release the clipboard data */ + GlobalUnlock(hData); + CloseClipboard(); + + return text; + } + + void RGFW_writeClipboard(const char* text, u32 textLen) { + HANDLE object; + WCHAR* buffer; + + object = GlobalAlloc(GMEM_MOVEABLE, (1 + textLen) * sizeof(WCHAR)); + if (!object) + return; + + buffer = (WCHAR*) GlobalLock(object); + if (!buffer) { + GlobalFree(object); + return; + } + + MultiByteToWideChar(CP_UTF8, 0, text, -1, buffer, textLen); + GlobalUnlock(object); + + if (!OpenClipboard(RGFW_root->src.window)) { + GlobalFree(object); + return; + } + + EmptyClipboard(); + SetClipboardData(CF_UNICODETEXT, object); + CloseClipboard(); + } + + u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber) { + assert(win != NULL); + + return RGFW_registerJoystickF(win, (char*) ""); + } + + u16 RGFW_registerJoystickF(RGFW_window* win, char* file) { + assert(win != NULL); + + + return win->src.joystickCount - 1; + } + + void RGFW_window_moveMouse(RGFW_window* win, RGFW_vector p) { + assert(win != NULL); + + SetCursorPos(p.x, p.y); + } + + char* createUTF8FromWideStringWin32(const WCHAR* source) { + char* target; + i32 size; + + size = WideCharToMultiByte(CP_UTF8, 0, source, -1, NULL, 0, NULL, NULL); + if (!size) { + return NULL; + } + + target = (char*) RGFW_CALLOC(size, 1); + + if (!WideCharToMultiByte(CP_UTF8, 0, source, -1, target, size, NULL, NULL)) { + RGFW_FREE(target); + return NULL; + } + + return target; + } + +#ifndef RGFW_NO_THREADS + RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args) { return CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) *function_ptr, args, 0, NULL); } + void RGFW_cancelThread(RGFW_thread thread) { CloseHandle((HANDLE) thread); } + void RGFW_joinThread(RGFW_thread thread) { WaitForSingleObject((HANDLE) thread, INFINITE); } + void RGFW_setThreadPriority(RGFW_thread thread, u8 priority) { SetThreadPriority((HANDLE) thread, priority); } +#endif +#endif + +#if defined(RGFW_MACOS) + + void* RGFWnsglFramework = NULL; + +#ifdef RGFW_OPENGL + void* RGFW_getProcAddress(const char* procname) { + if (RGFWnsglFramework == NULL) + RGFWnsglFramework = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.opengl")); + + CFStringRef symbolName = CFStringCreateWithCString(kCFAllocatorDefault, procname, kCFStringEncodingASCII); + + void* symbol = CFBundleGetFunctionPointerForName(RGFWnsglFramework, symbolName); + + CFRelease(symbolName); + + return symbol; + } +#endif + + CVReturn displayCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* inNow, const CVTimeStamp* inOutputTime, CVOptionFlags flagsIn, CVOptionFlags* flagsOut, void* displayLinkContext) { return kCVReturnSuccess; } + + RGFW_window* RGFW_windows[10]; + u32 RGFW_windows_size = 0; + + id NSWindow_delegate(RGFW_window* win) { + return (id) objc_msgSend_id(win->src.window, sel_registerName("delegate")); + } + + u32 RGFW_OnClose(void* self) { + u32 i; + for (i = 0; i < RGFW_windows_size; i++) + if (RGFW_windows[i] && NSWindow_delegate(RGFW_windows[i]) == self) { + RGFW_windows[i]->event.type = RGFW_quit; + return true; + } + + return true; + } + + /* NOTE(EimaMei): Fixes the constant clicking when the app is running under a terminal. */ + bool acceptsFirstResponder() { return true; } + bool performKeyEquivalent(NSEvent* event) { return true; } + + NSDragOperation draggingEntered(id self, SEL sel, id sender) { return NSDragOperationCopy; } + NSDragOperation draggingUpdated(id self, SEL sel, id sender) { return NSDragOperationCopy; } + bool prepareForDragOperation(void) { return true; } + + void RGFW__osxDraggingEnded(id self, SEL sel, id sender) { return; } + + /* NOTE(EimaMei): Usually, you never need 'id self, SEL cmd' for C -> Obj-C methods. This isn't the case. */ + bool performDragOperation(id self, SEL sel, id sender) { + NSWindow* window = objc_msgSend_id(sender, sel_registerName("draggingDestinationWindow")); + u32 i; + bool found = false; + + for (i = 0; i < RGFW_windows_size; i++) + if (RGFW_windows[i]->src.window == window) { + found = true; + break; + } + + if (!found) + i = 0; + + Class* array[] = { objc_getClass("NSURL"), NULL }; + char** droppedFiles = (char**) NSPasteboard_readObjectsForClasses( + (NSPasteboard*) objc_msgSend_id(sender, sel_registerName("draggingPasteboard")), + array, 1, NULL); + + RGFW_windows[i]->event.droppedFilesCount = si_array_len(droppedFiles); + + u32 y; + + for (y = 0; y < RGFW_windows[i]->event.droppedFilesCount; y++) + strcpy(RGFW_windows[i]->event.droppedFiles[y], droppedFiles[y]); + + RGFW_windows[i]->event.type = RGFW_dnd; + + NSPoint p = *(NSPoint*) objc_msgSend_id(sender, sel_registerName("draggingLocation")); + RGFW_windows[i]->event.point.x = p.x; + RGFW_windows[i]->event.point.x = p.y; + + return true; + } + + + NSApplication* NSApp = NULL; + + static void NSMoveToResourceDir(void) { + /* sourced from glfw */ + char resourcesPath[255]; + + CFBundleRef bundle = CFBundleGetMainBundle(); + if (!bundle) + return; + + CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(bundle); + CFStringRef last = CFURLCopyLastPathComponent(resourcesURL); + + if ( + CFStringCompare(CFSTR("Resources"), last, 0) != kCFCompareEqualTo || + CFURLGetFileSystemRepresentation(resourcesURL, true, (u8*) resourcesPath, 255) == 0 + ) { + CFRelease(last); + CFRelease(resourcesURL); + return; + } + + CFRelease(last); + CFRelease(resourcesURL); + + chdir(resourcesPath); + } + + + NSSize RGFW__osxWindowResize(void* self, SEL sel, NSSize frameSize) { + u32 i; + for (i = 0; i < RGFW_windows_size; i++) { + if (RGFW_windows[i] && NSWindow_delegate(RGFW_windows[i]) == self) { + RGFW_windows[i]->r.w = frameSize.width; + RGFW_windows[i]->r.h = frameSize.height; + RGFW_windows[i]->event.type = RGFW_windowAttribsChange; + + return frameSize; + } + } + + return frameSize; + } + + void RGFW__osxWindowMove(void* self, SEL sel) { + u32 i; + for (i = 0; i < RGFW_windows_size; i++) { + if (RGFW_windows[i] && NSWindow_delegate(RGFW_windows[i]) == self) { + NSRect frame = ((NSRect(*)(id, SEL))abi_objc_msgSend_stret)(RGFW_windows[i]->src.window, sel_registerName("frame")); + RGFW_windows[i]->r.x = (i32) frame.origin.x; + RGFW_windows[i]->r.y = (i32) frame.origin.y; + + RGFW_windows[i]->event.type = RGFW_windowAttribsChange; + return; + } + } + } + + #ifdef __cplusplus + #define APPKIT_EXTERN extern "C" + #else + #define APPKIT_EXTERN extern + #endif + + APPKIT_EXTERN NSPasteboardType const NSPasteboardTypeURL = "public.url"; API_AVAILABLE(macos(10.13)); // Equivalent to kUTTypeURL + APPKIT_EXTERN NSPasteboardType const NSPasteboardTypeFileURL = "public.file-url"; API_AVAILABLE(macos(10.13)); // Equivalent to kUTTypeFileURL + + RGFW_window* RGFW_createWindow(const char* name, RGFW_rect rect, u16 args) { + static u8 RGFW_loaded = 0; + + /* NOTE(EimaMei): Why does Apple hate good code? Like wtf, who thought of methods being a great idea??? + Imagine a universe, where MacOS had a proper system API (we would probably have like 20% better performance). + */ + si_func_to_SEL_with_name("NSObject", "windowShouldClose", RGFW_OnClose); + + /* NOTE(EimaMei): Fixes the 'Boop' sfx from constantly playing each time you click a key. Only a problem when running in the terminal. */ + si_func_to_SEL("NSWindow", acceptsFirstResponder); + si_func_to_SEL("NSWindow", performKeyEquivalent); + + if (NSApp == NULL) { + NSApp = objc_msgSend_id(objc_getClass("NSApplication"), sel_registerName("sharedApplication")); + + ((void (*)(id, SEL, NSUInteger))objc_msgSend) + (NSApp, sel_registerName("setActivationPolicy:"), NSApplicationActivationPolicyRegular); + } + + RGFW_window* win = RGFW_window_basic_init(rect, args); + + NSRect windowRect; + windowRect.origin.x = win->r.x; + windowRect.origin.y = win->r.y; + windowRect.size.width = win->r.w; + windowRect.size.height = win->r.h; + + NSBackingStoreType macArgs = NSWindowStyleMaskClosable | NSWindowStyleMaskMiniaturizable | NSBackingStoreBuffered | NSWindowStyleMaskTitled; + + if (!(args & RGFW_NO_RESIZE)) + macArgs |= NSWindowStyleMaskResizable; + if (!(args & RGFW_NO_BORDER)) + macArgs |= NSWindowStyleMaskTitled; + else + macArgs = NSWindowStyleMaskBorderless; + { + void* nsclass = objc_getClass("NSWindow"); + void* func = sel_registerName("initWithContentRect:styleMask:backing:defer:"); + + win->src.window = ((id(*)(id, SEL, NSRect, NSWindowStyleMask, NSBackingStoreType, bool))objc_msgSend) + (NSAlloc(nsclass), func, windowRect, macArgs, macArgs, false); + } + + NSString* str = NSString_stringWithUTF8String(name); + objc_msgSend_void_id(win->src.window, sel_registerName("setTitle:"), str); + +#ifdef RGFW_OPENGL + void* attrs = RGFW_initAttribs(args & RGFW_OPENGL_SOFTWARE); + void* format = NSOpenGLPixelFormat_initWithAttributes(attrs); + + if (format == NULL) { + printf("Failed to load pixel format "); + + void* attrs = RGFW_initAttribs(1); + format = NSOpenGLPixelFormat_initWithAttributes(attrs); + if (format == NULL) + printf("and loading software rendering OpenGL failed\n"); + else + printf("Switching to software rendering\n"); + } + + win->src.view = NSOpenGLView_initWithFrame(NSMakeRect(0, 0, win->r.w, win->r.h), format); + objc_msgSend_void(win->src.view, sel_registerName("prepareOpenGL")); + win->src.rSurf = objc_msgSend_id(win->src.view, sel_registerName("openGLContext")); + +#else + NSRect contentRect = NSMakeRect(0, 0, win->r.w, win->r.h); + win->src.view = ((id(*)(id, SEL, NSRect))objc_msgSend) + (NSAlloc(objc_getClass("NSView")), sel_registerName("initWithFrame:"), + contentRect); +#endif + + + void* contentView = NSWindow_contentView(win->src.window); + objc_msgSend_void_bool(contentView, sel_registerName("setWantsLayer:"), true); + + objc_msgSend_void_id(win->src.window, sel_registerName("setContentView:"), win->src.view); + +#ifdef RGFW_OPENGL + objc_msgSend_void(win->src.rSurf, sel_registerName("makeCurrentContext")); +#endif + if (args & RGFW_TRANSPARENT_WINDOW) { +#ifdef RGFW_OPENGL + i32 opacity = 0; + NSOpenGLContext_setValues(win->src.rSurf, &opacity, 304); +#endif + + objc_msgSend_void_bool(win->src.window, sel_registerName("setOpaque:"), false); + + objc_msgSend_void_id(win->src.window, sel_registerName("setBackgroundColor:"), + NSColor_colorWithSRGB(0, 0, 0, 0)); + + ((void (*)(id, SEL, CGFloat))objc_msgSend) + (win->src.window, sel_registerName("setAlphaValue:"), 0x00); + } + + win->src.display = CGMainDisplayID(); + CVDisplayLinkCreateWithCGDisplay(win->src.display, &win->src.displayLink); + CVDisplayLinkSetOutputCallback(win->src.displayLink, displayCallback, win); + CVDisplayLinkStart(win->src.displayLink); + + RGFW_init_buffer(win); + +#ifdef RGFW_VULKAN + RGFW_initVulkan(win); +#endif + + if (args & RGFW_SCALE_TO_MONITOR) + RGFW_window_scaleToMonitor(win); + + if (args & RGFW_HIDE_MOUSE) + RGFW_window_showMouse(win, 0); + + if (args & RGFW_COCOA_MOVE_TO_RESOURCE_DIR) + NSMoveToResourceDir(); + + Class delegateClass = objc_allocateClassPair(objc_getClass("NSObject"), "WindowDelegate", 0); + class_addMethod(delegateClass, sel_registerName("windowWillResize:toSize:"), (IMP) RGFW__osxWindowResize, "{NSSize=ff}@:{NSSize=ff}"); + class_addMethod(delegateClass, sel_registerName("windowWillMove:"), (IMP) RGFW__osxWindowMove, ""); + class_addMethod(delegateClass, sel_registerName("windowDidMove:"), (IMP) RGFW__osxWindowMove, ""); + + + if (args & RGFW_ALLOW_DND) { + win->src.winArgs |= RGFW_ALLOW_DND; + +/* + NSPasteboardType types[] = {NSPasteboardTypeURL, NSPasteboardTypeFileURL, NSPasteboardTypeString}; + + siArray(NSPasteboardType) array = sic_arrayInit(types, sizeof(id), countof(types)); + NSWindow_registerForDraggedTypes(win->hwnd, array); + + win->dndHead = win->dndPrev = out; +*/ + + NSPasteboardType array[] = {NSPasteboardTypeURL, NSPasteboardTypeFileURL, NSPasteboardTypeString}; + NSregisterForDraggedTypes(win->src.window, array, 3); + + /* NOTE(EimaMei): Drag 'n Drop requires too many damn functions for just a Drag 'n Drop event. */ + class_addMethod(delegateClass, "draggingEntered:", draggingEntered, "l@:@"); + class_addMethod(delegateClass, "draggingUpdated:", draggingUpdated, "l@:@"); + class_addMethod(delegateClass, "draggingExited:", RGFW__osxDraggingEnded, "v@:@"); + class_addMethod(delegateClass, "draggingEnded:", RGFW__osxDraggingEnded, "v@:@"); + class_addMethod(delegateClass, "prepareForDragOperation:", prepareForDragOperation, "B@:@"); + class_addMethod(delegateClass, "performDragOperation:", performDragOperation, "B@:@"); + + } + + id delegate = objc_msgSend_id(NSAlloc(delegateClass), sel_registerName("init")); + + object_setInstanceVariable(delegate, "RGFW_window", win); + + objc_msgSend_void_id(win->src.window, sel_registerName("setDelegate:"), delegate); + + // Show the window + ((id(*)(id, SEL, SEL))objc_msgSend)(win->src.window, sel_registerName("makeKeyAndOrderFront:"), NULL); + objc_msgSend_void_bool(win->src.window, sel_registerName("setIsVisible:"), true); + + if (!RGFW_loaded) { + objc_msgSend_void(win->src.window, sel_registerName("makeMainWindow")); + + RGFW_loaded = 1; + } + + NSApplication_finishLaunching(NSApp); + + RGFW_windows_size++; + + size_t i; + for (i = 0; i < RGFW_windows_size; i++) + if (!RGFW_windows[i]) { + RGFW_windows[i] = win; + break; + } + + if (RGFW_root == NULL) + RGFW_root = win; + + NSRetain(win->src.window); + NSRetain(NSApp); + + return win; + } + + + RGFW_area RGFW_getScreenSize(void) { + static CGDirectDisplayID display = 0; + + if (display == 0) + display = CGMainDisplayID(); + + return RGFW_AREA(CGDisplayPixelsWide(display), CGDisplayPixelsHigh(display)); + } + + RGFW_vector RGFW_getGlobalMousePoint(void) { + assert(RGFW_root != NULL); + + CGEventRef e = CGEventCreate(NULL); + CGPoint point = CGEventGetLocation(e); + CFRelease(e); + + return RGFW_VECTOR((u32) point.x, (u32) point.y); /* the point is loaded during event checks */ + } + + u32 RGFW_keysPressed[10]; /*10 keys at a time*/ + typedef NS_ENUM(u32, NSEventType) { /* various types of events */ + NSEventTypeLeftMouseDown = 1, + NSEventTypeLeftMouseUp = 2, + NSEventTypeRightMouseDown = 3, + NSEventTypeRightMouseUp = 4, + NSEventTypeMouseMoved = 5, + NSEventTypeLeftMouseDragged = 6, + NSEventTypeRightMouseDragged = 7, + NSEventTypeMouseEntered = 8, + NSEventTypeMouseExited = 9, + NSEventTypeKeyDown = 10, + NSEventTypeKeyUp = 11, + NSEventTypeFlagsChanged = 12, + NSEventTypeAppKitDefined = 13, + NSEventTypeSystemDefined = 14, + NSEventTypeApplicationDefined = 15, + NSEventTypePeriodic = 16, + NSEventTypeCursorUpdate = 17, + NSEventTypeScrollWheel = 22, + NSEventTypeTabletPoint = 23, + NSEventTypeTabletProximity = 24, + NSEventTypeOtherMouseDown = 25, + NSEventTypeOtherMouseUp = 26, + NSEventTypeOtherMouseDragged = 27, + /* The following event types are available on some hardware on 10.5.2 and later */ + NSEventTypeGesture API_AVAILABLE(macos(10.5)) = 29, + NSEventTypeMagnify API_AVAILABLE(macos(10.5)) = 30, + NSEventTypeSwipe API_AVAILABLE(macos(10.5)) = 31, + NSEventTypeRotate API_AVAILABLE(macos(10.5)) = 18, + NSEventTypeBeginGesture API_AVAILABLE(macos(10.5)) = 19, + NSEventTypeEndGesture API_AVAILABLE(macos(10.5)) = 20, + + NSEventTypeSmartMagnify API_AVAILABLE(macos(10.8)) = 32, + NSEventTypeQuickLook API_AVAILABLE(macos(10.8)) = 33, + + NSEventTypePressure API_AVAILABLE(macos(10.10.3)) = 34, + NSEventTypeDirectTouch API_AVAILABLE(macos(10.10)) = 37, + + NSEventTypeChangeMode API_AVAILABLE(macos(10.15)) = 38, + }; + + typedef NS_ENUM(unsigned long long, NSEventMask) { /* masks for the types of events */ + NSEventMaskLeftMouseDown = 1ULL << NSEventTypeLeftMouseDown, + NSEventMaskLeftMouseUp = 1ULL << NSEventTypeLeftMouseUp, + NSEventMaskRightMouseDown = 1ULL << NSEventTypeRightMouseDown, + NSEventMaskRightMouseUp = 1ULL << NSEventTypeRightMouseUp, + NSEventMaskMouseMoved = 1ULL << NSEventTypeMouseMoved, + NSEventMaskLeftMouseDragged = 1ULL << NSEventTypeLeftMouseDragged, + NSEventMaskRightMouseDragged = 1ULL << NSEventTypeRightMouseDragged, + NSEventMaskMouseEntered = 1ULL << NSEventTypeMouseEntered, + NSEventMaskMouseExited = 1ULL << NSEventTypeMouseExited, + NSEventMaskKeyDown = 1ULL << NSEventTypeKeyDown, + NSEventMaskKeyUp = 1ULL << NSEventTypeKeyUp, + NSEventMaskFlagsChanged = 1ULL << NSEventTypeFlagsChanged, + NSEventMaskAppKitDefined = 1ULL << NSEventTypeAppKitDefined, + NSEventMaskSystemDefined = 1ULL << NSEventTypeSystemDefined, + NSEventMaskApplicationDefined = 1ULL << NSEventTypeApplicationDefined, + NSEventMaskPeriodic = 1ULL << NSEventTypePeriodic, + NSEventMaskCursorUpdate = 1ULL << NSEventTypeCursorUpdate, + NSEventMaskScrollWheel = 1ULL << NSEventTypeScrollWheel, + NSEventMaskTabletPoint = 1ULL << NSEventTypeTabletPoint, + NSEventMaskTabletProximity = 1ULL << NSEventTypeTabletProximity, + NSEventMaskOtherMouseDown = 1ULL << NSEventTypeOtherMouseDown, + NSEventMaskOtherMouseUp = 1ULL << NSEventTypeOtherMouseUp, + NSEventMaskOtherMouseDragged = 1ULL << NSEventTypeOtherMouseDragged, + /* The following event masks are available on some hardware on 10.5.2 and later */ + NSEventMaskGesture API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeGesture, + NSEventMaskMagnify API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeMagnify, + NSEventMaskSwipe API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeSwipe, + NSEventMaskRotate API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeRotate, + NSEventMaskBeginGesture API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeBeginGesture, + NSEventMaskEndGesture API_AVAILABLE(macos(10.5)) = 1ULL << NSEventTypeEndGesture, + + /* Note: You can only use these event masks on 64 bit. In other words, you cannot setup a local, nor global, event monitor for these event types on 32 bit. Also, you cannot search the event queue for them (nextEventMatchingMask:...) on 32 bit. + */ + NSEventMaskSmartMagnify API_AVAILABLE(macos(10.8)) = 1ULL << NSEventTypeSmartMagnify, + NSEventMaskPressure API_AVAILABLE(macos(10.10.3)) = 1ULL << NSEventTypePressure, + NSEventMaskDirectTouch API_AVAILABLE(macos(10.12.2)) = 1ULL << NSEventTypeDirectTouch, + + NSEventMaskChangeMode API_AVAILABLE(macos(10.15)) = 1ULL << NSEventTypeChangeMode, + + NSEventMaskAny = ULONG_MAX, + + }; + + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { + assert(win != NULL); + + if (win->event.type == RGFW_quit) + return &win->event; + + static void* eventFunc = NULL; + if (eventFunc == NULL) + eventFunc = sel_registerName("nextEventMatchingMask:untilDate:inMode:dequeue:"); + + if (win->event.type == RGFW_windowAttribsChange && win->event.keyCode != 120) { + win->event.keyCode = 120; + return &win->event; + } + + NSEvent* e = (NSEvent*) ((id(*)(id, SEL, NSEventMask, void*, NSString*, bool))objc_msgSend) + (NSApp, eventFunc, ULONG_MAX, NULL, NSString_stringWithUTF8String("kCFRunLoopDefaultMode"), true); + + + if (e == NULL) + return NULL; + + if (objc_msgSend_id(e, sel_registerName("window")) != win->src.window) { + ((void (*)(id, SEL, id, bool))objc_msgSend) + (NSApp, sel_registerName("postEvent:atStart:"), e, 0); + + return NULL; + } + + if (win->event.droppedFilesCount) { + u32 i; + for (i = 0; i < win->event.droppedFilesCount; i++) + win->event.droppedFiles[i][0] = '\0'; + } + + win->event.droppedFilesCount = 0; + win->event.type = 0; + + win->event.inFocus = (bool) objc_msgSend_bool(win->src.window, sel_registerName("isKeyWindow")); + + switch (objc_msgSend_uint(e, sel_registerName("type"))) { + case NSEventTypeKeyDown: + win->event.type = RGFW_keyPressed; + win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); + win->event.keyName = (const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); + + RGFW_keyMap[win->event.keyCode] = 1; + break; + + case NSEventTypeKeyUp: + win->event.type = RGFW_keyReleased; + win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); + win->event.keyName = (const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); + + RGFW_keyMap[win->event.keyCode] = 0; + break; + + case NSEventTypeLeftMouseDragged: + case NSEventTypeOtherMouseDragged: + case NSEventTypeRightMouseDragged: + case NSEventTypeMouseMoved: + win->event.type = RGFW_mousePosChanged; + NSPoint p = ((NSPoint(*)(id, SEL)) objc_msgSend)(e, sel_registerName("locationInWindow")); + + win->event.point = RGFW_VECTOR((u32) p.x, (u32) (win->r.h - p.y)); + + if (win->src.winArgs & RGFW_HOLD_MOUSE) { + RGFW_vector mouse = RGFW_getGlobalMousePoint(); + if ((mouse.x != win->r.x + (win->r.w / 2) || mouse.y != win->r.y + (win->r.h / 2))) { + RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + } + } + break; + + case NSEventTypeLeftMouseDown: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonPressed; + break; + + case NSEventTypeOtherMouseDown: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonPressed; + break; + + case NSEventTypeRightMouseDown: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonPressed; + break; + + case NSEventTypeLeftMouseUp: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonReleased; + break; + + case NSEventTypeOtherMouseUp: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonReleased; + break; + + case NSEventTypeScrollWheel: { + double deltaY = ((CGFloat(*)(id, SEL))abi_objc_msgSend_fpret)(e, sel_registerName("deltaY")); + + if (deltaY > 0) + win->event.button = RGFW_mouseScrollUp; + + else if (deltaY < 0) + win->event.button = RGFW_mouseScrollDown; + + win->event.scroll = deltaY; + + win->event.type = RGFW_mouseButtonReleased; + break; + } + case NSEventTypeRightMouseUp: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonReleased; + break; + + default: + break; + } + + objc_msgSend_void_id(NSApp, sel_registerName("sendEvent:"), e); + + return &win->event; + } + + + void RGFW_window_move(RGFW_window* win, RGFW_vector v) { + assert(win != NULL); + + win->r.x = v.x; + win->r.y = v.y; + ((void(*)(id, SEL, NSRect, bool, bool))objc_msgSend) + (win->src.window, sel_registerName("setFrame:display:animate:"), NSMakeRect(win->r.x, win->r.y, win->r.w, win->r.h), true, true); + } + + void RGFW_window_resize(RGFW_window* win, RGFW_area a) { + assert(win != NULL); + + win->r.w = a.w; + win->r.h = a.h; + ((void(*)(id, SEL, NSRect, bool, bool))objc_msgSend) + (win->src.window, sel_registerName("setFrame:display:animate:"), NSMakeRect(win->r.x, win->r.y, win->r.w, win->r.h), true, true); + } + + void RGFW_window_minimize(RGFW_window* win) { + assert(win != NULL); + + objc_msgSend_void_SEL(win->src.window, sel_registerName("performMiniaturize:"), NULL); + } + + void RGFW_window_restore(RGFW_window* win) { + assert(win != NULL); + + objc_msgSend_void_SEL(win->src.window, sel_registerName("deminiaturize:"), NULL); + } + + void RGFW_window_setName(RGFW_window* win, char* name) { + assert(win != NULL); + + NSString* str = NSString_stringWithUTF8String(name); + objc_msgSend_void_id(win->src.window, sel_registerName("setTitle:"), str); + } + + void RGFW_window_setMinSize(RGFW_window* win, RGFW_area a) { + ((void (*)(id, SEL, NSSize))objc_msgSend) + (win->src.window, sel_registerName("setMinSize:"), NSMakeSize(a.w, a.h)); + } + + void RGFW_window_setMaxSize(RGFW_window* win, RGFW_area a) { + ((void (*)(id, SEL, NSSize))objc_msgSend) + (win->src.window, sel_registerName("setMaxSize:"), NSMakeSize(a.w, a.h)); + } + + void RGFW_window_setIcon(RGFW_window* win, u8* data, RGFW_area area, i32 channels) { + assert(win != NULL); + + /* code by EimaMei */ + // Make a bitmap representation, then copy the loaded image into it. + void* representation = NSBitmapImageRep_initWithBitmapData(NULL, area.w, area.h, 8, channels, (channels == 4), false, "NSCalibratedRGBColorSpace", 1 << 1, area.w * channels, 8 * channels); + memcpy(NSBitmapImageRep_bitmapData(representation), data, area.w * area.h * channels); + + // Add ze representation. + void* dock_image = NSImage_initWithSize(NSMakeSize(area.w, area.h)); + NSImage_addRepresentation(dock_image, (void*) representation); + + // Finally, set the dock image to it. + objc_msgSend_void_id(NSApp, sel_registerName("setApplicationIconImage:"), dock_image); + // Free the garbage. + release(dock_image); + release(representation); + } + + NSCursor* NSCursor_arrowStr(char* str) { + void* nclass = objc_getClass("NSCursor"); + void* func = sel_registerName(str); + return (NSCursor*) objc_msgSend_id(nclass, func); + } + + void RGFW_window_setMouse(RGFW_window* win, u8* image, RGFW_area a, i32 channels) { + assert(win != NULL); + + if (image == NULL) { + objc_msgSend_void(NSCursor_arrowStr("arrowCursor"), sel_registerName("set")); + return; + } + + /* NOTE(EimaMei): Code by yours truly. */ + // Make a bitmap representation, then copy the loaded image into it. + void* representation = NSBitmapImageRep_initWithBitmapData(NULL, a.w, a.h, 8, channels, (channels == 4), false, "NSCalibratedRGBColorSpace", 1 << 1, a.w * channels, 8 * channels); + memcpy(NSBitmapImageRep_bitmapData(representation), image, a.w * a.h * channels); + + // Add ze representation. + void* cursor_image = NSImage_initWithSize(NSMakeSize(a.w, a.h)); + NSImage_addRepresentation(cursor_image, representation); + + // Finally, set the cursor image. + void* cursor = NSCursor_initWithImage(cursor_image, NSMakePoint(0, 0)); + + objc_msgSend_void(cursor, sel_registerName("set")); + + // Free the garbage. + release(cursor_image); + release(representation); + } + + void RGFW_window_setMouseDefault(RGFW_window* win) { + RGFW_window_setMouseStandard(win, NSCursor_arrowStr("arrowCursor")); + } + + void RGFW_window_showMouse(RGFW_window* win, i8 show) { + if (show) { + CGDisplayShowCursor(kCGDirectMainDisplay); + } + else { + CGDisplayHideCursor(kCGDirectMainDisplay); + } + } + + void RGFW_window_setMouseStandard(RGFW_window* win, void* mouse) { + CGDisplayShowCursor(kCGDirectMainDisplay); + objc_msgSend_void(mouse, sel_registerName("set")); + } + + void RGFW_window_moveMouse(RGFW_window* win, RGFW_vector v) { + assert(win != NULL); + + CGWarpMouseCursorPosition(CGPointMake(v.x, v.y)); + } + + + void RGFW_window_hide(RGFW_window* win) { + objc_msgSend_void_bool(win->src.window, sel_registerName("setIsVisible:"), false); + } + + void RGFW_window_show(RGFW_window* win) { + ((id(*)(id, SEL, SEL))objc_msgSend)(win->src.window, sel_registerName("makeKeyAndOrderFront:"), NULL); + objc_msgSend_void_bool(win->src.window, sel_registerName("setIsVisible:"), true); + } + + u8 RGFW_window_isFullscreen(RGFW_window* win) { + assert(win != NULL); + + NSWindowStyleMask mask = (NSWindowStyleMask) objc_msgSend_uint(win->src.window, sel_registerName("styleMask")); + return (mask & NSWindowStyleMaskFullScreen) == NSWindowStyleMaskFullScreen; + } + + u8 RGFW_window_isHidden(RGFW_window* win) { + assert(win != NULL); + + bool visible = objc_msgSend_bool(win->src.window, sel_registerName("isVisible")); + return visible == NO && !RGFW_window_isMinimized(win); + } + + u8 RGFW_window_isMinimized(RGFW_window* win) { + assert(win != NULL); + + return objc_msgSend_bool(win->src.window, sel_registerName("isMiniaturized")) == YES; + } + + u8 RGFW_window_isMaximized(RGFW_window* win) { + assert(win != NULL); + + return objc_msgSend_bool(win->src.window, sel_registerName("isZoomed")); + } + + static RGFW_monitor RGFW_NSCreateMonitor(CGDirectDisplayID display) { + RGFW_monitor monitor; + + CGRect bounds = CGDisplayBounds(display); + monitor.rect = RGFW_RECT((int) bounds.origin.x, (int) bounds.origin.y, (int) bounds.size.width, (int) bounds.size.height); + + CGSize screenSizeMM = CGDisplayScreenSize(display); + monitor.physW = screenSizeMM.width / 25.4; + monitor.physH = screenSizeMM.height / 25.4; + + monitor.scaleX = (monitor.rect.w / (screenSizeMM.width)) / 2.6; + monitor.scaleY = (monitor.rect.h / (screenSizeMM.height)) / 2.6; + + snprintf(monitor.name, 128, "%i %i %i", CGDisplayModelNumber(display), CGDisplayVendorNumber(display), CGDisplaySerialNumber(display)); + + return monitor; + } + + + static RGFW_monitor RGFW_monitors[7]; + + RGFW_monitor* RGFW_getMonitors(void) { + static CGDirectDisplayID displays[7]; + u32 count; + + if (CGGetActiveDisplayList(6, displays, &count) != kCGErrorSuccess) + return NULL; + + for (u32 i = 0; i < count; i++) + RGFW_monitors[i] = RGFW_NSCreateMonitor(displays[i]); + + return RGFW_monitors; + } + + RGFW_monitor RGFW_getPrimaryMonitor(void) { + CGDirectDisplayID primary = CGMainDisplayID(); + return RGFW_NSCreateMonitor(primary); + } + + RGFW_monitor RGFW_window_getMonitor(RGFW_window* win) { + return RGFW_NSCreateMonitor(win->src.display); + } + + u8 RGFW_isPressedI(RGFW_window* win, u32 key) { + if (key >= 128) { +#ifdef RGFW_PRINT_ERRORS + fprintf(stderr, "RGFW_isPressedI : invalid keycode\n"); +#endif + RGFW_error = 1; + } + + return RGFW_keyMap[key]; + } + +#ifdef __cplusplus +#define APPKIT_EXTERN extern "C" +#else +#define APPKIT_EXTERN extern +#endif + + char* RGFW_readClipboard(size_t* size) { + char* str = strdup((char*) NSPasteboard_stringForType(NSPasteboard_generalPasteboard(), NSPasteboardTypeString)); + if (size != NULL) + *size = strlen(str); + return str; + } + + void RGFW_writeClipboard(const char* text, u32 textLen) { + NSPasteboardType array[] = { NSPasteboardTypeString, NULL }; + NSPasteBoard_declareTypes(NSPasteboard_generalPasteboard(), array, 1, NULL); + + NSPasteBoard_setString(NSPasteboard_generalPasteboard(), text, NSPasteboardTypeString); + } + + u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber) { + assert(win != NULL); + + return RGFW_registerJoystickF(win, (char*) ""); + } + + u16 RGFW_registerJoystickF(RGFW_window* win, char* file) { + assert(win != NULL); + + return win->src.joystickCount - 1; + } + + void RGFW_window_close(RGFW_window* win) { + assert(win != NULL); + +#ifdef RGFW_VULKAN + for (int i = 0; i < win->src.image_count; i++) { + vkDestroyFramebuffer(RGFW_vulkan_info.device, RGFW_vulkan_info.framebuffers[i], NULL); + } + + for (int i = 0; i < win->src.image_count; i++) { + vkDestroyImageView(RGFW_vulkan_info.device, win->src.swapchain_image_views[i], NULL); + } + + vkDestroySwapchainKHR(RGFW_vulkan_info.device, win->src.swapchain, NULL); + vkDestroySurfaceKHR(RGFW_vulkan_info.instance, win->src.rSurf, NULL); + free(win->src.swapchain_image_views); + free(win->src.swapchain_images); +#endif + + release(win->src.view); + +#ifdef RGFW_ALLOC_DROPFILES + { + u32 i; + for (i = 0; i < RGFW_MAX_DROPS; i++) + RGFW_FREE(win->event.droppedFiles[i]); + + + RGFW_FREE(win->event.droppedFiles); + } +#endif + + u32 i; + for (i = 0; i < RGFW_windows_size; i++) + if (RGFW_windows[i]->src.window == win->src.window) { + RGFW_windows[i] = NULL; + break; + } + + if (!i) { + RGFW_windows_size = 0; + + objc_msgSend_void_id(NSApp, sel_registerName("terminate:"), (id) win->src.window); + NSApp = NULL; + } + +#ifdef RGFW_BUFFER + release(win->src.bitmap); + release(win->src.image); +#endif + + CVDisplayLinkStop(win->src.displayLink); + CVDisplayLinkRelease(win->src.displayLink); + + free(win); + } +#endif + +#if defined(RGFW_X11) || defined(RGFW_MACOS) + +#ifndef RGFW_NO_THREADS +#include + + RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args) { + RGFW_thread t; + pthread_create((pthread_t*) &t, NULL, *function_ptr, NULL); + return t; + } + void RGFW_cancelThread(RGFW_thread thread) { pthread_cancel((pthread_t) thread); } + void RGFW_joinThread(RGFW_thread thread) { pthread_join((pthread_t) thread, NULL); } +#ifdef __linux__ + void RGFW_setThreadPriority(RGFW_thread thread, u8 priority) { pthread_setschedprio(thread, priority); } +#endif +#endif +#endif + + void RGFW_window_makeCurrent_OpenGL(RGFW_window* win) { + assert(win != NULL); + +#ifdef RGFW_OPENGL +#ifdef RGFW_X11 + glXMakeCurrent((Display*) win->src.display, (Drawable) win->src.window, (GLXContext) win->src.rSurf); +#endif +#ifdef RGFW_WINDOWS + wglMakeCurrent(win->src.hdc, (HGLRC) win->src.rSurf); +#endif +#if defined(RGFW_MACOS) + objc_msgSend_void(win->src.rSurf, sel_registerName("makeCurrentContext")); +#endif +#else +#ifdef RGFW_EGL + eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.rSurf); +#endif +#endif + + } + + void RGFW_window_makeCurrent(RGFW_window* win) { + assert(win != NULL); + +#if defined(RGFW_WINDOWS) && defined(RGFW_DIRECTX) + RGFW_dxInfo.pDeviceContext->lpVtbl->OMSetRenderTargets(RGFW_dxInfo.pDeviceContext, 1, &win->src.renderTargetView, NULL); +#endif + +#ifdef RGFW_OPENGL + RGFW_window_makeCurrent_OpenGL(win); +#endif + } + + void RGFW_window_swapInterval(RGFW_window* win, i32 swapInterval) { + assert(win != NULL); + +#ifdef RGFW_OPENGL +#ifdef RGFW_X11 + ((PFNGLXSWAPINTERVALEXTPROC) glXGetProcAddress((GLubyte*) "glXSwapIntervalEXT"))((Display*) win->src.display, (Window) win->src.window, swapInterval); +#endif +#ifdef RGFW_WINDOWS + + typedef BOOL(APIENTRY* PFNWGLSWAPINTERVALEXTPROC)(int interval); + static PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; + static void* loadSwapFunc = (void*) 1; + + if (loadSwapFunc == NULL) { + fprintf(stderr, "wglSwapIntervalEXT not supported\n"); + win->fpsCap = (swapInterval == 1) ? 0 : swapInterval; + return; + } + + if (wglSwapIntervalEXT == NULL) { + loadSwapFunc = (void*) wglGetProcAddress("wglSwapIntervalEXT"); + wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) loadSwapFunc; + } + + if (wglSwapIntervalEXT(swapInterval) == FALSE) + fprintf(stderr, "Failed to set swap interval\n"); + +#endif +#if defined(RGFW_MACOS) + NSOpenGLContext_setValues(win->src.rSurf, &swapInterval, 222); +#endif +#endif + +#ifdef RGFW_EGL + eglSwapInterval(win->src.EGL_display, swapInterval); +#endif + + win->fpsCap = (swapInterval == 1) ? 0 : swapInterval; + + } + + void RGFW_window_setGPURender(RGFW_window* win, i8 set) { + if (!set && !(win->src.winArgs & RGFW_NO_GPU_RENDER)) + win->src.winArgs |= RGFW_NO_GPU_RENDER; + + else if (set && win->src.winArgs & RGFW_NO_GPU_RENDER) + win->src.winArgs ^= RGFW_NO_GPU_RENDER; + } + + void RGFW_window_setCPURender(RGFW_window* win, i8 set) { + if (!set && !(win->src.winArgs & RGFW_NO_CPU_RENDER)) + win->src.winArgs |= RGFW_NO_CPU_RENDER; + + else if (set && win->src.winArgs & RGFW_NO_CPU_RENDER) + win->src.winArgs ^= RGFW_NO_CPU_RENDER; + } + + + void RGFW_window_swapBuffers(RGFW_window* win) { + assert(win != NULL); + + win->event.frames++; + RGFW_window_checkFPS(win); + + RGFW_window_makeCurrent(win); + + /* clear the window*/ + + if (!(win->src.winArgs & RGFW_NO_CPU_RENDER)) { +#if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) +#ifdef RGFW_OSMESA + u8* row = (u8*) RGFW_MALLOC(win->r.w * 3); + + i32 half_height = win->r.h / 2; + i32 stride = win->r.w * 3; + + i32 y; + for (y = 0; y < half_height; ++y) { + i32 top_offset = y * stride; + i32 bottom_offset = (win->r.h - y - 1) * stride; + memcpy(row, win->buffer + top_offset, stride); + memcpy(win->buffer + top_offset, win->buffer + bottom_offset, stride); + memcpy(win->buffer + bottom_offset, row, stride); + } + + RGFW_FREE(row); +#endif + +#ifdef RGFW_X11 + RGFW_area area = RGFW_getScreenSize(); + +#ifndef RGFW_X11_DONT_CONVERT_BGR + win->src.bitmap->data = (const char*) win->buffer; + u32 x, y; + for (y = 0; y < win->r.h; y++) { + for (x = 0; x < win->r.w; x++) { + u32 index = (y * 4 * area.w) + x * 4; + + u8 red = win->src.bitmap->data[index]; + win->src.bitmap->data[index] = win->buffer[index + 2]; + win->src.bitmap->data[index + 2] = red; + } + } +#endif + + XPutImage(win->src.display, (Window) win->src.window, XDefaultGC(win->src.display, XDefaultScreen(win->src.display)), win->src.bitmap, 0, 0, 0, 0, win->r.w, win->r.h); +#endif +#ifdef RGFW_WINDOWS + HGDIOBJ oldbmp = SelectObject(win->src.hdcMem, win->src.bitmap); + BitBlt(win->src.hdc, 0, 0, win->r.w, win->r.h, win->src.hdcMem, 0, 0, SRCCOPY); + SelectObject(win->src.hdcMem, oldbmp); +#endif +#if defined(RGFW_MACOS) + RGFW_area area = RGFW_getScreenSize(); + void* view = NSWindow_contentView(win->src.window); + void* layer = objc_msgSend_id(view, sel_registerName("layer")); + + ((void(*)(id, SEL, NSRect))objc_msgSend)(layer, + sel_registerName("setFrame:"), + NSMakeRect(0, 0, win->r.w, win->r.h)); + + NSBitmapImageRep* rep = NSBitmapImageRep_initWithBitmapData( + &win->buffer, win->r.w, win->r.h, 8, 4, true, false, + "NSDeviceRGBColorSpace", 0, + area.w * 4, 32 + ); + id image = NSAlloc(objc_getClass("NSImage")); + NSImage_addRepresentation(image, rep); + objc_msgSend_void_id(layer, sel_registerName("setContents:"), (id) image); + + release(image); + release(rep); +#endif +#endif + +#ifdef RGFW_VULKAN +#ifdef RGFW_PRINT_ERRORS + fprintf(stderr, "RGFW_window_swapBuffers %s\n", "RGFW_window_swapBuffers is not yet supported for Vulkan"); + RGFW_error = 1; +#endif +#endif + } + + if (win->src.winArgs & RGFW_NO_GPU_RENDER) + return; + +#ifdef RGFW_OPENGL +#ifdef RGFW_EGL + eglSwapBuffers(win->src.EGL_display, win->src.EGL_surface); +#else +#if defined(RGFW_X11) && defined(RGFW_OPENGL) + glXSwapBuffers((Display*) win->src.display, (Window) win->src.window); +#endif +#ifdef RGFW_WINDOWS + SwapBuffers(win->src.hdc); +#endif +#if defined(RGFW_MACOS) + NSOpenGLContext_flushBuffer(win->src.rSurf); +#endif +#endif +#endif + +#if defined(RGFW_WINDOWS) && defined(RGFW_DIRECTX) + win->src.swapchain->lpVtbl->Present(win->src.swapchain, 0, 0); +#endif + } + + void RGFW_window_maximize(RGFW_window* win) { + assert(win != NULL); + + RGFW_area screen = RGFW_getScreenSize(); + + RGFW_window_move(win, RGFW_VECTOR(0, 0)); + RGFW_window_resize(win, screen); + } + + u8 RGFW_window_shouldClose(RGFW_window* win) { + assert(win != NULL); + + /* || RGFW_isPressedI(win, RGFW_Escape) */ + return (win->event.type == RGFW_quit || RGFW_isPressedI(win, RGFW_OS_BASED_VALUE(0xff1b, 0x1B, 53))); + } + + void RGFW_window_setShouldClose(RGFW_window* win) { win->event.type = RGFW_quit; } + + void RGFW_window_moveToMonitor(RGFW_window* win, RGFW_monitor m) { + RGFW_window_move(win, RGFW_VECTOR(m.rect.x + win->r.x, m.rect.y + win->r.y)); + } + + void RGFW_window_mouseHold(RGFW_window* win) { + win->src.winArgs |= RGFW_HOLD_MOUSE; + + #ifdef RGFW_WINDOWS + RECT rect = {win->r.x, win->r.y, win->r.x + win->r.w, win->r.y + win->r.h}; + ClipCursor(&rect); + #endif + } + + void RGFW_window_mouseUnhold(RGFW_window* win) { + win->src.winArgs ^= RGFW_HOLD_MOUSE; + + #ifdef RGFW_WINDOWS + ClipCursor(NULL); + #endif + } + + void RGFW_sleep(u32 ms) { +#ifndef _MSC_VER + struct timespec time; + time.tv_sec = 0; + time.tv_nsec = ms * 1000; + + nanosleep(&time, NULL); +#else + Sleep(ms); +#endif + } + + static float currentFrameTime = 0; + + void RGFW_window_checkFPS(RGFW_window* win) { + assert(win != NULL); + + win->event.fps = RGFW_getFPS(); + + if (win->fpsCap == 0) + return; + + double targetFrameTime = 1.0 / win->fpsCap; + double elapsedTime = RGFW_getTime() - currentFrameTime; + + if (elapsedTime < targetFrameTime) { + u32 sleepTime = (u32) ((targetFrameTime - elapsedTime) * 1e3); + RGFW_sleep(sleepTime); + } + + currentFrameTime = (float) RGFW_getTime(); + + if (elapsedTime < targetFrameTime) { + u32 sleepTime = (u32) ((targetFrameTime - elapsedTime) * 1e3); + RGFW_sleep(sleepTime); + } + + currentFrameTime = (float) RGFW_getTime(); + } + +#ifdef __APPLE__ +#include +#endif + + u64 RGFW_getTimeNS(void) { +#ifdef RGFW_WINDOWS + LARGE_INTEGER frequency; + QueryPerformanceFrequency(&frequency); + + LARGE_INTEGER counter; + QueryPerformanceCounter(&counter); + + return (u64) (counter.QuadPart * 1e9 / frequency.QuadPart); +#elif defined(__unix__) + struct timespec ts = { 0 }; + clock_gettime(CLOCK_MONOTONIC, &ts); + unsigned long long int nanoSeconds = (unsigned long long int)ts.tv_sec*1000000000LLU + (unsigned long long int)ts.tv_nsec; + + return nanoSeconds; +#elif defined(__APPLE__) + static mach_timebase_info_data_t timebase_info; + if (timebase_info.denom == 0) { + mach_timebase_info(&timebase_info); + } + return mach_absolute_time() * timebase_info.numer / timebase_info.denom; +#endif + return 0; + } + + u64 RGFW_getTime(void) { +#ifdef RGFW_WINDOWS + LARGE_INTEGER frequency; + QueryPerformanceFrequency(&frequency); + + LARGE_INTEGER counter; + QueryPerformanceCounter(&counter); + return (u64) (counter.QuadPart / (double) frequency.QuadPart); +#elif defined(__unix__) + struct timespec ts = { 0 }; + clock_gettime(CLOCK_MONOTONIC, &ts); + unsigned long long int nanoSeconds = (unsigned long long int)ts.tv_sec*1000000000LLU + (unsigned long long int)ts.tv_nsec; + + return (double)(nanoSeconds) * 1e-9; +#elif defined(__APPLE__) + static mach_timebase_info_data_t timebase_info; + if (timebase_info.denom == 0) { + mach_timebase_info(&timebase_info); + } + return (double) mach_absolute_time() * (double) timebase_info.numer / ((double) timebase_info.denom * 1e9); +#endif + return 0; + } + + u32 RGFW_getFPS(void) { + static double previousSeconds = 0.0; + if (previousSeconds == 0.0) + previousSeconds = (double) RGFW_getTime();//glfwGetTime(); + + static i16 frameCount; + double currentSeconds = (double) RGFW_getTime();//glfwGetTime(); + double elapsedSeconds = currentSeconds - previousSeconds; + static double fps = 0; + + if (elapsedSeconds > 0.25) { + previousSeconds = currentSeconds; + fps = (double) frameCount / elapsedSeconds; + frameCount = 0; + } + + frameCount++; + + return (u32) fps; + } + +#endif /*RGFW_IMPLEMENTATION*/ + +#define RGFW_Escape RGFW_OS_BASED_VALUE(0xff1b, 0x1B, 53) +#define RGFW_F1 RGFW_OS_BASED_VALUE(0xffbe, 0x70, 127) +#define RGFW_F2 RGFW_OS_BASED_VALUE(0xffbf, 0x71, 121) +#define RGFW_F3 RGFW_OS_BASED_VALUE(0xffc0, 0x72, 100) +#define RGFW_F4 RGFW_OS_BASED_VALUE(0xffc1, 0x73, 119) +#define RGFW_F5 RGFW_OS_BASED_VALUE(0xffc2, 0x74, 97) +#define RGFW_F6 RGFW_OS_BASED_VALUE(0xffc3, 0x75, 98) +#define RGFW_F7 RGFW_OS_BASED_VALUE(0xffc4, 0x76, 99) +#define RGFW_F8 RGFW_OS_BASED_VALUE(0xffc5, 0x77, 101) +#define RGFW_F9 RGFW_OS_BASED_VALUE(0xffc6, 0x78, 102) +#define RGFW_F10 RGFW_OS_BASED_VALUE(0xffc7, 0x79, 110) +#define RGFW_F11 RGFW_OS_BASED_VALUE(0xffc8, 0x7A, 104) +#define RGFW_F12 RGFW_OS_BASED_VALUE(0xffc9, 0x7B, 112) +#define RGFW_F13 RGFW_OS_BASED_VALUE(0xffca, 0x7C, 106) +#define RGFW_F14 RGFW_OS_BASED_VALUE(0xffcb, 0x7D, 108) +#define RGFW_F15 RGFW_OS_BASED_VALUE(0xffcc, 0x7E, 114) + +#define RGFW_Backtick RGFW_OS_BASED_VALUE(96 , 192, 50) + +#define RGFW_0 RGFW_OS_BASED_VALUE(0x0030, 0x30, 29) +#define RGFW_1 RGFW_OS_BASED_VALUE(0x0031, 0x31, 18) +#define RGFW_2 RGFW_OS_BASED_VALUE(0x0032, 0x32, 19) +#define RGFW_3 RGFW_OS_BASED_VALUE(0x0033, 0x33, 20) +#define RGFW_4 RGFW_OS_BASED_VALUE(0x0034, 0x34, 21) +#define RGFW_5 RGFW_OS_BASED_VALUE(0x0035, 0x35, 23) +#define RGFW_6 RGFW_OS_BASED_VALUE(0x0036, 0x36, 22) +#define RGFW_7 RGFW_OS_BASED_VALUE(0x0037, 0x37, 26) +#define RGFW_8 RGFW_OS_BASED_VALUE(0x0038, 0x38, 28) +#define RGFW_9 RGFW_OS_BASED_VALUE(0x0039, 0x39, 25) + +#define RGFW_Minus RGFW_OS_BASED_VALUE(0x002d, 189, 27) +#define RGFW_Equals RGFW_OS_BASED_VALUE(0x003d, 187, 24) +#define RGFW_BackSpace RGFW_OS_BASED_VALUE(0xff08, 8, 51) +#define RGFW_Tab RGFW_OS_BASED_VALUE(0xff89, 0x09, 48) +#define RGFW_CapsLock RGFW_OS_BASED_VALUE(0xffe5, 20, 57) +#define RGFW_ShiftL RGFW_OS_BASED_VALUE(0xffe1, 0xA0, 56) +#define RGFW_ControlL RGFW_OS_BASED_VALUE(0xffe3, 0x11, 59) +#define RGFW_AltL RGFW_OS_BASED_VALUE(0xffe9, 164, 58) +#define RGFW_SuperL RGFW_OS_BASED_VALUE(0xffeb, 0x5B, 55) +#define RGFW_ShiftR RGFW_OS_BASED_VALUE(0xffe2, 0x5C, 56) +#define RGFW_ControlR RGFW_OS_BASED_VALUE(0xffe4, 0x11, 59) +#define RGFW_AltR RGFW_OS_BASED_VALUE(0xffea, 165, 58) +#define RGFW_SuperR RGFW_OS_BASED_VALUE(0xffec, 0xA4, 55) +#define RGFW_Space RGFW_OS_BASED_VALUE(0x0020, 0x20, 49) + +#define RGFW_A RGFW_OS_BASED_VALUE(0x0041, 0x41, 0) +#define RGFW_B RGFW_OS_BASED_VALUE(0x0042, 0x42, 11) +#define RGFW_C RGFW_OS_BASED_VALUE(0x0043, 0x43, 8) +#define RGFW_D RGFW_OS_BASED_VALUE(0x0044, 0x44, 2) +#define RGFW_E RGFW_OS_BASED_VALUE(0x0045, 0x45, 14) +#define RGFW_F RGFW_OS_BASED_VALUE(0x0046, 0x46, 3) +#define RGFW_G RGFW_OS_BASED_VALUE(0x0047, 0x47, 5) +#define RGFW_H RGFW_OS_BASED_VALUE(0x0048, 0x48, 4) +#define RGFW_I RGFW_OS_BASED_VALUE(0x0049, 0x49, 34) +#define RGFW_J RGFW_OS_BASED_VALUE(0x004a, 0x4A, 38) +#define RGFW_K RGFW_OS_BASED_VALUE(0x004b, 0x4B, 40) +#define RGFW_L RGFW_OS_BASED_VALUE(0x004c, 0x4C, 37) +#define RGFW_M RGFW_OS_BASED_VALUE(0x004d, 0x4D, 46) +#define RGFW_N RGFW_OS_BASED_VALUE(0x004e, 0x4E, 45) +#define RGFW_O RGFW_OS_BASED_VALUE(0x004f, 0x4F, 31) +#define RGFW_P RGFW_OS_BASED_VALUE(0x0050, 0x50, 35) +#define RGFW_Q RGFW_OS_BASED_VALUE(0x0051, 0x51, 12) +#define RGFW_R RGFW_OS_BASED_VALUE(0x0052, 0x52, 15) +#define RGFW_S RGFW_OS_BASED_VALUE(0x0053, 0x53, 1) +#define RGFW_T RGFW_OS_BASED_VALUE(0x0054, 0x54, 17) +#define RGFW_U RGFW_OS_BASED_VALUE(0x0055, 0x55, 32) +#define RGFW_V RGFW_OS_BASED_VALUE(0x0056, 0x56, 9) +#define RGFW_W RGFW_OS_BASED_VALUE(0x0057, 0x57, 13) +#define RGFW_X RGFW_OS_BASED_VALUE(0x0058, 0x58, 7) +#define RGFW_Y RGFW_OS_BASED_VALUE(0x0059, 0x59, 16) +#define RGFW_Z RGFW_OS_BASED_VALUE(0x005a, 0x5A, 6) + +#define RGFW_a RGFW_OS_BASED_VALUE(0x0061, 0x41, 0) +#define RGFW_b RGFW_OS_BASED_VALUE(0x0062, 0x42, 11) +#define RGFW_c RGFW_OS_BASED_VALUE(0x0063, 0x43, 8) +#define RGFW_d RGFW_OS_BASED_VALUE(0x0064, 0x44, 2) +#define RGFW_e RGFW_OS_BASED_VALUE(0x0065, 0x45, 14) +#define RGFW_f RGFW_OS_BASED_VALUE(0x0066, 0x46, 3) +#define RGFW_g RGFW_OS_BASED_VALUE(0x0067, 0x47, 5) +#define RGFW_h RGFW_OS_BASED_VALUE(0x0068, 0x48, 4) +#define RGFW_i RGFW_OS_BASED_VALUE(0x0069, 0x49, 34) +#define RGFW_j RGFW_OS_BASED_VALUE(0x006a, 0x4a, 38) +#define RGFW_k RGFW_OS_BASED_VALUE(0x006b, 0x4b, 40) +#define RGFW_l RGFW_OS_BASED_VALUE(0x006c, 0x4c, 37) +#define RGFW_m RGFW_OS_BASED_VALUE(0x006d, 0x4d, 46) +#define RGFW_n RGFW_OS_BASED_VALUE(0x006e, 0x4e, 45) +#define RGFW_o RGFW_OS_BASED_VALUE(0x006f, 0x4f, 31) +#define RGFW_p RGFW_OS_BASED_VALUE(0x0070, 0x50, 35) +#define RGFW_q RGFW_OS_BASED_VALUE(0x0071, 0x51, 12) +#define RGFW_r RGFW_OS_BASED_VALUE(0x0072, 0x52, 15) +#define RGFW_s RGFW_OS_BASED_VALUE(0x0073, 0x53, 1) +#define RGFW_t RGFW_OS_BASED_VALUE(0x0074, 0x54, 17) +#define RGFW_u RGFW_OS_BASED_VALUE(0x0075, 0x55, 32) +#define RGFW_v RGFW_OS_BASED_VALUE(0x0076, 0x56, 9) +#define RGFW_w RGFW_OS_BASED_VALUE(0x0077, 0x57, 13) +#define RGFW_x RGFW_OS_BASED_VALUE(0x0078, 0x58, 7) +#define RGFW_y RGFW_OS_BASED_VALUE(0x0079, 0x59, 16) +#define RGFW_z RGFW_OS_BASED_VALUE(0x007a, 0x5A, 6) + +#define RGFW_Period RGFW_OS_BASED_VALUE(0x002e, 190, 47) +#define RGFW_Comma RGFW_OS_BASED_VALUE(0x002c, 188, 43) +#define RGFW_Slash RGFW_OS_BASED_VALUE(0x002f, 191, 44) +#define RGFW_Bracket RGFW_OS_BASED_VALUE(0x005b, 219, 33) +#define RGFW_CloseBracket RGFW_OS_BASED_VALUE(0x005d, 221, 30) +#define RGFW_Semicolon RGFW_OS_BASED_VALUE(0x003b, 186, 41) +#define RGFW_Return RGFW_OS_BASED_VALUE(0xff0d, 0x0D, 36) +#define RGFW_Quote RGFW_OS_BASED_VALUE(0x0022, 222, 39) +#define RGFW_BackSlash RGFW_OS_BASED_VALUE(0x005c, 322, 42) + +#define RGFW_Up RGFW_OS_BASED_VALUE(0xff52, 0x26, 126) +#define RGFW_Down RGFW_OS_BASED_VALUE(0xff54, 0x28, 125) +#define RGFW_Left RGFW_OS_BASED_VALUE(0xff51, 0x25, 123) +#define RGFW_Right RGFW_OS_BASED_VALUE(0xff53, 0x27, 124) + +#define RGFW_Delete RGFW_OS_BASED_VALUE(0xffff, 0x2E, 118) +#define RGFW_Insert RGFW_OS_BASED_VALUE(0xff63, 0x2D, 115) +#define RGFW_End RGFW_OS_BASED_VALUE(0xff57, 0x23, 120) +#define RGFW_Home RGFW_OS_BASED_VALUE(0xff50, 0x24, 116) +#define RGFW_PageUp RGFW_OS_BASED_VALUE(0xff55, 336, 117) +#define RGFW_PageDown RGFW_OS_BASED_VALUE(0xff56, 325, 122) + +#define RGFW_Numlock RGFW_OS_BASED_VALUE(0xff7f, 0x90, 72) +#define RGFW_KP_Slash RGFW_OS_BASED_VALUE(0xffaf, 0x6F, 82) +#define RGFW_Multiply RGFW_OS_BASED_VALUE(0xffaa, 0x6A, 76) +#define RGFW_KP_Minus RGFW_OS_BASED_VALUE(0xffad, 0x6D, 67) +#define RGFW_KP_1 RGFW_OS_BASED_VALUE(0xffb1, 0x61, 84) +#define RGFW_KP_2 RGFW_OS_BASED_VALUE(0xffb2, 0x62, 85) +#define RGFW_KP_3 RGFW_OS_BASED_VALUE(0xffb3, 0x63, 86) +#define RGFW_KP_4 RGFW_OS_BASED_VALUE(0xffb4, 0x64, 87) +#define RGFW_KP_5 RGFW_OS_BASED_VALUE(0xffb5, 0x65, 88) +#define RGFW_KP_6 RGFW_OS_BASED_VALUE(0xffb6, 0x66, 89) +#define RGFW_KP_7 RGFW_OS_BASED_VALUE(0xffb7, 0x67, 90) +#define RGFW_KP_8 RGFW_OS_BASED_VALUE(0xffb8, 0x68, 92) +#define RGFW_KP_9 RGFW_OS_BASED_VALUE(0xffb9, 0x619, 93) +#define RGFW_KP_0 RGFW_OS_BASED_VALUE(0xffb0, 0x60, 83) +#define RGFW_KP_Period RGFW_OS_BASED_VALUE(0xffae, 0x6E, 65) +#define RGFW_KP_Return RGFW_OS_BASED_VALUE(0xff8d, 0x92, 77) + +#ifdef __APPLE__ + void* NSCursor_arrowStr(char* str); + void NSCursor_performSelector(void* cursor, void* selector); +#endif + + /* mouse icons */ +#define RGFW_MOUSE_ARROW RGFW_OS_BASED_VALUE(68, 32512, NSCursor_arrowStr("arrowCursor")) +#define RGFW_MOUSE_IBEAM RGFW_OS_BASED_VALUE(152, 32513, NSCursor_arrowStr("IBeamCursor")) +#define RGFW_MOUSE_CROSSHAIR RGFW_OS_BASED_VALUE(34, 32515, NSCursor_arrowStr("crosshairCursor")) +#define RGFW_MOUSE_POINTING_HAND RGFW_OS_BASED_VALUE(60, 32649, NSCursor_arrowStr("pointingHandCursor")) +#define RGFW_MOUSE_RESIZE_EW RGFW_OS_BASED_VALUE(108, 32644, NSCursor_arrowStr("resizeLeftRightCursor")) +#define RGFW_MOUSE_RESIZE_NS RGFW_OS_BASED_VALUE(116, 32645, NSCursor_arrowStr("resizeUpDownCursor")) +#define RGFW_MOUSE_RESIZE_ALL RGFW_OS_BASED_VALUE(52, 32646, NSCursor_arrowStr("closedHandCursor")) +#define RGFW_MOUSE_RESIZE_NWSE RGFW_OS_BASED_VALUE(12, 32642, NSCursor_performSelector(selector("_windowResizeNorthWestSouthEastCursor"))) +#define RGFW_MOUSE_RESIZE_NESW RGFW_OS_BASED_VALUE(14, 32643, NSCursor_performSelector(selector("_windowResizeNorthEastSouthWestCursor"))) +#define RGFW_MOUSE_NOT_ALLOWED RGFW_OS_BASED_VALUE(0, 32648, NSCursor_arrowStr("operationNotAllowedCursor")) + +#ifdef __cplusplus +} +#endif diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c new file mode 100644 index 000000000..e4f74938d --- /dev/null +++ b/src/platforms/rcore_desktop_rgfw.c @@ -0,0 +1,1519 @@ +/********************************************************************************************** +* +* rcore_desktop_rgfw template - Functions to manage window, graphics device and inputs +* +* PLATFORM: RGFW +* - Windows (Win32, Win64) +* - Linux (X11/Wayland desktop mode) +* - MacOS (Cocoa) +* +* LIMITATIONS: +* - Limitation 01 +* - Limitation 02 +* +* POSSIBLE IMPROVEMENTS: +* - Improvement 01 +* - Improvement 02 +* +* ADDITIONAL NOTES: +* - TRACELOG() function is located in raylib [utils] module +* +* CONFIGURATION: +* #define RCORE_PLATFORM_CUSTOM_FLAG +* Custom flag for rcore on target platform -not used- +* +* DEPENDENCIES: +* - RGFW.h (main library): Windowing and inputs management +* - gestures: Gestures system for touch-ready devices (or simulated from mouse inputs) +* +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2013-2024 Ramon Santamaria (@raysan5), Colleague Riley and contributors +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifdef GRAPHICS_API_OPENGL_ES2 +#define RGFW_OPENGL_ES2 +#endif + +void ShowCursor(void); +void CloseWindow(void); + +#define _INPUT_EVENT_CODES_H +#define _APISETSTRING_ +#define RGFWDEF +#define _XTYPEDEF_FONT +#define RGFW_IMPLEMENTATION + +#define WIN32_LEAN_AND_MEAN +#define Rectangle rectangle_win32 +#define CloseWindow CloseWindow_win32 +#define ShowCursor __imp_ShowCursor + +#define Point NSPOINT +#define Size NSSIZE + +#ifdef _MSC_VER +__declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char* lpMultiByteStr, int cbMultiByte, wchar_t* lpWideCharStr, int cchWideChar); +#endif + +#include "../external/RGFW.h" +#undef DrawText +#undef ShowCursor +#undef CloseWindow +#undef Point +#undef Size + +#define Rectangle struct Rectangle +void CloseWindow(void); +void ShowCursor(void); + + +#include + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef struct { + // TODO: Define the platform specific variables required + + RGFW_window* window; // Native display device (physical screen connection) +} PlatformData; + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +extern CoreData CORE; // Global CORE state context + +static PlatformData platform = { NULL }; // Platform specific + +//---------------------------------------------------------------------------------- +// Module Internal Functions Declaration +//---------------------------------------------------------------------------------- +int InitPlatform(void); // Initialize platform (graphics, inputs and more) +bool InitGraphicsDevice(void); // Initialize graphics device + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +// NOTE: Functions declaration is provided by raylib.h + +//---------------------------------------------------------------------------------- +// Module Functions Definition: Window and Graphics Device +//---------------------------------------------------------------------------------- + +// Check if application should close +bool WindowShouldClose(void) +{ + if (CORE.Window.shouldClose == false) + CORE.Window.shouldClose = RGFW_window_shouldClose(platform.window); + if (CORE.Window.ready) return CORE.Window.shouldClose; + else return true; +} + +// Toggle fullscreen mode +void ToggleFullscreen(void) +{ + RGFW_window_maximize(platform.window); + ToggleBorderlessWindowed(); +} + +// Toggle borderless windowed mode +void ToggleBorderlessWindowed(void) +{ + CORE.Window.flags & FLAG_WINDOW_UNDECORATED; + + if (platform.window != NULL) + TRACELOG(LOG_WARNING, "ToggleBorderlessWindowed() after window creation not available on target platform"); +} + +// Set window state: maximized, if resizable +void MaximizeWindow(void) +{ + RGFW_window_maximize(platform.window); +} + +// Set window state: minimized +void MinimizeWindow(void) +{ + RGFW_window_minimize(platform.window); +} + +// Set window state: not minimized/maximized +void RestoreWindow(void) +{ + RGFW_window_restore(platform.window); +} + +// Set window configuration state using flags +void SetWindowState(unsigned int flags) +{ + CORE.Window.flags |= flags; + + if (flags & FLAG_VSYNC_HINT) + { + RGFW_window_swapInterval(platform.window, 1); + } + if (flags & FLAG_FULLSCREEN_MODE) + { + RGFW_window_maximize(platform.window); + ToggleBorderlessWindowed(); + } + if (flags & FLAG_WINDOW_RESIZABLE) + { + RGFW_window_setMaxSize(platform.window, RGFW_AREA(platform.window->r.w, platform.window->r.h)); + RGFW_window_setMinSize(platform.window, RGFW_AREA(platform.window->r.w, platform.window->r.h)); + } + if (flags & FLAG_WINDOW_UNDECORATED) + { + ToggleBorderlessWindowed(); + } + if (flags & FLAG_WINDOW_HIDDEN) + { + RGFW_window_hide(platform.window); + } + if (flags & FLAG_WINDOW_MINIMIZED) + { + RGFW_window_minimize(platform.window); + } + if (flags & FLAG_WINDOW_MAXIMIZED) + { + RGFW_window_maximize(platform.window); + } + if (flags & FLAG_WINDOW_UNFOCUSED) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_UNFOCUSED is not supported on PLATFORM_DESKTOP_SDL"); + } + if (flags & FLAG_WINDOW_TOPMOST) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_TOPMOST is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_ALWAYS_RUN) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_ALWAYS_RUN is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_TRANSPARENT) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_TRANSPARENT is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_HIGHDPI) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_HIGHDPI is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_MOUSE_PASSTHROUGH) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_WINDOW_MOUSE_PASSTHROUGH is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_BORDERLESS_WINDOWED_MODE) + { + ToggleBorderlessWindowed(); + } + if (flags & FLAG_MSAA_4X_HINT) + { + RGFW_setGLSamples(4); + } + if (flags & FLAG_INTERLACED_HINT) + { + TRACELOG(LOG_WARNING, "SetWindowState() - FLAG_INTERLACED_HINT is not supported on PLATFORM_DESKTOP_RGFW"); + } +} + +// Clear window configuration state flags +void ClearWindowState(unsigned int flags) +{ + CORE.Window.flags &= ~flags; + + if (flags & FLAG_VSYNC_HINT) + { + RGFW_window_swapInterval(platform.window, 0); + } + if (flags & FLAG_FULLSCREEN_MODE) + { + ToggleBorderlessWindowed(); + RGFW_window_restore(platform.window); + CORE.Window.fullscreen = false; + } + if (flags & FLAG_WINDOW_RESIZABLE) + { + RGFW_window_setMaxSize(platform.window, RGFW_AREA(0, 0)); + RGFW_window_setMinSize(platform.window, RGFW_AREA(0, 0)); + } + if (flags & FLAG_WINDOW_UNDECORATED) + { + ToggleBorderlessWindowed(); + } + if (flags & FLAG_WINDOW_HIDDEN) + { + RGFW_window_show(platform.window); + } + if (flags & FLAG_WINDOW_MINIMIZED) + { + RGFW_window_restore(platform.window); + } + if (flags & FLAG_WINDOW_MAXIMIZED) + { + RGFW_window_restore(platform.window); + } + if (flags & FLAG_WINDOW_UNFOCUSED) + { + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_UNFOCUSED is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_TOPMOST) + { + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_TOPMOST is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_ALWAYS_RUN) + { + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_ALWAYS_RUN is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_TRANSPARENT) + { + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_TRANSPARENT is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_HIGHDPI) + { + // NOTE: There also doesn't seem to be a feature to disable high DPI once enabled + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_HIGHDPI is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_WINDOW_MOUSE_PASSTHROUGH) + { + //SDL_SetWindowGrab(platform.window, SDL_TRUE); + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_WINDOW_MOUSE_PASSTHROUGH is not supported on PLATFORM_DESKTOP_RGFW"); + } + if (flags & FLAG_BORDERLESS_WINDOWED_MODE) + { + ToggleFullscreen(); + } + if (flags & FLAG_MSAA_4X_HINT) + { + RGFW_setGLSamples(0); + } + if (flags & FLAG_INTERLACED_HINT) + { + TRACELOG(LOG_WARNING, "ClearWindowState() - FLAG_INTERLACED_HINT is not supported on PLATFORM_DESKTOP_RGFW"); + } +} + +// Set icon for window +void SetWindowIcon(Image image) +{ + i32 channels = 4; + + switch (image.format) { + case PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: + case PIXELFORMAT_UNCOMPRESSED_R16: // 16 bpp (1 channel - half float) + case PIXELFORMAT_UNCOMPRESSED_R32: // 32 bpp (1 channel - float) + channels = 1; + break; + + case PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: // 8*2 bpp (2 channels) + case PIXELFORMAT_UNCOMPRESSED_R5G6B5: // 16 bpp + case PIXELFORMAT_UNCOMPRESSED_R8G8B8: // 24 bpp + case PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: // 16 bpp (1 bit alpha) + case PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: // 16 bpp (4 bit alpha) + case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: // 32 bpp + channels = 2; + break; + + case PIXELFORMAT_UNCOMPRESSED_R32G32B32: // 32*3 bpp (3 channels - float) + case PIXELFORMAT_UNCOMPRESSED_R16G16B16: // 16*3 bpp (3 channels - half float) + case PIXELFORMAT_COMPRESSED_DXT1_RGB: // 4 bpp (no alpha) + case PIXELFORMAT_COMPRESSED_ETC1_RGB: // 4 bpp + case PIXELFORMAT_COMPRESSED_ETC2_RGB: // 4 bpp + case PIXELFORMAT_COMPRESSED_PVRT_RGB: // 4 bpp + channels = 3; + break; + + case PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: // 32*4 bpp (4 channels - float) + case PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: // 16*4 bpp (4 channels - half float) + case PIXELFORMAT_COMPRESSED_DXT1_RGBA: // 4 bpp (1 bit alpha) + case PIXELFORMAT_COMPRESSED_DXT3_RGBA: // 8 bpp + case PIXELFORMAT_COMPRESSED_DXT5_RGBA: // 8 bpp + case PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: // 8 bpp + case PIXELFORMAT_COMPRESSED_PVRT_RGBA: // 4 bpp + case PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: // 8 bpp + case PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: // 2 bpp + channels = 4; + break; + + default: break; + } + + RGFW_window_setIcon(platform.window, image.data, RGFW_AREA(image.width, image.height), channels); +} + +// Set icon for window +void SetWindowIcons(Image *images, int count) +{ + TRACELOG(LOG_WARNING, "SetWindowIcons() not available on target platform"); +} + +// Set title for window +void SetWindowTitle(const char *title) +{ + RGFW_window_setName(platform.window, title); + CORE.Window.title = title; +} + +// Set window position on screen (windowed mode) +void SetWindowPosition(int x, int y) +{ + RGFW_window_move(platform.window, RGFW_VECTOR(x, y)); +} + +// Set monitor for the current window +void SetWindowMonitor(int monitor) +{ + RGFW_window_moveToMonitor(platform.window, RGFW_getMonitors()[monitor]); +} + +// Set window minimum dimensions (FLAG_WINDOW_RESIZABLE) +void SetWindowMinSize(int width, int height) +{ + RGFW_window_setMinSize(platform.window, RGFW_AREA(width, height)); + CORE.Window.screenMin.width = width; + CORE.Window.screenMin.height = height; +} + +// Set window maximum dimensions (FLAG_WINDOW_RESIZABLE) +void SetWindowMaxSize(int width, int height) +{ + RGFW_window_setMaxSize(platform.window, RGFW_AREA(width, height)); + CORE.Window.screenMax.width = width; + CORE.Window.screenMax.height = height; +} + +// Set window dimensions +void SetWindowSize(int width, int height) +{ + RGFW_window_resize(platform.window, RGFW_AREA(width, height)); +} + +// Set window opacity, value opacity is between 0.0 and 1.0 +void SetWindowOpacity(float opacity) +{ + TRACELOG(LOG_WARNING, "SetWindowOpacity() not available on target platform"); +} + +// Set window focused +void SetWindowFocused(void) +{ + RGFW_window_show(platform.window); +} + +// Get native window handle +void *GetWindowHandle(void) +{ + return platform.window->src.window; +} + +// Get number of monitors +int GetMonitorCount(void) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + u32 i; + for (i = 0; i < 6; i++) { + if (!mons[i].rect.x && !mons[i].rect.y && !mons[i].rect.w && mons[i].rect.h) + return i; + } + + return 6; +} + +// Get number of monitors +int GetCurrentMonitor(void) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + RGFW_monitor mon = RGFW_window_getMonitor(platform.window); + + u32 i; + for (i = 0; i < 6; i++) { + if (mons[i].rect.x == mon.rect.x && + mons[i].rect.y == mon.rect.y) + return i; + } + + return 0; +} + +// Get selected monitor position +Vector2 GetMonitorPosition(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return (Vector2){mons[monitor].rect.x, mons[monitor].rect.y}; +} + +// Get selected monitor width (currently used by monitor) +int GetMonitorWidth(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return mons[monitor].rect.w; +} + +// Get selected monitor height (currently used by monitor) +int GetMonitorHeight(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return mons[monitor].rect.h; + return 0; +} + +// Get selected monitor physical width in millimetres +int GetMonitorPhysicalWidth(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return mons[monitor].physW; +} + +// Get selected monitor physical height in millimetres +int GetMonitorPhysicalHeight(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return mons[monitor].physH; +} + +// Get selected monitor refresh rate +int GetMonitorRefreshRate(int monitor) +{ + TRACELOG(LOG_WARNING, "GetMonitorRefreshRate() not implemented on target platform"); + return 0; +} + +// Get the human-readable, UTF-8 encoded name of the selected monitor +const char *GetMonitorName(int monitor) +{ + RGFW_monitor* mons = RGFW_getMonitors(); + + return mons[monitor].name; +} + +// Get window position XY on monitor +Vector2 GetWindowPosition(void) +{ + return (Vector2){ platform.window->r.x, platform.window->r.y }; +} + +// Get window scale DPI factor for current monitor +Vector2 GetWindowScaleDPI(void) +{ + RGFW_monitor monitor = RGFW_window_getMonitor(platform.window); + + return (Vector2){((u32)monitor.scaleX) * platform.window->r.w, ((u32) monitor.scaleX) * platform.window->r.h}; +} + +// Set clipboard text content +void SetClipboardText(const char *text) +{ + RGFW_writeClipboard(text, strlen(text)); +} + +// Get clipboard text content +// NOTE: returned string is allocated and freed by GLFW +const char *GetClipboardText(void) +{ + return RGFW_readClipboard(NULL); +} + +// Show mouse cursor +void ShowCursor(void) +{ + RGFW_window_showMouse(platform.window, true); + CORE.Input.Mouse.cursorHidden = false; +} + +// Hides mouse cursor +void HideCursor(void) +{ + RGFW_window_showMouse(platform.window, false); + CORE.Input.Mouse.cursorHidden = true; +} + +// Enables cursor (unlock cursor) +void EnableCursor(void) +{ + RGFW_window_mouseUnhold(platform.window); + + // Set cursor position in the middle + SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); + RGFW_window_showMouse(platform.window, true); + CORE.Input.Mouse.cursorHidden = false; +} + +// Disables cursor (lock cursor) +void DisableCursor(void) +{ + RGFW_window_mouseHold(platform.window); + // Set cursor position in the middle + SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2); + + HideCursor(); +} + +// Swap back buffer with front buffer (screen drawing) +void SwapScreenBuffer(void) +{ + RGFW_window_swapBuffers(platform.window); +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition: Misc +//---------------------------------------------------------------------------------- + +// Get elapsed time measure in seconds since InitTimer() +double GetTime(void) +{ + double time = 0.0; + unsigned long long int nanoSeconds = RGFW_getTimeNS(); + time = (double)(nanoSeconds - CORE.Time.base)*1e-9; // Elapsed time since InitTimer() + + return time; +} + +// Open URL with default system browser (if available) +// NOTE: This function is only safe to use if you control the URL given. +// A user could craft a malicious string performing another action. +// Only call this function yourself not with user input or make sure to check the string yourself. +// Ref: https://github.com/raysan5/raylib/issues/686 +void OpenURL(const char *url) +{ + // Security check to (partially) avoid malicious code on target platform + if (strchr(url, '\'') != NULL) TRACELOG(LOG_WARNING, "SYSTEM: Provided URL could be potentially malicious, avoid [\'] character"); + else + { + // TODO: + } +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition: Inputs +//---------------------------------------------------------------------------------- + +// Set internal gamepad mappings +int SetGamepadMappings(const char *mappings) +{ + TRACELOG(LOG_WARNING, "SetGamepadMappings() not implemented on target platform"); + return 0; +} + +// Set mouse position XY +void SetMousePosition(int x, int y) +{ + RGFW_window_moveMouse(platform.window, RGFW_VECTOR(x, y)); + CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; +} + +// Set mouse cursor +void SetMouseCursor(int cursor) +{ + switch (cursor) { + case MOUSE_CURSOR_DEFAULT: + return RGFW_window_setMouseDefault(platform.window); + case MOUSE_CURSOR_ARROW: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_ARROW); + case MOUSE_CURSOR_IBEAM: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_IBEAM); + case MOUSE_CURSOR_CROSSHAIR: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_CROSSHAIR); + case MOUSE_CURSOR_POINTING_HAND: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_POINTING_HAND); + case MOUSE_CURSOR_RESIZE_EW: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_RESIZE_EW); + case MOUSE_CURSOR_RESIZE_NS: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_RESIZE_NS); + #ifndef RGFW_MACOS + case MOUSE_CURSOR_RESIZE_NWSE: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_RESIZE_NWSE); + case MOUSE_CURSOR_RESIZE_NESW: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_RESIZE_NESW); + #endif + case MOUSE_CURSOR_RESIZE_ALL: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_RESIZE_ALL); + case MOUSE_CURSOR_NOT_ALLOWED: + return RGFW_window_setMouseStandard(platform.window, RGFW_MOUSE_NOT_ALLOWED); + default: + break; + } +} + +static KeyboardKey ConvertScancodeToKey(u32 keycode); + +// Register all input events +void PollInputEvents(void) +{ +#if defined(SUPPORT_GESTURES_SYSTEM) + // NOTE: Gestures update must be called every frame to reset gestures correctly + // because ProcessGestureEvent() is just called on an event, not every frame + UpdateGestures(); +#endif + + // Reset keys/chars pressed registered + CORE.Input.Keyboard.keyPressedQueueCount = 0; + CORE.Input.Keyboard.charPressedQueueCount = 0; + + // Reset mouse wheel + CORE.Input.Mouse.currentWheelMove.x = 0; + CORE.Input.Mouse.currentWheelMove.y = 0; + + // Register previous mouse position + + // Reset last gamepad button/axis registered state + + for (int i = 0; (i < 4) && (i < MAX_GAMEPADS); i++) + { + // Check if gamepad is available + if (CORE.Input.Gamepad.ready[i]) + { + // Register previous gamepad button states + for (int k = 0; k < MAX_GAMEPAD_BUTTONS; k++) + { + CORE.Input.Gamepad.previousButtonState[i][k] = CORE.Input.Gamepad.currentButtonState[i][k]; + } + } + } + + // Register previous touch states + for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i]; + + // Map touch position to mouse position for convenience + CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; + + int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE + bool realTouch = false; // Flag to differentiate real touch gestures from mouse ones + + // Register previous keys states + // NOTE: Android supports up to 260 keys + for (int i = 0; i < MAX_KEYBOARD_KEYS; i++) + { + CORE.Input.Keyboard.previousKeyState[i] = CORE.Input.Keyboard.currentKeyState[i]; + CORE.Input.Keyboard.keyRepeatInFrame[i] = 0; + } + + // Register previous mouse states + for (int i = 0; i < MAX_MOUSE_BUTTONS; i++) + CORE.Input.Mouse.previousButtonState[i] = CORE.Input.Mouse.currentButtonState[i]; + + // Poll input events for current platform + //----------------------------------------------------------------------------- + CORE.Window.resizedLastFrame = false; + + + #define RGFW_HOLD_MOUSE (1L<<2) + #if defined(RGFW_X11) //|| defined(RGFW_MACOS) + if (platform.window->src.winArgs & RGFW_HOLD_MOUSE) + { + CORE.Input.Mouse.previousPosition = (Vector2){ 0.0f, 0.0f }; + CORE.Input.Mouse.currentPosition = (Vector2){ 0.0f, 0.0f }; + } + else { + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; + } + #endif + + while (RGFW_window_checkEvent(platform.window)) + { + + if (platform.window->event.type >= RGFW_jsButtonPressed && platform.window->event.type <= RGFW_jsAxisMove) { + if (!CORE.Input.Gamepad.ready[platform.window->event.joystick]) + { + CORE.Input.Gamepad.ready[platform.window->event.joystick] = true; + CORE.Input.Gamepad.axisCount[platform.window->event.joystick] = platform.window->event.axisesCount; + CORE.Input.Gamepad.name[platform.window->event.joystick][0] = '\0'; + CORE.Input.Gamepad.axisState[platform.window->event.joystick][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f; + CORE.Input.Gamepad.axisState[platform.window->event.joystick][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f; + } + } + + RGFW_Event* event = &platform.window->event; + + // All input events can be processed after polling + switch (event->type) + { + case RGFW_quit: CORE.Window.shouldClose = true; break; + + case RGFW_dnd: // Dropped file + { + size_t i; + for (i = 0; i < event->droppedFilesCount; i++) { + if (CORE.Window.dropFileCount == 0) + { + // When a new file is dropped, we reserve a fixed number of slots for all possible dropped files + // at the moment we limit the number of drops at once to 1024 files but this behaviour should probably be reviewed + // TODO: Pointers should probably be reallocated for any new file added... + CORE.Window.dropFilepaths = (char **)RL_CALLOC(1024, sizeof(char *)); + + CORE.Window.dropFilepaths[CORE.Window.dropFileCount] = (char *)RL_CALLOC(MAX_FILEPATH_LENGTH, sizeof(char)); + strcpy(CORE.Window.dropFilepaths[CORE.Window.dropFileCount], event->droppedFiles[i]); + + CORE.Window.dropFileCount++; + } + else if (CORE.Window.dropFileCount < 1024) + { + CORE.Window.dropFilepaths[CORE.Window.dropFileCount] = (char *)RL_CALLOC(MAX_FILEPATH_LENGTH, sizeof(char)); + strcpy(CORE.Window.dropFilepaths[CORE.Window.dropFileCount], event->droppedFiles[i]); + + CORE.Window.dropFileCount++; + } + else TRACELOG(LOG_WARNING, "FILE: Maximum drag and drop files at once is limited to 1024 files!"); + } + } break; + + // Window events are also polled (Minimized, maximized, close...) + case RGFW_windowAttribsChange: + { + SetupViewport(platform.window->r.w, platform.window->r.h); + CORE.Window.position.x = platform.window->r.x; + CORE.Window.position.y = platform.window->r.x; + CORE.Window.screen.width = platform.window->r.w; + CORE.Window.screen.height = platform.window->r.h; + CORE.Window.currentFbo.width = platform.window->r.w;; + CORE.Window.currentFbo.height = platform.window->r.h; + CORE.Window.resizedLastFrame = true; + } break; + + // Keyboard events + case RGFW_keyPressed: + { + KeyboardKey key = ConvertScancodeToKey(event->keyCode); + + if (key != KEY_NULL) { + // If key was up, add it to the key pressed queue + if ((CORE.Input.Keyboard.currentKeyState[key] == 0) && (CORE.Input.Keyboard.keyPressedQueueCount < MAX_KEY_PRESSED_QUEUE)) + { + CORE.Input.Keyboard.keyPressedQueue[CORE.Input.Keyboard.keyPressedQueueCount] = key; + CORE.Input.Keyboard.keyPressedQueueCount++; + } + + CORE.Input.Keyboard.currentKeyState[key] = 1; + } + + // TODO: Put exitKey verification outside the switch? + if (CORE.Input.Keyboard.currentKeyState[CORE.Input.Keyboard.exitKey]) + { + CORE.Window.shouldClose = true; + } + + // NOTE: event.text.text data comes an UTF-8 text sequence but we register codepoints (int) + // Check if there is space available in the queue + if (CORE.Input.Keyboard.charPressedQueueCount < MAX_CHAR_PRESSED_QUEUE) + { + // Add character (codepoint) to the queue + CORE.Input.Keyboard.charPressedQueue[CORE.Input.Keyboard.charPressedQueueCount] = RGFW_keystrToChar(event->keyName); + CORE.Input.Keyboard.charPressedQueueCount++; + } + } break; + + case RGFW_keyReleased: + { + KeyboardKey key = ConvertScancodeToKey(event->keyCode); + if (key != KEY_NULL) CORE.Input.Keyboard.currentKeyState[key] = 0; + } break; + + // Check mouse events + case RGFW_mouseButtonPressed: + { + if (event->button == RGFW_mouseScrollUp || event->button == RGFW_mouseScrollDown) { + CORE.Input.Mouse.currentWheelMove.y = event->scroll; + break; + } + + int btn = event->button; + if (btn == RGFW_mouseLeft) btn = 1; + else if (btn == RGFW_mouseRight) btn = 2; + else if (btn == RGFW_mouseMiddle) btn = 3; + + CORE.Input.Mouse.currentButtonState[btn - 1] = 1; + CORE.Input.Touch.currentTouchState[btn - 1] = 1; + + touchAction = 1; + } break; + case RGFW_mouseButtonReleased: + { + + if (event->button == RGFW_mouseScrollUp || event->button == RGFW_mouseScrollDown) { + CORE.Input.Mouse.currentWheelMove.y = event->scroll; + break; + } + + int btn = event->button; + if (btn == RGFW_mouseLeft) btn = 1; + else if (btn == RGFW_mouseRight) btn = 2; + else if (btn == RGFW_mouseMiddle) btn = 3; + + CORE.Input.Mouse.currentButtonState[btn - 1] = 0; + CORE.Input.Touch.currentTouchState[btn - 1] = 0; + + touchAction = 0; + } break; + case RGFW_mousePosChanged: + { + if (platform.window->src.winArgs & RGFW_HOLD_MOUSE) { + + CORE.Input.Mouse.previousPosition = (Vector2){ 0.0f, 0.0f }; + + if ((event->point.x - (platform.window->r.w / 2)) * 2) + CORE.Input.Mouse.previousPosition.x = CORE.Input.Mouse.currentPosition.x; + if ((event->point.y - (platform.window->r.h / 2)) * 2) + CORE.Input.Mouse.previousPosition.y = CORE.Input.Mouse.currentPosition.y; + + CORE.Input.Mouse.currentPosition.x = (event->point.x - (platform.window->r.w / 2)) * 2; + CORE.Input.Mouse.currentPosition.y = (event->point.y - (platform.window->r.h / 2)) * 2; + + RGFW_window_showMouse(platform.window, 1); + } + else { + CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; + CORE.Input.Mouse.currentPosition.x = (float)event->point.x; + CORE.Input.Mouse.currentPosition.y = (float)event->point.y; + } + + CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; + touchAction = 2; + } break; + + case RGFW_jsButtonPressed: + { + int button = -1; + + switch (event->button) + { + case RGFW_JS_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; + case RGFW_JS_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; + case RGFW_JS_A: button = GAMEPAD_BUTTON_RIGHT_FACE_DOWN; break; + case RGFW_JS_X: button = GAMEPAD_BUTTON_RIGHT_FACE_LEFT; break; + + case RGFW_JS_L1: button = GAMEPAD_BUTTON_LEFT_TRIGGER_1; break; + case RGFW_JS_R1: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_1; break; + + case RGFW_JS_L2: button = GAMEPAD_BUTTON_LEFT_TRIGGER_2; break; + case RGFW_JS_R2: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_2; break; + + case RGFW_JS_SELECT: button = GAMEPAD_BUTTON_MIDDLE_LEFT; break; + case RGFW_JS_HOME: button = GAMEPAD_BUTTON_MIDDLE; break; + case RGFW_JS_START: button = GAMEPAD_BUTTON_MIDDLE_RIGHT; break; + + case RGFW_JS_UP: button = GAMEPAD_BUTTON_LEFT_FACE_UP; break; + case RGFW_JS_RIGHT: button = GAMEPAD_BUTTON_LEFT_FACE_RIGHT; break; + case RGFW_JS_DOWN: button = GAMEPAD_BUTTON_LEFT_FACE_DOWN; break; + case RGFW_JS_LEFT: button = GAMEPAD_BUTTON_LEFT_FACE_LEFT; break; + + default: break; + } + + if (button >= 0) + { + CORE.Input.Gamepad.currentButtonState[event->joystick][button] = 1; + CORE.Input.Gamepad.lastButtonPressed = button; + } + } break; + case RGFW_jsButtonReleased: + { + int button = -1; + switch (event->button) + { + case RGFW_JS_Y: button = GAMEPAD_BUTTON_RIGHT_FACE_UP; break; + case RGFW_JS_B: button = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT; break; + case RGFW_JS_A: button = GAMEPAD_BUTTON_RIGHT_FACE_DOWN; break; + case RGFW_JS_X: button = GAMEPAD_BUTTON_RIGHT_FACE_LEFT; break; + + case RGFW_JS_L1: button = GAMEPAD_BUTTON_LEFT_TRIGGER_1; break; + case RGFW_JS_R1: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_1; break; + + case RGFW_JS_L2: button = GAMEPAD_BUTTON_LEFT_TRIGGER_2; break; + case RGFW_JS_R2: button = GAMEPAD_BUTTON_RIGHT_TRIGGER_2; break; + + case RGFW_JS_SELECT: button = GAMEPAD_BUTTON_MIDDLE_LEFT; break; + case RGFW_JS_HOME: button = GAMEPAD_BUTTON_MIDDLE; break; + case RGFW_JS_START: button = GAMEPAD_BUTTON_MIDDLE_RIGHT; break; + + case RGFW_JS_UP: button = GAMEPAD_BUTTON_LEFT_FACE_UP; break; + case RGFW_JS_RIGHT: button = GAMEPAD_BUTTON_LEFT_FACE_RIGHT; break; + case RGFW_JS_DOWN: button = GAMEPAD_BUTTON_LEFT_FACE_DOWN; break; + case RGFW_JS_LEFT: button = GAMEPAD_BUTTON_LEFT_FACE_LEFT; break; + default: break; + } + + if (button >= 0) + { + CORE.Input.Gamepad.currentButtonState[event->joystick][button] = 0; + if (CORE.Input.Gamepad.lastButtonPressed == button) CORE.Input.Gamepad.lastButtonPressed = 0; + } + } break; + case RGFW_jsAxisMove: + { + int axis = -1; + + size_t i; + for (i = 0; i < event->axisesCount; i++) + { + switch(i) { + case 0: + if (abs(event->axis[i].x) > abs(event->axis[i].y)) { + axis = GAMEPAD_AXIS_LEFT_X; + break; + } + + axis = GAMEPAD_AXIS_LEFT_Y; + break; + case 1: + if (abs(event->axis[i].x) > abs(event->axis[i].y)) { + axis = GAMEPAD_AXIS_RIGHT_X; break; + } + + axis = GAMEPAD_AXIS_RIGHT_Y; break; + case 2: axis = GAMEPAD_AXIS_LEFT_TRIGGER; break; + case 3: axis = GAMEPAD_AXIS_RIGHT_TRIGGER; break; + default: break; + } + + #ifdef __linux__ + float value = (event->axis[i].x + event->axis[i].y) / (float) 32767; + #else + float value = (event->axis[i].x + -event->axis[i].y) / (float) 32767; + #endif + CORE.Input.Gamepad.axisState[event->joystick][axis] = value; + + // Register button state for triggers in addition to their axes + if ((axis == GAMEPAD_AXIS_LEFT_TRIGGER) || (axis == GAMEPAD_AXIS_RIGHT_TRIGGER)) + { + int button = (axis == GAMEPAD_AXIS_LEFT_TRIGGER) ? GAMEPAD_BUTTON_LEFT_TRIGGER_2 : GAMEPAD_BUTTON_RIGHT_TRIGGER_2; + int pressed = (value > 0.1f); + CORE.Input.Gamepad.currentButtonState[event->joystick][button] = pressed; + if (pressed) CORE.Input.Gamepad.lastButtonPressed = button; + else if (CORE.Input.Gamepad.lastButtonPressed == button) CORE.Input.Gamepad.lastButtonPressed = 0; + } + } + } break; + default: break; + } + +#if defined(SUPPORT_GESTURES_SYSTEM) + if (touchAction > -1) + { + // Process mouse events as touches to be able to use mouse-gestures + GestureEvent gestureEvent = { 0 }; + + // Register touch actions + gestureEvent.touchAction = touchAction; + + // Assign a pointer ID + gestureEvent.pointId[0] = 0; + + // Register touch points count + gestureEvent.pointCount = 1; + + // Register touch points position, only one point registered + if (touchAction == 2 || realTouch) gestureEvent.position[0] = CORE.Input.Touch.position[0]; + else gestureEvent.position[0] = GetMousePosition(); + + // Normalize gestureEvent.position[0] for CORE.Window.screen.width and CORE.Window.screen.height + gestureEvent.position[0].x /= (float)GetScreenWidth(); + gestureEvent.position[0].y /= (float)GetScreenHeight(); + + // Gesture data is sent to gestures-system for processing + ProcessGestureEvent(gestureEvent); + + touchAction = -1; + } +#endif + } + //----------------------------------------------------------------------------- +} + + +//---------------------------------------------------------------------------------- +// Module Internal Functions Definition +//---------------------------------------------------------------------------------- + +// Initialize platform: graphics, inputs and more +int InitPlatform(void) +{ + // TODO: Initialize graphic device: display/window + // It usually requires setting up the platform display system configuration + // and connexion with the GPU through some system graphic API + // raylib uses OpenGL so, platform should create that kind of connection + // Below example illustrates that process using EGL library + //---------------------------------------------------------------------------- + // Initialize RGFW internal global state, only required systems + // Initialize graphic device: display/window and graphic context + //---------------------------------------------------------------------------- + unsigned int flags = RGFW_CENTER | RGFW_ALLOW_DND; + + // Check window creation flags + if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) > 0) + { + CORE.Window.fullscreen = true; + flags |= RGFW_FULLSCREEN; + } + + if ((CORE.Window.flags & FLAG_WINDOW_UNDECORATED) > 0) flags |= RGFW_NO_BORDER; + if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) == 0) flags |= RGFW_NO_RESIZE; + + if ((CORE.Window.flags & FLAG_WINDOW_TRANSPARENT) > 0) flags |= RGFW_TRANSPARENT_WINDOW; + + if ((CORE.Window.flags & FLAG_FULLSCREEN_MODE) > 0) flags |= RGFW_FULLSCREEN; + + // NOTE: Some OpenGL context attributes must be set before window creation + + // Check selection OpenGL version + if (rlGetVersion() == RL_OPENGL_21) + { + RGFW_setGLVersion(2, 1); + } + else if (rlGetVersion() == RL_OPENGL_33) + { + RGFW_setGLVersion(3, 3); + } + else if (rlGetVersion() == RL_OPENGL_43) + { + RGFW_setGLVersion(4, 1); + } + + if (CORE.Window.flags & FLAG_MSAA_4X_HINT) + { + RGFW_setGLSamples(4); + } + + platform.window = RGFW_createWindow(CORE.Window.title, RGFW_RECT(0, 0, CORE.Window.screen.width, CORE.Window.screen.height), flags); + + if (CORE.Window.flags & FLAG_VSYNC_HINT) + RGFW_window_swapInterval(platform.window, 1); + + RGFW_window_makeCurrent(platform.window); + + // Check surface and context activation + if (platform.window != NULL) + { + CORE.Window.ready = true; + + CORE.Window.render.width = CORE.Window.screen.width; + CORE.Window.render.height = CORE.Window.screen.height; + CORE.Window.currentFbo.width = CORE.Window.render.width; + CORE.Window.currentFbo.height = CORE.Window.render.height; + + TRACELOG(LOG_INFO, "DISPLAY: Device initialized successfully"); + TRACELOG(LOG_INFO, " > Display size: %i x %i", CORE.Window.display.width, CORE.Window.display.height); + TRACELOG(LOG_INFO, " > Screen size: %i x %i", CORE.Window.screen.width, CORE.Window.screen.height); + TRACELOG(LOG_INFO, " > Render size: %i x %i", CORE.Window.render.width, CORE.Window.render.height); + TRACELOG(LOG_INFO, " > Viewport offsets: %i, %i", CORE.Window.renderOffset.x, CORE.Window.renderOffset.y); + } + else + { + TRACELOG(LOG_FATAL, "PLATFORM: Failed to initialize graphics device"); + return -1; + } + //---------------------------------------------------------------------------- + + // If everything work as expected, we can continue + CORE.Window.position.x = platform.window->r.x; + CORE.Window.position.y = platform.window->r.y; + CORE.Window.render.width = CORE.Window.screen.width; + CORE.Window.render.height = CORE.Window.screen.height; + CORE.Window.currentFbo.width = CORE.Window.render.width; + CORE.Window.currentFbo.height = CORE.Window.render.height; + + TRACELOG(LOG_INFO, "DISPLAY: Device initialized successfully"); + TRACELOG(LOG_INFO, " > Display size: %i x %i", CORE.Window.display.width, CORE.Window.display.height); + TRACELOG(LOG_INFO, " > Screen size: %i x %i", CORE.Window.screen.width, CORE.Window.screen.height); + TRACELOG(LOG_INFO, " > Render size: %i x %i", CORE.Window.render.width, CORE.Window.render.height); + TRACELOG(LOG_INFO, " > Viewport offsets: %i, %i", CORE.Window.renderOffset.x, CORE.Window.renderOffset.y); + + // TODO: Load OpenGL extensions + // NOTE: GL procedures address loader is required to load extensions + //---------------------------------------------------------------------------- + rlLoadExtensions((void*)RGFW_getProcAddress); + //---------------------------------------------------------------------------- + + // TODO: Initialize input events system + // It could imply keyboard, mouse, gamepad, touch... + // Depending on the platform libraries/SDK it could use a callback mechanism + // For system events and inputs evens polling on a per-frame basis, use PollInputEvents() + //---------------------------------------------------------------------------- + // ... + //---------------------------------------------------------------------------- + + // TODO: Initialize timing system + //---------------------------------------------------------------------------- + InitTimer(); + //---------------------------------------------------------------------------- + + // TODO: Initialize storage system + //---------------------------------------------------------------------------- + CORE.Storage.basePath = GetWorkingDirectory(); + //---------------------------------------------------------------------------- + + #ifdef RGFW_X11 + for (int i = 0; (i < 4) && (i < MAX_GAMEPADS); i++) + { + RGFW_registerJoystick(platform.window, i); + } + #endif + + TRACELOG(LOG_INFO, "PLATFORM: CUSTOM: Initialized successfully"); + + return 0; +} + +// Close platform +void ClosePlatform(void) +{ + RGFW_window_close(platform.window); + // TODO: De-initialize graphics, inputs and more +} + + +static KeyboardKey ConvertScancodeToKey(u32 keycode) { + switch (keycode) { + case RGFW_Quote: + return KEY_APOSTROPHE; + case RGFW_Comma: + return KEY_COMMA; + case RGFW_Minus: + return KEY_MINUS; + case RGFW_Period: + return KEY_PERIOD; + case RGFW_Slash: + return KEY_SLASH; + case RGFW_Escape: + return KEY_ESCAPE; + case RGFW_F1: + return KEY_F1; + case RGFW_F2: + return KEY_F2; + case RGFW_F3: + return KEY_F3; + case RGFW_F4: + return KEY_F4; + case RGFW_F5: + return KEY_F5; + case RGFW_F6: + return KEY_F6; + case RGFW_F7: + return KEY_F7; + case RGFW_F8: + return KEY_F8; + case RGFW_F9: + return KEY_F9; + case RGFW_F10: + return KEY_F10; + case RGFW_F11: + return KEY_F11; + case RGFW_F12: + return KEY_F12; + case RGFW_Backtick: + return KEY_GRAVE; + case RGFW_0: + return KEY_ZERO; + case RGFW_1: + return KEY_ONE; + case RGFW_2: + return KEY_TWO; + case RGFW_3: + return KEY_THREE; + case RGFW_4: + return KEY_FOUR; + case RGFW_5: + return KEY_FIVE; + case RGFW_6: + return KEY_SIX; + case RGFW_7: + return KEY_SEVEN; + case RGFW_8: + return KEY_EIGHT; + case RGFW_9: + return KEY_NINE; + case RGFW_Equals: + return KEY_EQUAL; + case RGFW_BackSpace: + return KEY_BACKSPACE; + case RGFW_Tab: + return KEY_TAB; + case RGFW_CapsLock: + return KEY_CAPS_LOCK; + case RGFW_ShiftL: + return KEY_LEFT_SHIFT; + case RGFW_ControlL: + return KEY_LEFT_CONTROL; + case RGFW_AltL: + return KEY_LEFT_ALT; + case RGFW_SuperL: + return KEY_LEFT_SUPER; + #ifndef RGFW_MACOS + case RGFW_ShiftR: + return KEY_RIGHT_SHIFT; + + case RGFW_AltR: + return KEY_RIGHT_ALT; + #endif + case RGFW_Space: + return KEY_SPACE; + + #ifdef RGFW_X11 + case RGFW_a: + #endif + + case RGFW_A: + return KEY_A; + + #ifdef RGFW_X11 + case RGFW_b: + #endif + + case RGFW_B: + return KEY_B; + + #ifdef RGFW_X11 + case RGFW_c: + #endif + + case RGFW_C: + return KEY_C; + + #ifdef RGFW_X11 + case RGFW_d: + #endif + + case RGFW_D: + return KEY_D; + + #ifdef RGFW_X11 + case RGFW_e: + #endif + + case RGFW_E: + return KEY_E; + + #ifdef RGFW_X11 + case RGFW_f: + #endif + + case RGFW_F: + return KEY_F; + + #ifdef RGFW_X11 + case RGFW_g: + #endif + + case RGFW_G: + return KEY_G; + + #ifdef RGFW_X11 + case RGFW_h: + #endif + + case RGFW_H: + return KEY_H; + + #ifdef RGFW_X11 + case RGFW_i: + #endif + + case RGFW_I: + return KEY_I; + + #ifdef RGFW_X11 + case RGFW_j: + #endif + + case RGFW_J: + return KEY_J; + + #ifdef RGFW_X11 + case RGFW_k: + #endif + + case RGFW_K: + return KEY_K; + + #ifdef RGFW_X11 + case RGFW_l: + #endif + + case RGFW_L: + return KEY_L; + + #ifdef RGFW_X11 + case RGFW_m: + #endif + + case RGFW_M: + return KEY_M; + + #ifdef RGFW_X11 + case RGFW_n: + #endif + + case RGFW_N: + return KEY_N; + + #ifdef RGFW_X11 + case RGFW_o: + #endif + + case RGFW_O: + return KEY_O; + + #ifdef RGFW_X11 + case RGFW_p: + #endif + + case RGFW_P: + return KEY_P; + + #ifdef RGFW_X11 + case RGFW_q: + #endif + + case RGFW_Q: + return KEY_Q; + + #ifdef RGFW_X11 + case RGFW_r: + #endif + + case RGFW_R: + return KEY_R; + + #ifdef RGFW_X11 + case RGFW_s: + #endif + + case RGFW_S: + return KEY_S; + + #ifdef RGFW_X11 + case RGFW_t: + #endif + + case RGFW_T: + return KEY_T; + + #ifdef RGFW_X11 + case RGFW_u: + #endif + + case RGFW_U: + return KEY_U; + + #ifdef RGFW_X11 + case RGFW_v: + #endif + + case RGFW_V: + return KEY_V; + + #ifdef RGFW_X11 + case RGFW_w: + #endif + + case RGFW_W: + return KEY_W; + + #ifdef RGFW_X11 + case RGFW_x: + #endif + + case RGFW_X: + return KEY_X; + + #ifdef RGFW_X11 + case RGFW_y: + #endif + + case RGFW_Y: + return KEY_Y; + + #ifdef RGFW_X11 + case RGFW_z: + #endif + + case RGFW_Z: + return KEY_Z; + case RGFW_Bracket: + return KEY_LEFT_BRACKET; + case RGFW_BackSlash: + return KEY_BACKSLASH; + case RGFW_CloseBracket: + return KEY_RIGHT_BRACKET; + case RGFW_Semicolon: + return KEY_SEMICOLON; + case RGFW_Insert: + return KEY_INSERT; + case RGFW_Home: + return KEY_HOME; + case RGFW_PageUp: + return KEY_PAGE_UP; + case RGFW_Delete: + return KEY_DELETE; + case RGFW_End: + return KEY_END; + case RGFW_PageDown: + return KEY_PAGE_DOWN; + case RGFW_Right: + return KEY_RIGHT; + case RGFW_Left: + return KEY_LEFT; + case RGFW_Down: + return KEY_DOWN; + case RGFW_Up: + return KEY_UP; + case RGFW_Numlock: + return KEY_NUM_LOCK; + case RGFW_KP_Slash: + return KEY_KP_DIVIDE; + case RGFW_Multiply: + return KEY_KP_MULTIPLY; + case RGFW_KP_Minus: + return KEY_KP_SUBTRACT; + case RGFW_KP_Return: + return KEY_KP_ENTER; + case RGFW_KP_1: + return KEY_KP_1; + case RGFW_KP_2: + return KEY_KP_2; + case RGFW_KP_3: + return KEY_KP_3; + case RGFW_KP_4: + return KEY_KP_4; + case RGFW_KP_5: + return KEY_KP_5; + case RGFW_KP_6: + return KEY_KP_6; + case RGFW_KP_7: + return KEY_KP_7; + case RGFW_KP_8: + return KEY_KP_8; + case RGFW_KP_9: + return KEY_KP_9; + case RGFW_KP_0: + return KEY_KP_0; + case RGFW_KP_Period: + return KEY_KP_DECIMAL; + default: + return 0; + } + + return 0; +} +// EOF \ No newline at end of file diff --git a/src/rcore.c b/src/rcore.c index b229589f7..1db865187 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -154,13 +154,15 @@ #endif // Platform specific defines to handle GetApplicationDirectory() -#if defined(_WIN32) +#if (defined(_WIN32) && !defined(PLATFORM_DESKTOP_RGFW)) || (defined(_MSC_VER) && defined(PLATFORM_DESKTOP_RGFW)) #ifndef MAX_PATH #define MAX_PATH 1025 #endif __declspec(dllimport) unsigned long __stdcall GetModuleFileNameA(void *hModule, void *lpFilename, unsigned long nSize); __declspec(dllimport) unsigned long __stdcall GetModuleFileNameW(void *hModule, void *lpFilename, unsigned long nSize); __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, void *widestr, int cchwide, void *str, int cbmb, void *defchar, int *used_default); +unsigned int __stdcall timeBeginPeriod(unsigned int uPeriod); +unsigned int __stdcall timeEndPeriod(unsigned int uPeriod); #elif defined(__linux__) #include #elif defined(__APPLE__) @@ -482,7 +484,7 @@ static void ScanDirectoryFilesRecursively(const char *basePath, FilePathList *li static void RecordAutomationEvent(void); // Record frame events (to internal events array) #endif -#if defined(_WIN32) +#if defined(_WIN32) && !defined(PLATFORM_DESKTOP_RGFW) // NOTE: We declare Sleep() function symbol to avoid including windows.h (kernel32.lib linkage required) void __stdcall Sleep(unsigned long msTimeout); // Required for: WaitTime() #endif @@ -496,6 +498,8 @@ const char *TextFormat(const char *text, ...); // Formatting of tex #include "platforms/rcore_desktop.c" #elif defined(PLATFORM_DESKTOP_SDL) #include "platforms/rcore_desktop_sdl.c" +#elif defined(PLATFORM_DESKTOP_RGFW) + #include "platforms/rcore_desktop_rgfw.c" #elif defined(PLATFORM_WEB) #include "platforms/rcore_web.c" #elif defined(PLATFORM_DRM) From 08ae888722e6ee6c54555ed33c0db9f9e691b2e1 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 7 May 2024 20:40:41 +0200 Subject: [PATCH 276/745] Update Makefile --- examples/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Makefile b/examples/Makefile index 52945c4b4..3c39e09e5 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -50,7 +50,7 @@ # Define required environment variables #------------------------------------------------------------------------------------------------ # Define target platform: PLATFORM_DESKTOP, PLATFORM_DESKTOP_SDL, PLATFORM_DRM, PLATFORM_ANDROID, PLATFORM_WEB -PLATFORM ?= PLATFORM_DESKTOP_RGFW +PLATFORM ?= PLATFORM_DESKTOP # Define required raylib variables PROJECT_NAME ?= raylib_examples From 1aa35591555ff3d0338e57d4ad320b437f52531b Mon Sep 17 00:00:00 2001 From: veins1 <19636663+veins1@users.noreply.github.com> Date: Tue, 7 May 2024 23:44:41 +0500 Subject: [PATCH 277/745] Fixes for loading Music (#3966) * Fixes for loading Music Fix for #3889 Fixes for QOA crashes. Memory leak FIX on unsuccessful .wav loading. * Added comments --- src/raudio.c | 193 +++++++++++++++++++++++++-------------------------- 1 file changed, 96 insertions(+), 97 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 032cfadeb..9d7c39a5b 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1334,11 +1334,10 @@ Music LoadMusicStream(const char *fileName) drwav *ctxWav = RL_CALLOC(1, sizeof(drwav)); bool success = drwav_init_file(ctxWav, fileName, NULL); - music.ctxType = MUSIC_AUDIO_WAV; - music.ctxData = ctxWav; - if (success) { + music.ctxType = MUSIC_AUDIO_WAV; + music.ctxData = ctxWav; int sampleSize = ctxWav->bitsPerSample; if (ctxWav->bitsPerSample == 24) sampleSize = 16; // Forcing conversion to s16 on UpdateMusicStream() @@ -1347,17 +1346,23 @@ Music LoadMusicStream(const char *fileName) music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + drwav_uninit(ctxWav); + RL_FREE(ctxWav); + } } #endif #if defined(SUPPORT_FILEFORMAT_OGG) else if (IsFileExtension(fileName, ".ogg")) { // Open ogg audio stream - music.ctxType = MUSIC_AUDIO_OGG; - music.ctxData = stb_vorbis_open_filename(fileName, NULL, NULL); + stb_vorbis *ctxOgg = stb_vorbis_open_filename(fileName, NULL, NULL); - if (music.ctxData != NULL) + if (ctxOgg != NULL) { + music.ctxType = MUSIC_AUDIO_OGG; + music.ctxData = ctxOgg; stb_vorbis_info info = stb_vorbis_get_info((stb_vorbis *)music.ctxData); // Get Ogg file info // OGG bit rate defaults to 16 bit, it's enough for compressed format @@ -1368,6 +1373,10 @@ Music LoadMusicStream(const char *fileName) music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + stb_vorbis_close(ctxOgg); + } } #endif #if defined(SUPPORT_FILEFORMAT_MP3) @@ -1376,27 +1385,30 @@ Music LoadMusicStream(const char *fileName) drmp3 *ctxMp3 = RL_CALLOC(1, sizeof(drmp3)); int result = drmp3_init_file(ctxMp3, fileName, NULL); - music.ctxType = MUSIC_AUDIO_MP3; - music.ctxData = ctxMp3; - if (result > 0) { + music.ctxType = MUSIC_AUDIO_MP3; + music.ctxData = ctxMp3; music.stream = LoadAudioStream(ctxMp3->sampleRate, 32, ctxMp3->channels); music.frameCount = (unsigned int)drmp3_get_pcm_frame_count(ctxMp3); music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + RL_FREE(ctxMp3); + } } #endif #if defined(SUPPORT_FILEFORMAT_QOA) else if (IsFileExtension(fileName, ".qoa")) { qoaplay_desc *ctxQoa = qoaplay_open(fileName); - music.ctxType = MUSIC_AUDIO_QOA; - music.ctxData = ctxQoa; - if (ctxQoa->file != NULL) + if (ctxQoa != NULL) { + music.ctxType = MUSIC_AUDIO_QOA; + music.ctxData = ctxQoa; // NOTE: We are loading samples are 32bit float normalized data, so, // we configure the output audio stream to also use float 32bit music.stream = LoadAudioStream(ctxQoa->info.samplerate, 32, ctxQoa->info.channels); @@ -1404,23 +1416,27 @@ Music LoadMusicStream(const char *fileName) music.looping = true; // Looping enabled by default musicLoaded = true; } + else{} //No uninit required } #endif #if defined(SUPPORT_FILEFORMAT_FLAC) else if (IsFileExtension(fileName, ".flac")) { - music.ctxType = MUSIC_AUDIO_FLAC; - music.ctxData = drflac_open_file(fileName, NULL); + drflac *ctxFlac = drflac_open_file(fileName, NULL); - if (music.ctxData != NULL) + if (ctxFlac != NULL) { - drflac *ctxFlac = (drflac *)music.ctxData; - + music.ctxType = MUSIC_AUDIO_FLAC; + music.ctxData = ctxFlac; music.stream = LoadAudioStream(ctxFlac->sampleRate, ctxFlac->bitsPerSample, ctxFlac->channels); music.frameCount = (unsigned int)ctxFlac->totalPCMFrameCount; music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + drflac_free(ctxFlac, NULL); + } } #endif #if defined(SUPPORT_FILEFORMAT_XM) @@ -1429,11 +1445,10 @@ Music LoadMusicStream(const char *fileName) jar_xm_context_t *ctxXm = NULL; int result = jar_xm_create_context_from_file(&ctxXm, AUDIO.System.device.sampleRate, fileName); - music.ctxType = MUSIC_MODULE_XM; - music.ctxData = ctxXm; - if (result == 0) // XM AUDIO.System.context created successfully { + music.ctxType = MUSIC_MODULE_XM; + music.ctxData = ctxXm; jar_xm_set_max_loop_count(ctxXm, 0); // Set infinite number of loops unsigned int bits = 32; @@ -1447,6 +1462,10 @@ Music LoadMusicStream(const char *fileName) jar_xm_reset(ctxXm); // Make sure we start at the beginning of the song musicLoaded = true; } + else + { + jar_xm_free_context(ctxXm); + } } #endif #if defined(SUPPORT_FILEFORMAT_MOD) @@ -1456,48 +1475,27 @@ Music LoadMusicStream(const char *fileName) jar_mod_init(ctxMod); int result = jar_mod_load_file(ctxMod, fileName); - music.ctxType = MUSIC_MODULE_MOD; - music.ctxData = ctxMod; - if (result > 0) { + music.ctxType = MUSIC_MODULE_MOD; + music.ctxData = ctxMod; // NOTE: Only stereo is supported for MOD music.stream = LoadAudioStream(AUDIO.System.device.sampleRate, 16, AUDIO_DEVICE_CHANNELS); music.frameCount = (unsigned int)jar_mod_max_samples(ctxMod); // NOTE: Always 2 channels (stereo) music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + jar_mod_unload(ctxMod); + RL_FREE(ctxMod); + } } #endif else TRACELOG(LOG_WARNING, "STREAM: [%s] File format not supported", fileName); if (!musicLoaded) { - if (false) { } - #if defined(SUPPORT_FILEFORMAT_WAV) - else if (music.ctxType == MUSIC_AUDIO_WAV) drwav_uninit((drwav *)music.ctxData); - #endif - #if defined(SUPPORT_FILEFORMAT_OGG) - else if (music.ctxType == MUSIC_AUDIO_OGG) stb_vorbis_close((stb_vorbis *)music.ctxData); - #endif - #if defined(SUPPORT_FILEFORMAT_MP3) - else if (music.ctxType == MUSIC_AUDIO_MP3) { drmp3_uninit((drmp3 *)music.ctxData); RL_FREE(music.ctxData); } - #endif - #if defined(SUPPORT_FILEFORMAT_QOA) - else if (music.ctxType == MUSIC_AUDIO_QOA) qoaplay_close((qoaplay_desc *)music.ctxData); - #endif - #if defined(SUPPORT_FILEFORMAT_FLAC) - else if (music.ctxType == MUSIC_AUDIO_FLAC) drflac_free((drflac *)music.ctxData, NULL); - #endif - #if defined(SUPPORT_FILEFORMAT_XM) - else if (music.ctxType == MUSIC_MODULE_XM) jar_xm_free_context((jar_xm_context_t *)music.ctxData); - #endif - #if defined(SUPPORT_FILEFORMAT_MOD) - else if (music.ctxType == MUSIC_MODULE_MOD) { jar_mod_unload((jar_mod_context_t *)music.ctxData); RL_FREE(music.ctxData); } - #endif - - music.ctxData = NULL; - music.ctxType = MUSIC_AUDIO_NONE; TRACELOG(LOG_WARNING, "FILEIO: [%s] Music file could not be opened", fileName); } else @@ -1528,11 +1526,10 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, bool success = drwav_init_memory(ctxWav, (const void *)data, dataSize, NULL); - music.ctxType = MUSIC_AUDIO_WAV; - music.ctxData = ctxWav; - if (success) { + music.ctxType = MUSIC_AUDIO_WAV; + music.ctxData = ctxWav; int sampleSize = ctxWav->bitsPerSample; if (ctxWav->bitsPerSample == 24) sampleSize = 16; // Forcing conversion to s16 on UpdateMusicStream() @@ -1541,18 +1538,22 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, music.looping = true; // Looping enabled by default musicLoaded = true; } + else { + drwav_uninit(ctxWav); + RL_FREE(ctxWav); + } } #endif #if defined(SUPPORT_FILEFORMAT_OGG) else if ((strcmp(fileType, ".ogg") == 0) || (strcmp(fileType, ".OGG") == 0)) { // Open ogg audio stream - music.ctxType = MUSIC_AUDIO_OGG; - //music.ctxData = stb_vorbis_open_filename(fileName, NULL, NULL); - music.ctxData = stb_vorbis_open_memory((const unsigned char *)data, dataSize, NULL, NULL); + stb_vorbis* ctxOgg = stb_vorbis_open_memory((const unsigned char*)data, dataSize, NULL, NULL); - if (music.ctxData != NULL) + if (ctxOgg != NULL) { + music.ctxType = MUSIC_AUDIO_OGG; + music.ctxData = ctxOgg; stb_vorbis_info info = stb_vorbis_get_info((stb_vorbis *)music.ctxData); // Get Ogg file info // OGG bit rate defaults to 16 bit, it's enough for compressed format @@ -1563,6 +1564,10 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + stb_vorbis_close(ctxOgg); + } } #endif #if defined(SUPPORT_FILEFORMAT_MP3) @@ -1571,27 +1576,35 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, drmp3 *ctxMp3 = RL_CALLOC(1, sizeof(drmp3)); int success = drmp3_init_memory(ctxMp3, (const void*)data, dataSize, NULL); - music.ctxType = MUSIC_AUDIO_MP3; - music.ctxData = ctxMp3; - if (success) { + music.ctxType = MUSIC_AUDIO_MP3; + music.ctxData = ctxMp3; music.stream = LoadAudioStream(ctxMp3->sampleRate, 32, ctxMp3->channels); music.frameCount = (unsigned int)drmp3_get_pcm_frame_count(ctxMp3); music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + drmp3_uninit(ctxMp3); + RL_FREE(ctxMp3); + } } #endif #if defined(SUPPORT_FILEFORMAT_QOA) else if ((strcmp(fileType, ".qoa") == 0) || (strcmp(fileType, ".QOA") == 0)) { - qoaplay_desc *ctxQoa = qoaplay_open_memory(data, dataSize); - music.ctxType = MUSIC_AUDIO_QOA; - music.ctxData = ctxQoa; - - if ((ctxQoa->file_data != NULL) && (ctxQoa->file_data_size != 0)) + qoaplay_desc *ctxQoa = NULL; + if ((data != NULL) && (dataSize > 0)) { + ctxQoa = qoaplay_open_memory(data, dataSize); + } + + if (ctxQoa != NULL) + { + music.ctxType = MUSIC_AUDIO_QOA; + music.ctxData = ctxQoa; // NOTE: We are loading samples are 32bit float normalized data, so, // we configure the output audio stream to also use float 32bit music.stream = LoadAudioStream(ctxQoa->info.samplerate, 32, ctxQoa->info.channels); @@ -1599,23 +1612,27 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, music.looping = true; // Looping enabled by default musicLoaded = true; } + else{} //No uninit required } #endif #if defined(SUPPORT_FILEFORMAT_FLAC) else if ((strcmp(fileType, ".flac") == 0) || (strcmp(fileType, ".FLAC") == 0)) { - music.ctxType = MUSIC_AUDIO_FLAC; - music.ctxData = drflac_open_memory((const void*)data, dataSize, NULL); + drflac *ctxFlac = drflac_open_memory((const void*)data, dataSize, NULL); - if (music.ctxData != NULL) + if (ctxFlac != NULL) { - drflac *ctxFlac = (drflac *)music.ctxData; - + music.ctxType = MUSIC_AUDIO_FLAC; + music.ctxData = ctxFlac; music.stream = LoadAudioStream(ctxFlac->sampleRate, ctxFlac->bitsPerSample, ctxFlac->channels); music.frameCount = (unsigned int)ctxFlac->totalPCMFrameCount; music.looping = true; // Looping enabled by default musicLoaded = true; } + else + { + drflac_free(ctxFlac, NULL); + } } #endif #if defined(SUPPORT_FILEFORMAT_XM) @@ -1626,6 +1643,7 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, if (result == 0) // XM AUDIO.System.context created successfully { music.ctxType = MUSIC_MODULE_XM; + music.ctxData = ctxXm; jar_xm_set_max_loop_count(ctxXm, 0); // Set infinite number of loops unsigned int bits = 32; @@ -1638,9 +1656,12 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, music.looping = true; // Looping enabled by default jar_xm_reset(ctxXm); // Make sure we start at the beginning of the song - music.ctxData = ctxXm; musicLoaded = true; } + else + { + jar_xm_free_context(ctxXm); + } } #endif #if defined(SUPPORT_FILEFORMAT_MOD) @@ -1667,15 +1688,18 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, if (result > 0) { music.ctxType = MUSIC_MODULE_MOD; + music.ctxData = ctxMod; // NOTE: Only stereo is supported for MOD music.stream = LoadAudioStream(AUDIO.System.device.sampleRate, 16, 2); music.frameCount = (unsigned int)jar_mod_max_samples(ctxMod); // NOTE: Always 2 channels (stereo) music.looping = true; // Looping enabled by default musicLoaded = true; - - music.ctxData = ctxMod; - musicLoaded = true; + } + else + { + jar_mod_unload(ctxMod); + RL_FREE(ctxMod); } } #endif @@ -1683,31 +1707,6 @@ Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, if (!musicLoaded) { - if (false) { } -#if defined(SUPPORT_FILEFORMAT_WAV) - else if (music.ctxType == MUSIC_AUDIO_WAV) drwav_uninit((drwav *)music.ctxData); -#endif -#if defined(SUPPORT_FILEFORMAT_OGG) - else if (music.ctxType == MUSIC_AUDIO_OGG) stb_vorbis_close((stb_vorbis *)music.ctxData); -#endif -#if defined(SUPPORT_FILEFORMAT_MP3) - else if (music.ctxType == MUSIC_AUDIO_MP3) { drmp3_uninit((drmp3 *)music.ctxData); RL_FREE(music.ctxData); } -#endif -#if defined(SUPPORT_FILEFORMAT_QOA) - else if (music.ctxType == MUSIC_AUDIO_QOA) qoaplay_close((qoaplay_desc *)music.ctxData); -#endif -#if defined(SUPPORT_FILEFORMAT_FLAC) - else if (music.ctxType == MUSIC_AUDIO_FLAC) drflac_free((drflac *)music.ctxData, NULL); -#endif -#if defined(SUPPORT_FILEFORMAT_XM) - else if (music.ctxType == MUSIC_MODULE_XM) jar_xm_free_context((jar_xm_context_t *)music.ctxData); -#endif -#if defined(SUPPORT_FILEFORMAT_MOD) - else if (music.ctxType == MUSIC_MODULE_MOD) { jar_mod_unload((jar_mod_context_t *)music.ctxData); RL_FREE(music.ctxData); } -#endif - - music.ctxData = NULL; - music.ctxType = MUSIC_AUDIO_NONE; TRACELOG(LOG_WARNING, "FILEIO: Music data could not be loaded"); } else From 6ec925554cc5c5297d74b9867331fae421966519 Mon Sep 17 00:00:00 2001 From: Colleague Riley <50218871+ColleagueRiley@users.noreply.github.com> Date: Thu, 9 May 2024 08:18:18 -0400 Subject: [PATCH 278/745] Fix Makefile issues (RGFW) (linux) (macOS) (#3969) Co-authored-by: ColleagueRiley --- src/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Makefile b/src/Makefile index 89d81627a..23742565d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -592,12 +592,12 @@ endif ifeq ($(PLATFORM),PLATFORM_DESKTOP_RGFW) ifeq ($(PLATFORM_OS),WINDOWS) # Libraries for Windows desktop compilation - LDLIBS = ..\src\libraylib.a -lgdi32 -lwinmm -lopengl32 + LDLIBS = -lgdi32 -lwinmm -lopengl32 endif ifeq ($(PLATFORM_OS),LINUX) # Libraries for Debian GNU/Linux desktop compipling # NOTE: Required packages: libegl1-mesa-dev - LDLIBS = ../src/libraylib.a -lGL -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor -lm -lpthread -ldl -lrt + LDLIBS = -lGL -lX11 -lXrandr -lXinerama -lXi -lXcursor -lm -lpthread -ldl -lrt # Explicit link to libc ifeq ($(RAYLIB_LIBTYPE),SHARED) @@ -608,10 +608,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP_RGFW) LDLIBS += -latomic endif ifeq ($(PLATFORM_OS),OSX) - # Libraries for Debian GNU/Linux desktop compiling + # Libraries for Debian MacOS desktop compiling # NOTE: Required packages: libegl1-mesa-dev - LDLIBS = ../src/libraylib.a -lm - LDLIBS += -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo + LDLIBS += -lm -framework Foundation -framework AppKit -framework OpenGL -framework CoreVideo endif endif From 8a5fd3ac1d481ff978363b80298770ed8eeca9f8 Mon Sep 17 00:00:00 2001 From: Colleague Riley <50218871+ColleagueRiley@users.noreply.github.com> Date: Thu, 9 May 2024 10:35:26 -0400 Subject: [PATCH 279/745] Do not use "nanosleep" on windows at all (PLATFORM_DESKTOP_RGFW) (#3970) * Fix Makefile issues (RGFW) (linux) (macOS) * Do not use nanosleep on windows at all (PLATFORM_DESKTOP_RGFW) --------- Co-authored-by: ColleagueRiley --- src/external/RGFW.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/external/RGFW.h b/src/external/RGFW.h index 13b68d98a..67c67e91c 100644 --- a/src/external/RGFW.h +++ b/src/external/RGFW.h @@ -2753,8 +2753,8 @@ typedef struct { i32 x, y; } RGFW_vector; 4, &actualType, &actualFormat, - &count, - &bytesAfter, + (unsigned long*) &count, + (unsigned long*) &bytesAfter, (u8**) &formats); } else { formats = (Atom*) RGFW_MALLOC(E.xclient.data.l[2] + E.xclient.data.l[3] + E.xclient.data.l[4]); @@ -3002,7 +3002,6 @@ typedef struct { i32 x, y; } RGFW_vector; win->src.winArgs &= ~RGFW_MOUSE_CHANGED; } - RGFW_vector mouse = RGFW_getGlobalMousePoint(); if (win->src.winArgs & RGFW_HOLD_MOUSE && win->event.inFocus && win->event.type == RGFW_mousePosChanged) { RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); @@ -6074,7 +6073,7 @@ static HMODULE wglinstance = NULL; } void RGFW_sleep(u32 ms) { -#ifndef _MSC_VER +#ifndef RGFW_WINDOWS struct timespec time; time.tv_sec = 0; time.tv_nsec = ms * 1000; From f62202198e35161a9fe394a14bbd1a7c655107ad Mon Sep 17 00:00:00 2001 From: Colleague Riley Date: Fri, 10 May 2024 15:09:22 -0400 Subject: [PATCH 280/745] remove #define RGFWDEF and make the #undefs only happen for their OS (RGFW) (#3971) * Fix Makefile issues (RGFW) (linux) (macOS) * Do not use nanosleep on windows at all (PLATFORM_DESKTOP_RGFW) * remove #define RGFWDEF and make the #undefs only happen for their OS --- src/platforms/rcore_desktop_rgfw.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c index e4f74938d..623dc0e76 100644 --- a/src/platforms/rcore_desktop_rgfw.c +++ b/src/platforms/rcore_desktop_rgfw.c @@ -55,35 +55,46 @@ void ShowCursor(void); void CloseWindow(void); +#ifdef __linux__ #define _INPUT_EVENT_CODES_H -#define _APISETSTRING_ -#define RGFWDEF +#endif + +#if defined(__unix__) || defined(__linux__) #define _XTYPEDEF_FONT +#endif + #define RGFW_IMPLEMENTATION +#if defined(__WIN32) || defined(__WIN64) #define WIN32_LEAN_AND_MEAN #define Rectangle rectangle_win32 #define CloseWindow CloseWindow_win32 #define ShowCursor __imp_ShowCursor +#define _APISETSTRING_ +#endif +#ifdef __APPLE__ #define Point NSPOINT #define Size NSSIZE +#endif #ifdef _MSC_VER __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char* lpMultiByteStr, int cbMultiByte, wchar_t* lpWideCharStr, int cchWideChar); #endif #include "../external/RGFW.h" + +#if defined(__WIN32) || defined(__WIN64) #undef DrawText #undef ShowCursor #undef CloseWindow +#undef Rectangle +#endif + +#ifdef __APPLE__ #undef Point #undef Size - -#define Rectangle struct Rectangle -void CloseWindow(void); -void ShowCursor(void); - +#endif #include From 7a1cad3e615428d3b7f7dac41f3438e46e061e09 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 12 May 2024 13:31:38 +0200 Subject: [PATCH 281/745] Reviewed input params #3974 --- src/rlgl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 513dd3ed7..bef7eaf18 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -591,8 +591,8 @@ RLAPI void rlFrustum(double left, double right, double bottom, double top, doubl RLAPI void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar); RLAPI void rlViewport(int x, int y, int width, int height); // Set the viewport area RLAPI void rlSetClipPlanes(double near, double far); // Set clip planes distances -RLAPI double rlGetCullDistanceNear(); // Get cull plane distance near -RLAPI double rlGetCullDistanceFar(); // Get cull plane distance far +RLAPI double rlGetCullDistanceNear(void); // Get cull plane distance near +RLAPI double rlGetCullDistanceFar(void); // Get cull plane distance far //------------------------------------------------------------------------------------ // Functions Declaration - Vertex level operations @@ -2038,7 +2038,7 @@ void rlClearScreenBuffers(void) } // Check and log OpenGL error codes -void rlCheckErrors() +void rlCheckErrors(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) int check = 1; From f4b5622ba3a89bf1044ab7ba72384fb27c4837fe Mon Sep 17 00:00:00 2001 From: Alexei Mozaidze Date: Mon, 13 May 2024 02:27:02 +0400 Subject: [PATCH 282/745] feat(zig): add `opengl_version` option (#3979) Added `opengl_version` option to `src/build.zig`. --- src/build.zig | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/src/build.zig b/src/build.zig index 9fa1c57cd..e111d6388 100644 --- a/src/build.zig +++ b/src/build.zig @@ -88,6 +88,10 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. try c_source_files.append("rtextures.c"); } + if (options.opengl_version != .auto) { + raylib.defineCMacro(options.opengl_version.toCMacroStr(), null); + } + switch (target.result.os.tag) { .windows => { try c_source_files.append("rglfw.c"); @@ -134,7 +138,11 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. raylib.defineCMacro("PLATFORM_DESKTOP", null); } else { - raylib.linkSystemLibrary("GLESv2"); + if (options.opengl_version == .auto) { + raylib.linkSystemLibrary("GLESv2"); + raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null); + } + raylib.linkSystemLibrary("EGL"); raylib.linkSystemLibrary("drm"); raylib.linkSystemLibrary("gbm"); @@ -145,7 +153,6 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. raylib.addIncludePath(.{ .cwd_relative = "/usr/include/libdrm" }); raylib.defineCMacro("PLATFORM_DRM", null); - raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null); raylib.defineCMacro("EGL_NO_X11", null); raylib.defineCMacro("DEFAULT_BATCH_BUFFER_ELEMENT", "2048"); } @@ -183,7 +190,9 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. }, .emscripten => { raylib.defineCMacro("PLATFORM_WEB", null); - raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null); + if (options.opengl_version == .auto) { + raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null); + } if (b.sysroot == null) { @panic("Pass '--sysroot \"$EMSDK/upstream/emscripten\"'"); @@ -239,11 +248,34 @@ pub const Options = struct { platform_drm: bool = false, shared: bool = false, linux_display_backend: LinuxDisplayBackend = .X11, + opengl_version: OpenglVersion = .auto, raylib_dependency_name: []const u8 = "raylib", raygui_dependency_name: []const u8 = "raygui", }; +pub const OpenglVersion = enum { + auto, + gl_1_1, + gl_2_1, + gl_3_3, + gl_4_3, + gles_2, + gles_3, + + pub fn toCMacroStr(self: @This()) []const u8 { + switch (self) { + .auto => @panic("OpenglVersion.auto cannot be turned into a C macro string"), + .gl_1_1 => return "GRAPHICS_API_OPENGL_11", + .gl_2_1 => return "GRAPHICS_API_OPENGL_21", + .gl_3_3 => return "GRAPHICS_API_OPENGL_33", + .gl_4_3 => return "GRAPHICS_API_OPENGL_43", + .gles_2 => return "GRAPHICS_API_OPENGL_ES2", + .gles_3 => return "GRAPHICS_API_OPENGL_ES3", + } + } +}; + pub const LinuxDisplayBackend = enum { X11, Wayland, @@ -270,6 +302,7 @@ pub fn build(b: *std.Build) !void { .rshapes = b.option(bool, "rshapes", "Compile with shapes support") orelse defaults.rshapes, .shared = b.option(bool, "shared", "Compile as shared library") orelse defaults.shared, .linux_display_backend = b.option(LinuxDisplayBackend, "linux_display_backend", "Linux display backend to use") orelse defaults.linux_display_backend, + .opengl_version = b.option(OpenglVersion, "opengl_version", "OpenGL version to use") orelse defaults.opengl_version, }; const lib = try compileRaylib(b, target, optimize, options); From 3f13f7921dc9eed92e450d0cc25e43241213db92 Mon Sep 17 00:00:00 2001 From: Filyus Date: Mon, 13 May 2024 03:33:09 +0500 Subject: [PATCH 283/745] Fix parsing of empty parentheses (#3974) Co-authored-by: Filyus --- parser/raylib_parser.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index 9b8fd8b13..ec1d490e8 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -1006,8 +1006,14 @@ int main(int argc, char* argv[]) { funcEnd = c + 2; - // Check if previous word is void - if ((linePtr[c - 4] == 'v') && (linePtr[c - 3] == 'o') && (linePtr[c - 2] == 'i') && (linePtr[c - 1] == 'd')) break; + // Check if there are no parameters + if ((funcEnd - funcParamsStart == 2) || + ((linePtr[c - 4] == 'v') && + (linePtr[c - 3] == 'o') && + (linePtr[c - 2] == 'i') && + (linePtr[c - 1] == 'd'))) { + break; + } // Get parameter type + name, extract info char funcParamTypeName[128] = { 0 }; From 3d885ef9195825b03c9657f136293077e61ee503 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Sun, 12 May 2024 15:36:23 -0700 Subject: [PATCH 284/745] [raymath] Add extern "C" to raymath header for C++ (#3978) * Update raylib_api.* by CI * Add an extern C to raymath to prevent warnings in C++ --------- Co-authored-by: github-actions[bot] --- src/raymath.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/raymath.h b/src/raymath.h index 19625f10a..7a2f09296 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -77,6 +77,11 @@ #endif #endif + +#if defined(__cplusplus) +extern "C" { // Prevents name mangling of functions +#endif + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -2523,5 +2528,8 @@ RMAPI int QuaternionEquals(Quaternion p, Quaternion q) return result; } +#if defined(__cplusplus) +} +#endif #endif // RAYMATH_H From bf5eecc71f63d1bca76fdb377a1d231066f9258d Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Wed, 15 May 2024 07:16:45 -0700 Subject: [PATCH 285/745] [parser] Don't crash for files that don't end in newlines (#3981) The parser assumes all lines end in newlines, but sometimes this isn't true. Check for a null terminator along with '\n' when stripping leading spaces. --- parser/raylib_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index ec1d490e8..3e36f41f1 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -1243,7 +1243,7 @@ static char **GetTextLines(const char *buffer, int length, int *linesCount) while ((bufferPtr[index] == ' ') || (bufferPtr[index] == '\t')) index++; int j = 0; - while (bufferPtr[index + j] != '\n') + while (bufferPtr[index + j] != '\n' && bufferPtr[index + j] != '\0') { lines[i][j] = bufferPtr[index + j]; j++; From 46f98063597648227cfa6fbe96c189ed970faea8 Mon Sep 17 00:00:00 2001 From: Mike Will Date: Wed, 15 May 2024 10:19:22 -0400 Subject: [PATCH 286/745] Use logarithmic scaling for a 2d example with zoom functionality (#3977) --- examples/core/core_2d_camera_mouse_zoom.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/core/core_2d_camera_mouse_zoom.c b/examples/core/core_2d_camera_mouse_zoom.c index abc6a6d14..b96a3db43 100644 --- a/examples/core/core_2d_camera_mouse_zoom.c +++ b/examples/core/core_2d_camera_mouse_zoom.c @@ -63,10 +63,9 @@ int main () camera.target = mouseWorldPos; // Zoom increment - const float zoomIncrement = 0.125f; - - camera.zoom += (wheel*zoomIncrement); - if (camera.zoom < zoomIncrement) camera.zoom = zoomIncrement; + float scaleFactor = 1.0f + (0.25f * fabsf(wheel)); + if (wheel < 0) scaleFactor = 1.0f / scaleFactor; + camera.zoom = Clamp(camera.zoom * scaleFactor, 0.125, 64); } //---------------------------------------------------------------------------------- From 479bd84400d2da4af4f1c902db2f579611d36b99 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 15 May 2024 16:19:53 +0200 Subject: [PATCH 287/745] Update shaders_palette_switch.c --- examples/shaders/shaders_palette_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/shaders/shaders_palette_switch.c b/examples/shaders/shaders_palette_switch.c index 3d7d409db..9ff86d83d 100644 --- a/examples/shaders/shaders_palette_switch.c +++ b/examples/shaders/shaders_palette_switch.c @@ -109,7 +109,7 @@ int main(void) if (currentPalette >= MAX_PALETTES) currentPalette = 0; else if (currentPalette < 0) currentPalette = MAX_PALETTES - 1; - // Send new value to the shader to be used on drawing. + // Send palette data to the shader to be used on drawing // NOTE: We are sending RGB triplets w/o the alpha channel SetShaderValueV(shader, paletteLoc, palettes[currentPalette], SHADER_UNIFORM_IVEC3, COLORS_PER_PALETTE); //---------------------------------------------------------------------------------- From 02d98a3e44b13584c98a7aaee0ca6fc5fb55a975 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 15 May 2024 16:33:06 +0200 Subject: [PATCH 288/745] REVIEWED: 2d camera zoom, add alternative method #3977 --- examples/core/core_2d_camera_mouse_zoom.c | 70 +++++++++++++++++------ 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/examples/core/core_2d_camera_mouse_zoom.c b/examples/core/core_2d_camera_mouse_zoom.c index b96a3db43..8af94440d 100644 --- a/examples/core/core_2d_camera_mouse_zoom.c +++ b/examples/core/core_2d_camera_mouse_zoom.c @@ -31,6 +31,8 @@ int main () Camera2D camera = { 0 }; camera.zoom = 1.0f; + int zoomMode = 0; // 0-Mouse Wheel, 1-Mouse Move + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -39,41 +41,69 @@ int main () { // Update //---------------------------------------------------------------------------------- + if (IsKeyPressed(KEY_ONE)) zoomMode = 0; + else if (IsKeyPressed(KEY_TWO)) zoomMode = 1; + // Translate based on mouse right click if (IsMouseButtonDown(MOUSE_BUTTON_RIGHT)) { Vector2 delta = GetMouseDelta(); delta = Vector2Scale(delta, -1.0f/camera.zoom); - camera.target = Vector2Add(camera.target, delta); } - // Zoom based on mouse wheel - float wheel = GetMouseWheelMove(); - if (wheel != 0) + if (zoomMode == 0) { - // Get the world point that is under the mouse - Vector2 mouseWorldPos = GetScreenToWorld2D(GetMousePosition(), camera); - - // Set the offset to where the mouse is - camera.offset = GetMousePosition(); + // Zoom based on mouse wheel + float wheel = GetMouseWheelMove(); + if (wheel != 0) + { + // Get the world point that is under the mouse + Vector2 mouseWorldPos = GetScreenToWorld2D(GetMousePosition(), camera); - // Set the target to match, so that the camera maps the world space point - // under the cursor to the screen space point under the cursor at any zoom - camera.target = mouseWorldPos; + // Set the offset to where the mouse is + camera.offset = GetMousePosition(); - // Zoom increment - float scaleFactor = 1.0f + (0.25f * fabsf(wheel)); - if (wheel < 0) scaleFactor = 1.0f / scaleFactor; - camera.zoom = Clamp(camera.zoom * scaleFactor, 0.125, 64); + // Set the target to match, so that the camera maps the world space point + // under the cursor to the screen space point under the cursor at any zoom + camera.target = mouseWorldPos; + + // Zoom increment + float scaleFactor = 1.0f + (0.25f*fabsf(wheel)); + if (wheel < 0) scaleFactor = 1.0f/scaleFactor; + camera.zoom = Clamp(camera.zoom*scaleFactor, 0.125f, 64.0f); + } } + else + { + // Zoom based on mouse left click + if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) + { + // Get the world point that is under the mouse + Vector2 mouseWorldPos = GetScreenToWorld2D(GetMousePosition(), camera); + // Set the offset to where the mouse is + camera.offset = GetMousePosition(); + + // Set the target to match, so that the camera maps the world space point + // under the cursor to the screen space point under the cursor at any zoom + camera.target = mouseWorldPos; + } + if (IsMouseButtonDown(MOUSE_BUTTON_LEFT)) + { + // Zoom increment + float deltaX = GetMouseDelta().x; + float scaleFactor = 1.0f + (0.01f*fabsf(deltaX)); + if (deltaX < 0) scaleFactor = 1.0f/scaleFactor; + camera.zoom = Clamp(camera.zoom*scaleFactor, 0.125f, 64.0f); + } + } //---------------------------------------------------------------------------------- // Draw //---------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(BLACK); + ClearBackground(RAYWHITE); BeginMode2D(camera); @@ -86,11 +116,13 @@ int main () rlPopMatrix(); // Draw a reference circle - DrawCircle(100, 100, 50, YELLOW); + DrawCircle(GetScreenWidth()/2, GetScreenHeight()/2, 50, MAROON); EndMode2D(); - DrawText("Mouse right button drag to move, mouse wheel to zoom", 10, 10, 20, WHITE); + DrawText("[1][2] Select mouse zoom mode (Wheel or Move)", 20, 20, 20, DARKGRAY); + if (zoomMode == 0) DrawText("Mouse right button drag to move, mouse wheel to zoom", 20, 50, 20, DARKGRAY); + else DrawText("Mouse right button drag to move, mouse press and move to zoom", 20, 50, 20, DARKGRAY); EndDrawing(); //---------------------------------------------------------------------------------- From d6b22b17aecd2346d4fd1fc8ebaea8212e40008f Mon Sep 17 00:00:00 2001 From: CosmicBagel <854116+CosmicBagel@users.noreply.github.com> Date: Wed, 15 May 2024 15:20:34 -0600 Subject: [PATCH 289/745] LazyPath.path has been deprecated, using b.path() (#3983) This works in zig 0.12, LazyPath.path has been removed in zig 0.13 Co-authored-by: CosmicBagel <> --- src/build.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build.zig b/src/build.zig index e111d6388..d172b3c2a 100644 --- a/src/build.zig +++ b/src/build.zig @@ -204,7 +204,7 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. var dir = std.fs.openDirAbsolute(cache_include, std.fs.Dir.OpenDirOptions{ .access_sub_paths = true, .no_follow = true }) catch @panic("No emscripten cache. Generate it!"); dir.close(); - raylib.addIncludePath(.{ .path = cache_include }); + raylib.addIncludePath(b.path(cache_include)); }, else => { @panic("Unsupported OS"); From f26bfa0c8efcf81559c2ba225e79778b1542d60f Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Wed, 15 May 2024 22:42:52 -0700 Subject: [PATCH 290/745] [RAYMATH] Revert Extern 'C' in raymath (#3985) * Update raylib_api.* by CI * Remove Extern C for raymath, it breaks some cases in mingw-w64 and does not fix any warning issues. --------- Co-authored-by: github-actions[bot] --- src/raymath.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 7a2f09296..d036721a2 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -78,10 +78,6 @@ #endif -#if defined(__cplusplus) -extern "C" { // Prevents name mangling of functions -#endif - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -2528,8 +2524,5 @@ RMAPI int QuaternionEquals(Quaternion p, Quaternion q) return result; } -#if defined(__cplusplus) -} -#endif #endif // RAYMATH_H From 1d52985943d102b321c631bc4d24cca8ad0f651e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cemal=20G=C3=B6n=C3=BClta=C5=9F?= <45357531+cemalgnlts@users.noreply.github.com> Date: Thu, 16 May 2024 13:01:27 +0300 Subject: [PATCH 291/745] [rcore_web] Relative mouse mode issues. (#3940) * [rcore_web] Relative mouse mode issues. * Review formatting. --- .gitignore | 3 +++ src/platforms/rcore_web.c | 36 +++++++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6ff0e2346..eeb1ed09d 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,9 @@ packages/ *.so.* *.dll +# Emscripten +emsdk + # Ignore wasm data in examples/ examples/**/*.wasm examples/**/*.data diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index 9328b8c9b..afe8adfb1 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -100,6 +100,8 @@ static const char cursorLUT[11][12] = { "not-allowed" // 10 MOUSE_CURSOR_NOT_ALLOWED }; +Vector2 lockedMousePos = { 0 }; + //---------------------------------------------------------------------------------- // Module Internal Functions Declaration //---------------------------------------------------------------------------------- @@ -131,6 +133,7 @@ static EM_BOOL EmscriptenWindowResizedCallback(int eventType, const EmscriptenUi static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *event, void *userData); // Emscripten input callback events +static EM_BOOL EmscriptenMouseMoveCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData); static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData); static EM_BOOL EmscriptenPointerlockCallback(int eventType, const EmscriptenPointerlockChangeEvent *pointerlockChangeEvent, void *userData); static EM_BOOL EmscriptenTouchCallback(int eventType, const EmscriptenTouchEvent *touchEvent, void *userData); @@ -862,6 +865,8 @@ void SetMousePosition(int x, int y) CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; + if (CORE.Input.Mouse.cursorHidden) lockedMousePos = CORE.Input.Mouse.currentPosition; + // NOTE: emscripten not implemented glfwSetCursorPos(platform.handle, CORE.Input.Mouse.currentPosition.x, CORE.Input.Mouse.currentPosition.y); } @@ -1270,6 +1275,9 @@ int InitPlatform(void) emscripten_set_click_callback("#canvas", NULL, 1, EmscriptenMouseCallback); emscripten_set_pointerlockchange_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenPointerlockCallback); + // Following the mouse delta when the mouse is locked + emscripten_set_mousemove_callback("#canvas", NULL, 1, EmscriptenMouseMoveCallback); + // Support touch events emscripten_set_touchstart_callback("#canvas", NULL, 1, EmscriptenTouchCallback); emscripten_set_touchend_callback("#canvas", NULL, 1, EmscriptenTouchCallback); @@ -1477,9 +1485,13 @@ static void MouseButtonCallback(GLFWwindow *window, int button, int action, int // GLFW3 Cursor Position Callback, runs on mouse move static void MouseCursorPosCallback(GLFWwindow *window, double x, double y) { - CORE.Input.Mouse.currentPosition.x = (float)x; - CORE.Input.Mouse.currentPosition.y = (float)y; - CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; + // If the pointer is not locked, follow the position + if (!CORE.Input.Mouse.cursorHidden) + { + CORE.Input.Mouse.currentPosition.x = (float)x; + CORE.Input.Mouse.currentPosition.y = (float)y; + CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; + } #if defined(SUPPORT_GESTURES_SYSTEM) && defined(SUPPORT_MOUSE_GESTURES) // Process mouse events as touches to be able to use mouse-gestures @@ -1505,6 +1517,18 @@ static void MouseCursorPosCallback(GLFWwindow *window, double x, double y) #endif } +static EM_BOOL EmscriptenMouseMoveCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData) +{ + // To emulate the GLFW_RAW_MOUSE_MOTION property. + if (CORE.Input.Mouse.cursorHidden) + { + CORE.Input.Mouse.previousPosition.x = lockedMousePos.x - mouseEvent->movementX; + CORE.Input.Mouse.previousPosition.y = lockedMousePos.y - mouseEvent->movementY; + } + + return 1; // The event was consumed by the callback handler +} + // GLFW3 Scrolling Callback, runs on mouse wheel static void MouseScrollCallback(GLFWwindow *window, double xoffset, double yoffset) { @@ -1598,6 +1622,12 @@ static EM_BOOL EmscriptenPointerlockCallback(int eventType, const EmscriptenPoin { CORE.Input.Mouse.cursorHidden = EM_ASM_INT( { if (document.pointerLockElement) return 1; }, 0); + if (CORE.Input.Mouse.cursorHidden) + { + lockedMousePos = CORE.Input.Mouse.currentPosition; + CORE.Input.Mouse.previousPosition = lockedMousePos; + } + return 1; // The event was consumed by the callback handler } From 3d70d6179c4809d8b7e92215358394e3584bca79 Mon Sep 17 00:00:00 2001 From: FishingHacks Date: Thu, 16 May 2024 19:47:39 +0200 Subject: [PATCH 292/745] [raudio] Removed drwav_uninit in LoadMusicStream to fix a crash (#3986) --- src/raudio.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/raudio.c b/src/raudio.c index 9d7c39a5b..8f4bf7a51 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1348,7 +1348,6 @@ Music LoadMusicStream(const char *fileName) } else { - drwav_uninit(ctxWav); RL_FREE(ctxWav); } } From 00ac9b6c533e964ae2d5c5726e5d6c1f00964d0f Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 18 May 2024 07:40:59 +0200 Subject: [PATCH 293/745] Update config.h --- src/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.h b/src/config.h index 1fe21454f..3c92de72d 100644 --- a/src/config.h +++ b/src/config.h @@ -189,7 +189,7 @@ #define SUPPORT_DEFAULT_FONT 1 // Selected desired font fileformats to be supported for loading #define SUPPORT_FILEFORMAT_TTF 1 -//#define SUPPORT_FILEFORMAT_FNT 1 +#define SUPPORT_FILEFORMAT_FNT 1 //#define SUPPORT_FILEFORMAT_BDF 1 // Support text management functions From 9d67f4734b59244b5b10d45ce7c8eed76323c3b5 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 18 May 2024 07:41:37 +0200 Subject: [PATCH 294/745] REVIEWED: LoadBMFont(), issue on not glyph data initialized --- src/rtext.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rtext.c b/src/rtext.c index b5ba17e3a..1ddb62509 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2240,7 +2240,11 @@ static Font LoadBMFont(const char *fileName) // Fill character image data from full font data font.glyphs[i].image = ImageFromImage(fullFont, font.recs[i]); } - else TRACELOG(LOG_WARNING, "FONT: [%s] Some characters data not correctly provided", fileName); + else + { + font.glyphs[i].image = GenImageColor(font.recs[i].width, font.recs[i].height, BLACK); + TRACELOG(LOG_WARNING, "FONT: [%s] Some characters data not correctly provided", fileName); + } } UnloadImage(fullFont); From bb9bd73f435892b6f6f17d7068a7fe56dfca235d Mon Sep 17 00:00:00 2001 From: listeria <56203103+ListeriaM@users.noreply.github.com> Date: Tue, 21 May 2024 03:13:46 -0300 Subject: [PATCH 295/745] fix WaveCrop() and use frames instead of samples (#3994) Co-authored-by: Listeria monocytogenes --- src/raudio.c | 12 ++++++------ src/raylib.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 8f4bf7a51..e74f8590e 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1274,17 +1274,17 @@ Wave WaveCopy(Wave wave) return newWave; } -// Crop a wave to defined samples range +// Crop a wave to defined frames range // NOTE: Security check in case of out-of-range -void WaveCrop(Wave *wave, int initSample, int finalSample) +void WaveCrop(Wave *wave, int initFrame, int finalFrame) { - if ((initSample >= 0) && (initSample < finalSample) && ((unsigned int)finalSample < (wave->frameCount*wave->channels))) + if ((initFrame >= 0) && (initFrame < finalFrame) && ((unsigned int)finalFrame < wave->frameCount)) { - int sampleCount = finalSample - initSample; + int frameCount = finalFrame - initFrame; - void *data = RL_MALLOC(sampleCount*wave->sampleSize/8); + void *data = RL_MALLOC(frameCount*wave->channels*wave->sampleSize/8); - memcpy(data, (unsigned char *)wave->data + (initSample*wave->channels*wave->sampleSize/8), sampleCount*wave->sampleSize/8); + memcpy(data, (unsigned char *)wave->data + (initFrame*wave->channels*wave->sampleSize/8), frameCount*wave->channels*wave->sampleSize/8); RL_FREE(wave->data); wave->data = data; diff --git a/src/raylib.h b/src/raylib.h index 035f6f2bf..c53ea555b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1624,7 +1624,7 @@ RLAPI void SetSoundVolume(Sound sound, float volume); // Set vol RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level) RLAPI void SetSoundPan(Sound sound, float pan); // Set pan for a sound (0.5 is center) RLAPI Wave WaveCopy(Wave wave); // Copy a wave to a new wave -RLAPI void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range +RLAPI void WaveCrop(Wave *wave, int initFrame, int finalFrame); // Crop a wave to defined frames range RLAPI void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format RLAPI float *LoadWaveSamples(Wave wave); // Load samples data from wave as a 32bit float data array RLAPI void UnloadWaveSamples(float *samples); // Unload samples data loaded with LoadWaveSamples() From 272a142ee5b830ff6742c2df6a7b3abe7399cfde Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 21 May 2024 06:14:05 +0000 Subject: [PATCH 296/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 6 +++--- parser/output/raylib_api.lua | 6 +++--- parser/output/raylib_api.txt | 6 +++--- parser/output/raylib_api.xml | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index d50085a4a..5a9f4fc5d 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -11231,7 +11231,7 @@ }, { "name": "WaveCrop", - "description": "Crop a wave to defined samples range", + "description": "Crop a wave to defined frames range", "returnType": "void", "params": [ { @@ -11240,11 +11240,11 @@ }, { "type": "int", - "name": "initSample" + "name": "initFrame" }, { "type": "int", - "name": "finalSample" + "name": "finalFrame" } ] }, diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index ef8e1c51e..d60ea191c 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -7733,12 +7733,12 @@ return { }, { name = "WaveCrop", - description = "Crop a wave to defined samples range", + description = "Crop a wave to defined frames range", returnType = "void", params = { {type = "Wave *", name = "wave"}, - {type = "int", name = "initSample"}, - {type = "int", name = "finalSample"} + {type = "int", name = "initFrame"}, + {type = "int", name = "finalFrame"} } }, { diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 631be9a8b..f4973dae6 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -4314,10 +4314,10 @@ Function 523: WaveCopy() (1 input parameters) Function 524: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void - Description: Crop a wave to defined samples range + Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) - Param[2]: initSample (type: int) - Param[3]: finalSample (type: int) + Param[2]: initFrame (type: int) + Param[3]: finalFrame (type: int) Function 525: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index e17c59d09..e079a198e 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -2870,10 +2870,10 @@ - + - - + + From 74d7e78b702a66c3ee6e9cc711e19f283e1324c0 Mon Sep 17 00:00:00 2001 From: IoIxD <30945097+IoIxD@users.noreply.github.com> Date: Tue, 21 May 2024 03:53:05 -0700 Subject: [PATCH 297/745] BINDINGS.md: raylib-rs now at 5.0 (#3991) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 93ae18792..3457f2b16 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -62,7 +62,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | raylib-phpcpp | 3.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/oraoto/raylib-phpcpp | | raylibr | 4.0 | [R](https://www.r-project.org) | MIT | https://github.com/jeroenjanssens/raylibr | | raylib-ffi | 4.5 | [Rust](https://www.rust-lang.org/) | GPLv3 | https://github.com/ewpratten/raylib-ffi | -| raylib-rs | 3.5 | [Rust](https://www.rust-lang.org/) | Zlib | https://github.com/deltaphc/raylib-rs | +| raylib-rs | 5.0 | [Rust](https://www.rust-lang.org/) | Zlib | https://github.com/raylib-rs/raylib-rs | | Relib | 3.5 | [ReCT](https://github.com/RedCubeDev-ByteSpace/ReCT) | ? | https://github.com/RedCubeDev-ByteSpace/Relib | | racket-raylib | 4.0 | [Racket](https://racket-lang.org/) | MIT/Apache-2.0 | https://github.com/eutro/racket-raylib | | raylib-swift | 4.0 | [Swift](https://swift.org/) | MIT | https://github.com/STREGAsGate/Raylib | From fc9634a4de732448abf04de3217be698a6560c51 Mon Sep 17 00:00:00 2001 From: Carmine Pietroluongo <72702101+Odex64@users.noreply.github.com> Date: Tue, 21 May 2024 13:07:31 +0200 Subject: [PATCH 298/745] Update BINDINGS.md (#3995) --- BINDINGS.md | 290 ++++++++++++++++++++++++++-------------------------- 1 file changed, 146 insertions(+), 144 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 3457f2b16..3996105d9 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -4,156 +4,158 @@ Some people ported raylib to other languages in form of bindings or wrappers to ### Language Bindings -| name | raylib version | language | license | repo | -|:------------------:|:---------------:|:---------:|:----------:|-----------------------------------------------------------| -| raylib | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | https://github.com/raysan5/raylib | -| raylib-beef | **5.0** | [Beef](https://www.beeflang.org/) | MIT | https://github.com/Starpelly/raylib-beef | -| raylib-boo | 3.7 | [Boo](http://boo-language.github.io/)| MIT | https://github.com/Rabios/raylib-boo | -| Raylib-cs | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | https://github.com/ChrisDill/Raylib-cs | -| Raylib-CsLo | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/NotNotTech/Raylib-CsLo | -| cl-raylib | 4.0 | [Common Lisp](https://common-lisp.net/) | MIT | https://github.com/longlene/cl-raylib | -| claylib/wrap | 4.5 | [Common Lisp](https://common-lisp.net/) | Zlib | https://github.com/defun-games/claylib | -| claw-raylib | **auto** | [Common Lisp](https://common-lisp.net/) | Apache-2.0 | https://github.com/bohonghuang/claw-raylib | -| chez-raylib | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib | -| raylib-cr | 4.6-dev (5e1a81) | [Crystal](https://crystal-lang.org/) | Apache-2.0 | https://github.com/sol-vin/raylib-cr | -| ray-cyber | 5.0 | [Cyber](https://cyberscript.dev) | MIT | https://github.com/fubark/ray-cyber | -| dart-raylib | 4.0 | [Dart](https://dart.dev/) | MIT | https://gitlab.com/wolfenrain/dart-raylib | -| bindbc-raylib3 | **5.0** | [D](https://dlang.org/) | BSL-1.0 | https://github.com/o3o/bindbc-raylib3 | -| dray | 4.2 | [D](https://dlang.org/) | Apache-2.0 | https://github.com/redthing1/dray | -| raylib-d | **5.0** | [D](https://dlang.org/) | Zlib | https://github.com/schveiguy/raylib-d | -| rayex | 3.7 | [elixir](https://elixir-lang.org/) | Apache-2.0 | https://github.com/shiryel/rayex | -| raylib-factor | 4.5 | [Factor](https://factorcode.org/) | BSD | https://github.com/factor/factor/blob/master/extra/raylib/raylib.factor | -| raylib-freebasic | **5.0** | [FreeBASIC](https://www.freebasic.net/) | MIT | https://github.com/WIITD/raylib-freebasic | -| fortran-raylib | 4.5 | [Fortran](https://fortran-lang.org/) | ISC | https://github.com/interkosmos/fortran-raylib | -| raylib-go | **5.0** | [Go](https://golang.org/) | Zlib | https://github.com/gen2brain/raylib-go | -| raylib-guile | **auto** | [Guile](https://www.gnu.org/software/guile/) | Zlib | https://github.com/petelliott/raylib-guile | -| gforth-raylib | 3.5 | [Gforth](https://gforth.org/) | **???** | https://github.com/ArnautDaniel/gforth-raylib | -| h-raylib | **5.1-dev** | [Haskell](https://haskell.org/) | Apache-2.0 | https://github.com/Anut-py/h-raylib | -| raylib-hx | 4.2 | [Haxe](https://haxe.org/) | Zlib | https://github.com/foreignsasquatch/raylib-hx | -| hb-raylib | 3.5 | [Harbour](https://harbour.github.io) | MIT | https://github.com/MarcosLeonardoMendezGerencir/hb-raylib | -| jaylib | 5.0 | [Janet](https://janet-lang.org/) | MIT | https://github.com/janet-lang/jaylib | -| jaylib | 4.5 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | GPLv3+CE | https://github.com/electronstudio/jaylib/ | -| raylib-j | 4.0 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | Zlib | https://github.com/CreedVI/Raylib-J | -| raylib.jl | 4.2 | [Julia](https://julialang.org/) | Zlib | https://github.com/irishgreencitrus/raylib.jl | -| kaylib | 3.7 | [Kotlin/native](https://kotlinlang.org) | ? | https://github.com/electronstudio/kaylib | -| KaylibKit | 4.5 | [Kotlin/native](https://kotlinlang.org) | Zlib | https://codeberg.org/Kenta/KaylibKit | -| raylib-lua | 4.5 | [Lua](http://www.lua.org/) | ISC | https://github.com/TSnake41/raylib-lua | -| raylua | 4.0 | [Lua](http://www.lua.org/) | MIT | https://github.com/Rabios/raylua | -| raylib-matte | 4.6-dev | [Matte](https://github.com/jcorks/matte/) | MIT | https://github.com/jcorks/raylib-matte | -| Raylib.nelua | **5.0** | [nelua](https://nelua.io/) | Zlib | https://github.com/AuzFox/Raylib.nelua | -| NimraylibNow! | 4.2 | [Nim](https://nim-lang.org/) | MIT | https://github.com/greenfork/nimraylib_now | -| raylib-bindings | 4.5 | [Ruby](https://www.ruby-lang.org/en/) | Zlib | https://github.com/vaiorabbit/raylib-bindings | -| raylib-Forever | auto | [Nim](https://nim-lang.org/) | ? | https://github.com/Guevara-chan/Raylib-Forever | -| naylib | auto | [Nim](https://nim-lang.org/) | MIT | https://github.com/planetis-m/naylib | -| node-raylib | 4.5 | [Node.js](https://nodejs.org/en/) | Zlib | https://github.com/RobLoach/node-raylib | -| raylib-odin | 5.0 | [Odin](https://odin-lang.org/) | BSD-3Clause | https://github.com/odin-lang/Odin/tree/master/vendor/raylib | -| raylib_odin_bindings | 4.0-dev | [Odin](https://odin-lang.org/) | MIT | https://github.com/Deathbat2190/raylib_odin_bindings | -| raylib-ocaml | **5.0** | [OCaml](https://ocaml.org/) | MIT | https://github.com/tjammer/raylib-ocaml | -| TurboRaylib | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | https://github.com/turborium/TurboRaylib | -| Ray4Laz | **5.0** | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/GuvaCode/Ray4Laz | -| Raylib.4.0.Pascal | 4.0 | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal)| Zlib | https://github.com/sysrpl/Raylib.4.0.Pascal | -| pyraylib | 3.7 | [Python](https://www.python.org/) | Zlib | https://github.com/Ho011/pyraylib | -| raylib-python-cffi | 4.2 | [Python](https://www.python.org/) | EPL-2.0 | https://github.com/electronstudio/raylib-python-cffi | -| raylibpyctbg | 4.5 | [Python](https://www.python.org/) | MIT | https://github.com/overdev/raylibpyctbg | -| raylib-py | **5.0b1** | [Python](https://www.python.org/) | MIT | https://github.com/overdev/raylib-py | -| raylib-python-ctypes | 4.6-dev | [Python](https://www.python.org/) | MIT | https://github.com/sDos280/raylib-python-ctypes | -| raylib-pkpy-bindings | 4.6-dev | [pocketpy](https://pocketpy.dev/) | MIT | https://github.com/blueloveTH/pkpy-bindings | -| raylib-php | 4.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/joseph-montanez/raylib-php | -| raylib-phpcpp | 3.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | https://github.com/oraoto/raylib-phpcpp | -| raylibr | 4.0 | [R](https://www.r-project.org) | MIT | https://github.com/jeroenjanssens/raylibr | -| raylib-ffi | 4.5 | [Rust](https://www.rust-lang.org/) | GPLv3 | https://github.com/ewpratten/raylib-ffi | -| raylib-rs | 5.0 | [Rust](https://www.rust-lang.org/) | Zlib | https://github.com/raylib-rs/raylib-rs | -| Relib | 3.5 | [ReCT](https://github.com/RedCubeDev-ByteSpace/ReCT) | ? | https://github.com/RedCubeDev-ByteSpace/Relib | -| racket-raylib | 4.0 | [Racket](https://racket-lang.org/) | MIT/Apache-2.0 | https://github.com/eutro/racket-raylib | -| raylib-swift | 4.0 | [Swift](https://swift.org/) | MIT | https://github.com/STREGAsGate/Raylib | -| raylib-scopes | auto | [Scopes](http://scopes.rocks) | MIT | https://github.com/salotz/raylib-scopes | -| raylib-SmallBASIC | 5.0 | [SmallBASIC](https://github.com/smallbasic/SmallBASIC) | GPLv3 | https://github.com/smallbasic/smallbasic.plugins/tree/master/raylib | -| raylib-umka | 4.5 | [Umka](https://github.com/vtereshkov/umka-lang) | Zlib | https://github.com/robloach/raylib-umka | -| raylib.v | 4.2 | [V](https://vlang.io/) | Zlib | https://github.com/irishgreencitrus/raylib.v | -| raylib-vapi | 5.0 | [Vala](https://vala.dev/) | Zlib | https://github.com/lxmcf/raylib-vapi | -| raylib-wren | 4.0 | [Wren](http://wren.io/) | ISC | https://github.com/TSnake41/raylib-wren | -| raylib-zig | 5.0 | [Zig](https://ziglang.org/) | MIT | https://github.com/Not-Nik/raylib-zig | -| raylib.zig | 5.1-dev | [Zig](https://ziglang.org/) | MIT | https://github.com/ryupold/raylib.zig | -| hare-raylib | **auto** | [Hare](https://harelang.org/) | Zlib | https://git.sr.ht/~evantj/hare-raylib | -| raylib-sunder | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | https://github.com/ashn-dot-dev/raylib-sunder | -| rayed-bqn | **auto** | [BQN](https://mlochbaum.github.io/BQN/) | MIT | https://github.com/Brian-ED/rayed-bqn | -| rayjs | 4.6-dev | [QuickJS](https://bellard.org/quickjs/) | MIT | https://github.com/mode777/rayjs | -| raylib-raku | **auto** | [Raku](https://www.raku.org/) | Artistic License 2.0 | https://github.com/vushu/raylib-raku | -| Raylib.lean | 4.5 | [Lean4](https://lean-lang.org/) | BSD-3-Clause | https://github.com/KislyjKisel/Raylib.lean | -| Raylib-CSharp-Vinculum | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | https://github.com/ZeroElectric/Raylib-CSharp-Vinculum | -| raylib-cobol | **auto** | [COBOL](https://gnucobol.sourceforge.io) | Public domain | https://codeberg.org/glowiak/raylib-cobol | -| Raylib-CSharp | 5.0 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | https://github.com/MrScautHD/Raylib-CSharp | +| Name | raylib Version | Language | License | +| ---------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------- | -------------------- | +| [raylib](https://github.com/raysan5/raylib) | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | +| [raylib-beef](https://github.com/Starpelly/raylib-beef) | **5.0** | [Beef](https://www.beeflang.org) | MIT | +| [raylib-boo](https://github.com/Rabios/raylib-boo) | 3.7 | [Boo](http://boo-language.github.io) | MIT | +| [Raylib-cs](https://github.com/ChrisDill/Raylib-cs) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | +| [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo) | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | +| [Raylib-CSharp-Vinculum](https://github.com/ZeroElectric/Raylib-CSharp-Vinculum) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | +| [Raylib-CSharp](https://github.com/MrScautHD/Raylib-CSharp) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | +| [Raylib.NET](https://github.com/Odex64/Raylib.NET) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | +| [cl-raylib](https://github.com/longlene/cl-raylib) | 4.0 | [Common Lisp](https://common-lisp.net) | MIT | +| [claylib/wrap](https://github.com/defun-games/claylib) | 4.5 | [Common Lisp](https://common-lisp.net) | Zlib | +| [claw-raylib](https://github.com/bohonghuang/claw-raylib) | **auto** | [Common Lisp](https://common-lisp.net) | Apache-2.0 | +| [chez-raylib](https://github.com/Yunoinsky/chez-raylib) | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme) | GPLv3 | +| [raylib-cr](https://github.com/sol-vin/raylib-cr) | 4.6-dev (5e1a81) | [Crystal](https://crystal-lang.org) | Apache-2.0 | +| [ray-cyber](https://github.com/fubark/ray-cyber) | **5.0** | [Cyber](https://cyberscript.dev) | MIT | +| [dart-raylib](https://gitlab.com/wolfenrain/dart-raylib) | 4.0 | [Dart](https://dart.dev) | MIT | +| [bindbc-raylib3](https://github.com/o3o/bindbc-raylib3) | **5.0** | [D](https://dlang.org) | BSL-1.0 | +| [dray](https://github.com/redthing1/dray) | 4.2 | [D](https://dlang.org) | Apache-2.0 | +| [raylib-d](https://github.com/schveiguy/raylib-d) | **5.0** | [D](https://dlang.org) | Zlib | +| [rayex](https://github.com/shiryel/rayex) | 3.7 | [elixir](https://elixir-lang.org) | Apache-2.0 | +| [raylib-factor](https://github.com/factor/factor/blob/master/extra/raylib/raylib.factor) | 4.5 | [Factor](https://factorcode.org) | BSD | +| [raylib-freebasic](https://github.com/WIITD/raylib-freebasic) | **5.0** | [FreeBASIC](https://www.freebasic.net) | MIT | +| [fortran-raylib](https://github.com/interkosmos/fortran-raylib) | 4.5 | [Fortran](https://fortran-lang.org) | ISC | +| [raylib-go](https://github.com/gen2brain/raylib-go) | **5.0** | [Go](https://golang.org) | Zlib | +| [raylib-guile](https://github.com/petelliott/raylib-guile) | **auto** | [Guile](https://www.gnu.org/software/guile) | Zlib | +| [gforth-raylib](https://github.com/ArnautDaniel/gforth-raylib) | 3.5 | [Gforth](https://gforth.org) | **???** | +| [h-raylib](https://github.com/Anut-py/h-raylib) | **5.1-dev** | [Haskell](https://haskell.org) | Apache-2.0 | +| [raylib-hx](https://github.com/foreignsasquatch/raylib-hx) | 4.2 | [Haxe](https://haxe.org) | Zlib | +| [hb-raylib](https://github.com/MarcosLeonardoMendezGerencir/hb-raylib) | 3.5 | [Harbour](https://harbour.github.io) | MIT | +| [jaylib](https://github.com/janet-lang/jaylib) | **5.0** | [Janet](https://janet-lang.org) | MIT | +| [jaylib](https://github.com/electronstudio/jaylib/) | 4.5 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | GPLv3+CE | +| [raylib-j](https://github.com/CreedVI/Raylib-J) | 4.0 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | Zlib | +| [raylib.jl](https://github.com/irishgreencitrus/raylib.jl) | 4.2 | [Julia](https://julialang.org) | Zlib | +| [kaylib](https://github.com/electronstudio/kaylib) | 3.7 | [Kotlin/native](https://kotlinlang.org) | **???** | +| [KaylibKit](https://codeberg.org/Kenta/KaylibKit) | 4.5 | [Kotlin/native](https://kotlinlang.org) | Zlib | +| [raylib-lua](https://github.com/TSnake41/raylib-lua) | 4.5 | [Lua](http://www.lua.org) | ISC | +| [raylua](https://github.com/Rabios/raylua) | 4.0 | [Lua](http://www.lua.org) | MIT | +| [raylib-matte](https://github.com/jcorks/raylib-matte) | 4.6-dev | [Matte](https://github.com/jcorks/matte) | MIT | +| [Raylib.nelua](https://github.com/AuzFox/Raylib.nelua) | **5.0** | [nelua](https://nelua.io) | Zlib | +| [raylib-bindings](https://github.com/vaiorabbit/raylib-bindings) | 4.5 | [Ruby](https://www.ruby-lang.org/en) | Zlib | +| [NimraylibNow!](https://github.com/greenfork/nimraylib_now) | 4.2 | [Nim](https://nim-lang.org) | MIT | +| [raylib-Forever](https://github.com/Guevara-chan/Raylib-Forever) | auto | [Nim](https://nim-lang.org) | **???** | +| [naylib](https://github.com/planetis-m/naylib) | auto | [Nim](https://nim-lang.org) | MIT | +| [node-raylib](https://github.com/RobLoach/node-raylib) | 4.5 | [Node.js](https://nodejs.org/en) | Zlib | +| [raylib-odin](https://github.com/odin-lang/Odin/tree/master/vendor/raylib) | **5.0** | [Odin](https://odin-lang.org) | BSD-3Clause | +| [raylib_odin_bindings](https://github.com/Deathbat2190/raylib_odin_bindings) | 4.0-dev | [Odin](https://odin-lang.org) | MIT | +| [raylib-ocaml](https://github.com/tjammer/raylib-ocaml) | **5.0** | [OCaml](https://ocaml.org) | MIT | +| [TurboRaylib](https://github.com/turborium/TurboRaylib) | 4.5 | [Object Pascal](https://en.wikipedia.org/wiki/Object_Pascal) | MIT | +| [Ray4Laz](https://github.com/GuvaCode/Ray4Laz) | **5.0** | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal) | Zlib | +| [Raylib.4.0.Pascal](https://github.com/sysrpl/Raylib.4.0.Pascal) | 4.0 | [Free Pascal](https://en.wikipedia.org/wiki/Free_Pascal) | Zlib | +| [pyraylib](https://github.com/Ho011/pyraylib) | 3.7 | [Python](https://www.python.org) | Zlib | +| [raylib-python-cffi](https://github.com/electronstudio/raylib-python-cffi) | 4.2 | [Python](https://www.python.org) | EPL-2.0 | +| [raylibpyctbg](https://github.com/overdev/raylibpyctbg) | 4.5 | [Python](https://www.python.org) | MIT | +| [raylib-py](https://github.com/overdev/raylib-py) | **5.0b1** | [Python](https://www.python.org) | MIT | +| [raylib-python-ctypes](https://github.com/sDos280/raylib-python-ctypes) | 4.6-dev | [Python](https://www.python.org) | MIT | +| [raylib-pkpy-bindings](https://github.com/blueloveTH/pkpy-bindings) | 4.6-dev | [pocketpy](https://pocketpy.dev) | MIT | +| [raylib-php](https://github.com/joseph-montanez/raylib-php) | 4.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | +| [raylib-phpcpp](https://github.com/oraoto/raylib-phpcpp) | 3.5 | [PHP](https://en.wikipedia.org/wiki/PHP) | Zlib | +| [raylibr](https://github.com/jeroenjanssens/raylibr) | 4.0 | [R](https://www.r-project.org) | MIT | +| [raylib-ffi](https://github.com/ewpratten/raylib-ffi) | 4.5 | [Rust](https://www.rust-lang.org) | GPLv3 | +| [raylib-rs](https://github.com/raylib-rs/raylib-rs) | **5.0** | [Rust](https://www.rust-lang.org) | Zlib | +| [Relib](https://github.com/RedCubeDev-ByteSpace/Relib) | 3.5 | [ReCT](https://github.com/RedCubeDev-ByteSpace/ReCT) | **???** | +| [racket-raylib](https://github.com/eutro/racket-raylib) | 4.0 | [Racket](https://racket-lang.org) | MIT/Apache-2.0 | +| [raylib-swift](https://github.com/STREGAsGate/Raylib) | 4.0 | [Swift](https://swift.org) | MIT | +| [raylib-scopes](https://github.com/salotz/raylib-scopes) | auto | [Scopes](http://scopes.rocks) | MIT | +| [raylib-SmallBASIC](https://github.com/smallbasic/smallbasic.plugins/tree/master/raylib) | **5.0** | [SmallBASIC](https://github.com/smallbasic/SmallBASIC) | GPLv3 | +| [raylib-umka](https://github.com/robloach/raylib-umka) | 4.5 | [Umka](https://github.com/vtereshkov/umka-lang) | Zlib | +| [raylib.v](https://github.com/irishgreencitrus/raylib.v) | 4.2 | [V](https://vlang.io) | Zlib | +| [raylib-vapi](https://github.com/lxmcf/raylib-vapi) | **5.0** | [Vala](https://vala.dev) | Zlib | +| [raylib-wren](https://github.com/TSnake41/raylib-wren) | 4.0 | [Wren](http://wren.io) | ISC | +| [raylib-zig](https://github.com/Not-Nik/raylib-zig) | **5.0** | [Zig](https://ziglang.org) | MIT | +| [raylib.zig](https://github.com/ryupold/raylib.zig) | **5.1-dev** | [Zig](https://ziglang.org) | MIT | +| [hare-raylib](https://git.sr.ht/~evantj/hare-raylib) | **auto** | [Hare](https://harelang.org) | Zlib | +| [raylib-sunder](https://github.com/ashn-dot-dev/raylib-sunder) | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | +| [rayed-bqn](https://github.com/Brian-ED/rayed-bqn) | **auto** | [BQN](https://mlochbaum.github.io/BQN) | MIT | +| [rayjs](https://github.com/mode777/rayjs) | 4.6-dev | [QuickJS](https://bellard.org/quickjs) | MIT | +| [raylib-raku](https://github.com/vushu/raylib-raku) | **auto** | [Raku](https://www.raku.org) | Artistic License 2.0 | +| [Raylib.lean](https://github.com/KislyjKisel/Raylib.lean) | 4.5 | [Lean4](https://lean-lang.org) | BSD-3-Clause | +| [raylib-cobol](https://codeberg.org/glowiak/raylib-cobol) | **auto** | [COBOL](https://gnucobol.sourceforge.io) | Public domain | ### Utility Wrapers + These are utility wrappers for specific languages, they are not required to use raylib in the language but may adapt the raylib API to be more inline with the language's pardigm. -| name | raylib version | language | license | repo | -|:------------------:|:-------------: | :--------:|:-------:|:-------------------------------------------------------------| -| raylib-cpp | **5.0** | [C++](https://en.wikipedia.org/wiki/C%2B%2B) | Zlib | https://github.com/robloach/raylib-cpp | -| claylib | **4.5** | [Common Lisp](https://common-lisp.net/) | Zlib | https://github.com/defun-games/claylib | +| Name | raylib Version | Language | License | +| ---------------------------------------------------- | -------------- | -------------------------------------------- | ------- | +| [raylib-cpp](https://github.com/robloach/raylib-cpp) | **5.0** | [C++](https://en.wikipedia.org/wiki/C%2B%2B) | Zlib | +| [claylib](https://github.com/defun-games/claylib) | 4.5 | [Common Lisp](https://common-lisp.net) | Zlib | ### Older or Unmaintained Language Bindings -These are older raylib bindings that are more than 2 versions old or have not been maintained. -| name | raylib version | language | repo | -|:------------------:|:-------------: | :--------:|----------------------------------------------------------------------| -| raylib-cppsharp | 2.5 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | https://github.com/phxvyper/raylib-cppsharp | -| RaylibFS | 2.5 | [F#](https://fsharp.org/) | https://github.com/dallinbeutler/RaylibFS | -| raylib_d | 2.5 | [D](https://dlang.org/) | https://github.com/Sepheus/raylib_d | -| bindbc-raylib | 3.0 | [D](https://dlang.org/) | https://github.com/o3o/bindbc-raylib | -| go-raylib | 3.5 | [Go](https://golang.org/) | https://github.com/chunqian/go-raylib | -| raylib-goplus | 2.6-dev | [Go](https://golang.org/) | https://github.com/Lachee/raylib-goplus | -| ray-go | 2.6-dev | [Go](https://golang.org/) | https://github.com/hecate-tech/ray-go | -| raylib-luamore | 3.0 | [Lua](http://www.lua.org/) | https://github.com/HDPLocust/raylib-luamore | -| LuaJIT-Raylib | 2.6 | [Lua](http://www.lua.org/) | https://github.com/Bambofy/LuaJIT-Raylib | -| raylib-lua-sol | 2.5 | [Lua](http://www.lua.org/) | https://github.com/RobLoach/raylib-lua-sol | -| raylib-lua-ffi | 2.0 | [Lua](http://www.lua.org/) | https://github.com/raysan5/raylib/issues/693 | -| raylib-lua | 1.7 | [Lua](http://www.lua.org/) | https://github.com/raysan5/raylib-lua | -| raylib-nelua | 3.0 | [Nelua](https://nelua.io/) | https://github.com/Andre-LA/raylib-nelua | -| raylib-nim | 2.0 | [Nim](https://nim-lang.org/) | https://github.com/Skrylar/raylib-nim | -| raylib-Nim | 1.7 | [Nim](https://nim-lang.org/) | https://gitlab.com/define-private-public/raylib-Nim | -| nim-raylib | 3.1-dev | [Nim](https://nim-lang.org/) | https://github.com/tomc1998/nim-raylib | -| raylib-haskell | 2.0 | [Haskell](https://www.haskell.org/) | https://github.com/DevJac/raylib-haskell | -| raylib-cr | 2.5-dev | [Crystal](https://crystal-lang.org/) | https://github.com/AregevDev/raylib-cr | -| raylib.cr | 2.0 | [Crystal](https://crystal-lang.org/) | https://github.com/sam0x17/raylib.cr | -| cray | 1.8 | [Crystal](https://crystal-lang.org/) | https://gitlab.com/Zatherz/cray | -| raylib-pas | 3.0 | [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language)) | https://github.com/tazdij/raylib-pas | -| raylib-pascal | 2.0 | [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language)) | https://github.com/drezgames/raylib-pascal | -| Graphics-Raylib | 1.4 | [Perl](https://www.perl.org/) | https://github.com/athreef/Graphics-Raylib | -| raylib-ruby | 2.6 | [Ruby](https://www.ruby-lang.org/en/) | https://github.com/a0/raylib-ruby | -| raylib-ruby-ffi | 2.0 | [Ruby](https://www.ruby-lang.org/en/) | https://github.com/D3nX/raylib-ruby-ffi | -| raylib-mruby | 2.5-dev | [mruby](https://github.com/mruby/mruby) | https://github.com/lihaochen910/raylib-mruby | -| raylib-java | 2.0 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | https://github.com/XoanaIO/raylib-java | -| clj-raylib | 3.0 | [Clojure](https://clojure.org/) | https://github.com/lsevero/clj-raylib | -| QuickJS-raylib | 3.0 | [QuickJS](https://bellard.org/quickjs/) | https://github.com/sntg-p/QuickJS-raylib | -| raylib-duktape | 2.6 | [JavaScript (Duktape)](https://en.wikipedia.org/wiki/JavaScript) | https://github.com/RobLoach/raylib-duktape | -| raylib-v7 | 3.5 | [JavaScript (v7)](https://en.wikipedia.org/wiki/JavaScript) | https://github.com/Rabios/raylib-v7 | -| raylib-chaiscript | 2.6 | [ChaiScript](http://chaiscript.com/) | https://github.com/RobLoach/raylib-chaiscript | -| raylib-squirrel | 2.5 | [Squirrel](http://www.squirrel-lang.org/) | https://github.com/RobLoach/raylib-squirrel | -| racket-raylib-2d | 2.5 | [Racket](https://racket-lang.org/) | https://github.com/arvyy/racket-raylib-2d | -| raylib-php-ffi | 2.4-dev | [PHP](https://en.wikipedia.org/wiki/PHP) | https://github.com/oraoto/raylib-php-ffi | -| raylib-haxe | 2.4 | [Haxe](https://haxe.org/) | https://github.com/ibilon/raylib-haxe | -| ringraylib | 2.6 | [Ring](http://ring-lang.sourceforge.net/) | https://github.com/ringpackages/ringraylib | -| raylib-scm | 2.5 | [Chicken Scheme](https://www.call-cc.org/) | https://github.com/yashrk/raylib-scm | -| raylib-chibi | 2.5 | [Chibi-Scheme](https://github.com/ashinn/chibi-scheme) | https://github.com/VincentToups/raylib-chibi | -| raylib-gambit-scheme | 3.1-dev | [Gambit Scheme](https://github.com/gambit/gambit) | https://github.com/georgjz/raylib-gambit-scheme | -| Euraylib | 3.0 | [Euphoria](https://openeuphoria.org/) | https://github.com/gAndy50/Euraylib | -| raylib-odin | 3.0 | [Odin](https://odin-lang.org/) | https://github.com/kevinw/raylib-odin | -| vraylib | 3.5 | [V](https://vlang.io/) | https://github.com/waotzi/vraylib | -| raylib-vala | 3.0 | [Vala](https://wiki.gnome.org/Projects/Vala) | https://code.guddler.uk/mart/raylibVapi | -| raylib-jai | 3.1-dev | [Jai](https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md) | https://github.com/kujukuju/raylib-jai | -| ray.zig | 2.5 | [Zig](https://ziglang.org/) | https://github.com/BitPuffin/zig-raylib-experiments | -| raylib-Ada | 3.0 | [Ada](https://www.adacore.com/about-ada) | https://github.com/mimo/raylib-Ada | -| raykit | ? | [Kit](https://www.kitlang.org/) | https://github.com/Gamerfiend/raykit | -| ray.mod | 3.0 | [BlitzMax](https://blitzmax.org/) | https://github.com/bmx-ng/ray.mod | -| raylib-mosaic | 3.0 | [Mosaic](https://github.com/sal55/langs/tree/master/Mosaic) | https://github.com/pluckyporcupine/raylib-mosaic | -| raylib-xdpw | 2.6 | [XD Pascal](https://github.com/vtereshkov/xdpw) | https://github.com/vtereshkov/raylib-xdpw | -| raylib-carp | 3.0 | [Carp](https://github.com/carp-lang/Carp) | https://github.com/pluckyporcupine/raylib-carp | -| raylib-fb | 3.0 | [FreeBasic](https://www.freebasic.net/) | https://github.com/IchMagBier/raylib-fb | -| raylib-purebasic | 3.0 | [PureBasic](https://www.purebasic.com/) | https://github.com/D-a-n-i-l-o/raylib-purebasic | -| raylib-ats2 | 3.0 | [ATS2](http://www.ats-lang.org/) | https://github.com/mephistopheles-8/raylib-ats2 | -| raylib-beef | 3.0 | [Beef](https://www.beeflang.org/) | https://github.com/M0n7y5/raylib-beef | -| raylib-never | 3.0 | [Never](https://github.com/never-lang/never) | https://github.com/never-lang/raylib-never | -| raylib.cbl | 2.0 | [COBOL](https://en.wikipedia.org/wiki/COBOL) | *[code examples](https://github.com/Martinfx/Cobol/tree/master/OpenCobol/Games/raylib)* | +These are older raylib bindings that are more than 2 versions old or have not been maintained. +| Name | raylib Version | Language | +| ---------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------- | +| [raylib-cppsharp](https://github.com/phxvyper/raylib-cppsharp) | 2.5 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | +| [RaylibFS](https://github.com/dallinbeutler/RaylibFS) | 2.5 | [F#](https://fsharp.org) | +| [raylib\*d](https://github.com/Sepheus/raylib_d) | 2.5 | [D](https://dlang.org) | +| [bindbc-raylib](https://github.com/o3o/bindbc-raylib) | 3.0 | [D](https://dlang.org) | +| [go-raylib](https://github.com/chunqian/go-raylib) | 3.5 | [Go](https://golang.org) | +| [raylib-goplus](https://github.com/Lachee/raylib-goplus) | 2.6-dev | [Go](https://golang.org) | +| [ray-go](https://github.com/hecate-tech/ray-go) | 2.6-dev | [Go](https://golang.org) | +| [raylib-luamore](https://github.com/HDPLocust/raylib-luamore) | 3.0 | [Lua](http://www.lua.org) | +| [LuaJIT-Raylib](https://github.com/Bambofy/LuaJIT-Raylib) | 2.6 | [Lua](http://www.lua.org) | +| [raylib-lua-sol](https://github.com/RobLoach/raylib-lua-sol) | 2.5 | [Lua](http://www.lua.org) | +| [raylib-lua-ffi](https://github.com/raysan5/raylib/issues/693) | 2.0 | [Lua](http://www.lua.org) | +| [raylib-lua](https://github.com/raysan5/raylib-lua) | 1.7 | [Lua](http://www.lua.org) | +| [raylib-nelua](https://github.com/Andre-LA/raylib-nelua) | 3.0 | [Nelua](https://nelua.io) | +| [raylib-nim](https://github.com/Skrylar/raylib-nim) | 2.0 | [Nim](https://nim-lang.org) | +| [raylib-Nim](https://gitlab.com/define-private-public/raylib-Nim) | 1.7 | [Nim](https://nim-lang.org) | +| [nim-raylib](https://github.com/tomc1998/nim-raylib) | 3.1-dev | [Nim](https://nim-lang.org) | +| [raylib-haskell](https://github.com/DevJac/raylib-haskell) | 2.0 | [Haskell](https://www.haskell.org) | +| [raylib-cr](https://github.com/AregevDev/raylib-cr) | 2.5-dev | [Crystal](https://crystal-lang.org) | +| [raylib.cr](https://github.com/sam0x17/raylib.cr) | 2.0 | [Crystal](https://crystal-lang.org) | +| [cray](https://gitlab.com/Zatherz/cray) | 1.8 | [Crystal](https://crystal-lang.org) | +| [raylib-pas](https://github.com/tazdij/raylib-pas) | 3.0 | [Pascal](https://en.wikipedia.org/wiki/Pascal*(programming*language)) | +| [raylib-pascal](https://github.com/drezgames/raylib-pascal) | 2.0 | [Pascal](https://en.wikipedia.org/wiki/Pascal*(programming*language)) | +| [Graphics-Raylib](https://github.com/athreef/Graphics-Raylib) | 1.4 | [Perl](https://www.perl.org) | +| [raylib-ruby](https://github.com/a0/raylib-ruby) | 2.6 | [Ruby](https://www.ruby-lang.org/en) | +| [raylib-ruby-ffi](https://github.com/D3nX/raylib-ruby-ffi) | 2.0 | [Ruby](https://www.ruby-lang.org/en) | +| [raylib-mruby](https://github.com/lihaochen910/raylib-mruby) | 2.5-dev | [mruby](https://github.com/mruby/mruby) | +| [raylib-java](https://github.com/XoanaIO/raylib-java) | 2.0 | [Java](https://en.wikipedia.org/wiki/Java*(programming_language)) | +| [clj-raylib](https://github.com/lsevero/clj-raylib) | 3.0 | [Clojure](https://clojure.org) | +| [QuickJS-raylib](https://github.com/sntg-p/QuickJS-raylib) | 3.0 | [QuickJS](https://bellard.org/quickjs) | +| [raylib-duktape](https://github.com/RobLoach/raylib-duktape) | 2.6 | [JavaScript (Duktape)](https://en.wikipedia.org/wiki/JavaScript) | +| [raylib-v7](https://github.com/Rabios/raylib-v7) | 3.5 | [JavaScript (v7)](https://en.wikipedia.org/wiki/JavaScript) | +| [raylib-chaiscript](https://github.com/RobLoach/raylib-chaiscript) | 2.6 | [ChaiScript](http://chaiscript.com) | +| [raylib-squirrel](https://github.com/RobLoach/raylib-squirrel) | 2.5 | [Squirrel](http://www.squirrel-lang.org) | +| [racket-raylib-2d](https://github.com/arvyy/racket-raylib-2d) | 2.5 | [Racket](https://racket-lang.org) | +| [raylib-php-ffi](https://github.com/oraoto/raylib-php-ffi) | 2.4-dev | [PHP](https://en.wikipedia.org/wiki/PHP) | +| [raylib-haxe](https://github.com/ibilon/raylib-haxe) | 2.4 | [Haxe](https://haxe.org) | +| [ringraylib](https://github.com/ringpackages/ringraylib) | 2.6 | [Ring](http://ring-lang.sourceforge.net) | +| [raylib-scm](https://github.com/yashrk/raylib-scm) | 2.5 | [Chicken Scheme](https://www.call-cc.org) | +| [raylib-chibi](https://github.com/VincentToups/raylib-chibi) | 2.5 | [Chibi-Scheme](https://github.com/ashinn/chibi-scheme) | +| [raylib-gambit-scheme](https://github.com/georgjz/raylib-gambit-scheme) | 3.1-dev | [Gambit Scheme](https://github.com/gambit/gambit) | +| [Euraylib](https://github.com/gAndy50/Euraylib) | 3.0 | [Euphoria](https://openeuphoria.org) | +| [raylib-odin](https://github.com/kevinw/raylib-odin) | 3.0 | [Odin](https://odin-lang.org) | +| [vraylib](https://github.com/waotzi/vraylib) | 3.5 | [V](https://vlang.io) | +| [raylib-vala](https://code.guddler.uk/mart/raylibVapi) | 3.0 | [Vala](https://wiki.gnome.org/Projects/Vala) | +| [raylib-jai](https://github.com/kujukuju/raylib-jai) | 3.1-dev | [Jai](https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md) | +| [ray.zig](https://github.com/BitPuffin/zig-raylib-experiments) | 2.5 | [Zig](https://ziglang.org) | +| [raylib-Ada](https://github.com/mimo/raylib-Ada) | 3.0 | [Ada](https://www.adacore.com/about-ada) | +| [raykit](https://github.com/Gamerfiend/raykit) | **???** | [Kit](https://www.kitlang.org) | +| [ray.mod](https://github.com/bmx-ng/ray.mod) | 3.0 | [BlitzMax](https://blitzmax.org) | +| [raylib-mosaic](https://github.com/pluckyporcupine/raylib-mosaic) | 3.0 | [Mosaic](https://github.com/sal55/langs/tree/master/Mosaic) | +| [raylib-xdpw](https://github.com/vtereshkov/raylib-xdpw) | 2.6 | [XD Pascal](https://github.com/vtereshkov/xdpw) | +| [raylib-carp](https://github.com/pluckyporcupine/raylib-carp) | 3.0 | [Carp](https://github.com/carp-lang/Carp) | +| [raylib-fb](https://github.com/IchMagBier/raylib-fb) | 3.0 | [FreeBasic](https://www.freebasic.net) | +| [raylib-purebasic](https://github.com/D-a-n-i-l-o/raylib-purebasic) | 3.0 | [PureBasic](https://www.purebasic.com) | +| [raylib-ats2](https://github.com/mephistopheles-8/raylib-ats2) | 3.0 | [ATS2](http://www.ats-lang.org) | +| [raylib-beef](https://github.com/M0n7y5/raylib-beef) | 3.0 | [Beef](https://www.beeflang.org) | +| [raylib-never](https://github.com/never-lang/raylib-never) | 3.0 | [Never](https://github.com/never-lang/never) | +| [raylib.cbl](https://github.com/Martinfx/Cobol/tree/master/OpenCobol/Games/raylib) | 2.0 | [COBOL](https://en.wikipedia.org/wiki/COBOL) | Missing some language or wrapper? Feel free to create a new one! :) From b2f4f4d8fd3f780ec6f711ede668d8de17abb792 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 21 May 2024 13:10:38 +0200 Subject: [PATCH 299/745] Update BINDINGS.md --- BINDINGS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 3996105d9..04102f707 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -5,7 +5,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to ### Language Bindings | Name | raylib Version | Language | License | -| ---------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------- | -------------------- | +| :--------------------------------------------------------------------------------------- | :--------------: | :------------------------------------------------------------------: | :------------------: | | [raylib](https://github.com/raysan5/raylib) | **5.0** | [C/C++](https://en.wikipedia.org/wiki/C_(programming_language)) | Zlib | | [raylib-beef](https://github.com/Starpelly/raylib-beef) | **5.0** | [Beef](https://www.beeflang.org) | MIT | | [raylib-boo](https://github.com/Rabios/raylib-boo) | 3.7 | [Boo](http://boo-language.github.io) | MIT | @@ -89,7 +89,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to These are utility wrappers for specific languages, they are not required to use raylib in the language but may adapt the raylib API to be more inline with the language's pardigm. | Name | raylib Version | Language | License | -| ---------------------------------------------------- | -------------- | -------------------------------------------- | ------- | +| ---------------------------------------------------- | :------------: | :------------------------------------------: | :-----: | | [raylib-cpp](https://github.com/robloach/raylib-cpp) | **5.0** | [C++](https://en.wikipedia.org/wiki/C%2B%2B) | Zlib | | [claylib](https://github.com/defun-games/claylib) | 4.5 | [Common Lisp](https://common-lisp.net) | Zlib | @@ -97,7 +97,7 @@ These are utility wrappers for specific languages, they are not required to use These are older raylib bindings that are more than 2 versions old or have not been maintained. | Name | raylib Version | Language | -| ---------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------- | +| ---------------------------------------------------------------------------------- | :------------: | :---------------------------------------------------------------------: | | [raylib-cppsharp](https://github.com/phxvyper/raylib-cppsharp) | 2.5 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | | [RaylibFS](https://github.com/dallinbeutler/RaylibFS) | 2.5 | [F#](https://fsharp.org) | | [raylib\*d](https://github.com/Sepheus/raylib_d) | 2.5 | [D](https://dlang.org) | From c4a51a3ebdaa3a5bd1414d0b293e1a5100f578f6 Mon Sep 17 00:00:00 2001 From: Salvador Galindo Date: Tue, 21 May 2024 04:47:26 -0700 Subject: [PATCH 300/745] fixed out of bounds error in GenMeshTangents (#3990) --- src/rmodels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 27c19a3c7..2ef030186 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -3431,7 +3431,7 @@ void GenMeshTangents(Mesh *mesh) Vector3 *tan1 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); Vector3 *tan2 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); - for (int i = 0; i < mesh->vertexCount; i += 3) + for (int i = 0; i < mesh->vertexCount - 3; i += 3) { // Get triangle vertices Vector3 v1 = { mesh->vertices[(i + 0)*3 + 0], mesh->vertices[(i + 0)*3 + 1], mesh->vertices[(i + 0)*3 + 2] }; From 9ef29aff9aa08e64ac2d25048829de7459ee7d25 Mon Sep 17 00:00:00 2001 From: OetkenPurveyorOfCode Date: Tue, 21 May 2024 15:44:02 +0200 Subject: [PATCH 301/745] [rtextures] Fix Undefined behaviour in ColorToInt (#3996) --- src/rtextures.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 47ff83f5c..ca4c60d16 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -4510,9 +4510,7 @@ Color Fade(Color color, float alpha) // Get hexadecimal value for a Color int ColorToInt(Color color) { - int result = (((int)color.r << 24) | ((int)color.g << 16) | ((int)color.b << 8) | (int)color.a); - - return result; + return (int)(((unsigned)color.r << 24) | ((unsigned)color.g << 16) | ((unsigned)color.b << 8) | color.a); } // Get color normalized as float [0..1] From c7f098f4d26753367c33743557c0db016eac25eb Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Tue, 21 May 2024 20:48:48 +0200 Subject: [PATCH 302/745] Call SDL_GL_SetSwapInterval() after GL context creation (#3997) --- src/platforms/rcore_desktop_sdl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 9dfdd53ab..78fb39f76 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1499,11 +1499,6 @@ int InitPlatform(void) SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); } - if (CORE.Window.flags & FLAG_VSYNC_HINT) - { - SDL_GL_SetSwapInterval(1); - } - if (CORE.Window.flags & FLAG_MSAA_4X_HINT) { SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); @@ -1537,6 +1532,15 @@ int InitPlatform(void) TRACELOG(LOG_INFO, " > Screen size: %i x %i", CORE.Window.screen.width, CORE.Window.screen.height); TRACELOG(LOG_INFO, " > Render size: %i x %i", CORE.Window.render.width, CORE.Window.render.height); TRACELOG(LOG_INFO, " > Viewport offsets: %i, %i", CORE.Window.renderOffset.x, CORE.Window.renderOffset.y); + + if (CORE.Window.flags & FLAG_VSYNC_HINT) + { + SDL_GL_SetSwapInterval(1); + } + else + { + SDL_GL_SetSwapInterval(0); + } } else { From 3abb6d9eaf9565cc3ae47687d85bfd392c982fb4 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 21 May 2024 20:52:48 +0200 Subject: [PATCH 303/745] REVIEWED: `ColorToInt()` PR --- src/rtextures.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/rtextures.c b/src/rtextures.c index ca4c60d16..571387f23 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -4510,7 +4510,14 @@ Color Fade(Color color, float alpha) // Get hexadecimal value for a Color int ColorToInt(Color color) { - return (int)(((unsigned)color.r << 24) | ((unsigned)color.g << 16) | ((unsigned)color.b << 8) | color.a); + int result = 0; + + result = (int)(((unsigned int)color.r << 24) | + ((unsigned int)color.g << 16) | + ((unsigned int)color.b << 8) | + (unsigned int)color.a); + + return result; } // Get color normalized as float [0..1] From b212750b8589a5677972d41c3f0449ef1c8cc34f Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 21 May 2024 20:53:51 +0200 Subject: [PATCH 304/745] Update rcore_desktop_sdl.c --- src/platforms/rcore_desktop_sdl.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 78fb39f76..c22150efb 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1533,14 +1533,8 @@ int InitPlatform(void) TRACELOG(LOG_INFO, " > Render size: %i x %i", CORE.Window.render.width, CORE.Window.render.height); TRACELOG(LOG_INFO, " > Viewport offsets: %i, %i", CORE.Window.renderOffset.x, CORE.Window.renderOffset.y); - if (CORE.Window.flags & FLAG_VSYNC_HINT) - { - SDL_GL_SetSwapInterval(1); - } - else - { - SDL_GL_SetSwapInterval(0); - } + if (CORE.Window.flags & FLAG_VSYNC_HINT) SDL_GL_SetSwapInterval(1); + else SDL_GL_SetSwapInterval(0); } else { From d9c5066382615644137b4f65479c65c44820027a Mon Sep 17 00:00:00 2001 From: Antonis Geralis <43617260+planetis-m@users.noreply.github.com> Date: Tue, 21 May 2024 22:51:19 +0300 Subject: [PATCH 305/745] nim bindings are in 5.1-dev, remove umaintained repos (#3999) * nim bindings are in 5.1-dev, remove umaintained repos * Update BINDINGS.md * move to umaintained * Update BINDINGS.md * github editor is pranking me --- BINDINGS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 04102f707..e5cae30d6 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -45,9 +45,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | [raylib-matte](https://github.com/jcorks/raylib-matte) | 4.6-dev | [Matte](https://github.com/jcorks/matte) | MIT | | [Raylib.nelua](https://github.com/AuzFox/Raylib.nelua) | **5.0** | [nelua](https://nelua.io) | Zlib | | [raylib-bindings](https://github.com/vaiorabbit/raylib-bindings) | 4.5 | [Ruby](https://www.ruby-lang.org/en) | Zlib | -| [NimraylibNow!](https://github.com/greenfork/nimraylib_now) | 4.2 | [Nim](https://nim-lang.org) | MIT | -| [raylib-Forever](https://github.com/Guevara-chan/Raylib-Forever) | auto | [Nim](https://nim-lang.org) | **???** | -| [naylib](https://github.com/planetis-m/naylib) | auto | [Nim](https://nim-lang.org) | MIT | +| [naylib](https://github.com/planetis-m/naylib) | **5.1-dev** | [Nim](https://nim-lang.org) | MIT | | [node-raylib](https://github.com/RobLoach/node-raylib) | 4.5 | [Node.js](https://nodejs.org/en) | Zlib | | [raylib-odin](https://github.com/odin-lang/Odin/tree/master/vendor/raylib) | **5.0** | [Odin](https://odin-lang.org) | BSD-3Clause | | [raylib_odin_bindings](https://github.com/Deathbat2190/raylib_odin_bindings) | 4.0-dev | [Odin](https://odin-lang.org) | MIT | @@ -114,6 +112,8 @@ These are older raylib bindings that are more than 2 versions old or have not be | [raylib-nim](https://github.com/Skrylar/raylib-nim) | 2.0 | [Nim](https://nim-lang.org) | | [raylib-Nim](https://gitlab.com/define-private-public/raylib-Nim) | 1.7 | [Nim](https://nim-lang.org) | | [nim-raylib](https://github.com/tomc1998/nim-raylib) | 3.1-dev | [Nim](https://nim-lang.org) | +| [raylib-Forever](https://github.com/Guevara-chan/Raylib-Forever) | auto | [Nim](https://nim-lang.org) | +| [NimraylibNow!](https://github.com/greenfork/nimraylib_now) | 4.2 | [Nim](https://nim-lang.org) | | [raylib-haskell](https://github.com/DevJac/raylib-haskell) | 2.0 | [Haskell](https://www.haskell.org) | | [raylib-cr](https://github.com/AregevDev/raylib-cr) | 2.5-dev | [Crystal](https://crystal-lang.org) | | [raylib.cr](https://github.com/sam0x17/raylib.cr) | 2.0 | [Crystal](https://crystal-lang.org) | From b429dbdc4b41d57ff00456c73646bb1f6f14d8b5 Mon Sep 17 00:00:00 2001 From: listeria <56203103+ListeriaM@users.noreply.github.com> Date: Fri, 24 May 2024 13:24:40 -0300 Subject: [PATCH 306/745] fix WaveCrop(): update wave->frameCount (#4003) also allow `finalFrame = wave->frameCount' as the range of frames does not include it. Co-authored-by: Listeria monocytogenes --- src/raudio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/raudio.c b/src/raudio.c index e74f8590e..c6bd00165 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1278,7 +1278,7 @@ Wave WaveCopy(Wave wave) // NOTE: Security check in case of out-of-range void WaveCrop(Wave *wave, int initFrame, int finalFrame) { - if ((initFrame >= 0) && (initFrame < finalFrame) && ((unsigned int)finalFrame < wave->frameCount)) + if ((initFrame >= 0) && (initFrame < finalFrame) && ((unsigned int)finalFrame <= wave->frameCount)) { int frameCount = finalFrame - initFrame; @@ -1288,6 +1288,7 @@ void WaveCrop(Wave *wave, int initFrame, int finalFrame) RL_FREE(wave->data); wave->data = data; + wave->frameCount = (unsigned int)frameCount; } else TRACELOG(LOG_WARNING, "WAVE: Crop range out of bounds"); } From 785ec74b92da4f91181ff7b1c89c8ae5ee19f1b6 Mon Sep 17 00:00:00 2001 From: Lionel Briand Date: Fri, 24 May 2024 18:26:17 +0200 Subject: [PATCH 307/745] Update BINDINGS.md (#4004) Add L-Briand/raylib-zig-bindings to the Language Bindings table --- BINDINGS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/BINDINGS.md b/BINDINGS.md index e5cae30d6..118794d52 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -75,6 +75,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to | [raylib-wren](https://github.com/TSnake41/raylib-wren) | 4.0 | [Wren](http://wren.io) | ISC | | [raylib-zig](https://github.com/Not-Nik/raylib-zig) | **5.0** | [Zig](https://ziglang.org) | MIT | | [raylib.zig](https://github.com/ryupold/raylib.zig) | **5.1-dev** | [Zig](https://ziglang.org) | MIT | +| [raylib-zig-bindings](https://github.com/L-Briand/raylib-zig-bindings) | **5.0** | [Zig](https://ziglang.org) | Zlib | | [hare-raylib](https://git.sr.ht/~evantj/hare-raylib) | **auto** | [Hare](https://harelang.org) | Zlib | | [raylib-sunder](https://github.com/ashn-dot-dev/raylib-sunder) | **auto** | [Sunder](https://github.com/ashn-dot-dev/sunder) | 0BSD | | [rayed-bqn](https://github.com/Brian-ED/rayed-bqn) | **auto** | [BQN](https://mlochbaum.github.io/BQN) | MIT | From 9cc7e3528f37dd17c85334c16dffb9392b8a6ad2 Mon Sep 17 00:00:00 2001 From: avx0 Date: Wed, 29 May 2024 15:00:28 +0530 Subject: [PATCH 308/745] [parser] MemoryCopy() calls: Prevent buffer overflow by replacing hard-coded arguments (#4011) In future, if a dev edits the second arg and miscalulates the corresponding 3rd arg, there will be a buffer overflow or the string (2nd arg) will be cut short. This commit prevents that. --- parser/raylib_parser.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index 3e36f41f1..63f957284 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -202,9 +202,12 @@ int main(int argc, char* argv[]) { if (argc > 1) ProcessCommandLine(argc, argv); - if (inFileName[0] == '\0') MemoryCopy(inFileName, "../src/raylib.h\0", 16); - if (outFileName[0] == '\0') MemoryCopy(outFileName, "raylib_api.txt\0", 15); - if (apiDefine[0] == '\0') MemoryCopy(apiDefine, "RLAPI\0", 6); + const char *raylibhPath = "../src/raylib.h\0"; + const char *raylibapiPath = "raylib_api.txt\0"; + const char *rlapiPath = "RLAPI\0"; + if (inFileName[0] == '\0') MemoryCopy(inFileName, raylibhPath, TextLength(raylibhPath) + 1); + if (outFileName[0] == '\0') MemoryCopy(outFileName, raylibapiPath, TextLength(raylibapiPath) + 1); + if (apiDefine[0] == '\0') MemoryCopy(apiDefine, rlapiPath, TextLength(rlapiPath) + 1); int length = 0; char *buffer = LoadFileText(inFileName, &length); @@ -1277,8 +1280,10 @@ static void GetDataTypeAndName(const char *typeName, int typeNameLen, char *type } else if ((typeName[k] == '.') && (typeNameLen == 3)) // Handle varargs ...); { - MemoryCopy(type, "...", 3); - MemoryCopy(name, "args", 4); + const char *varargsDots = "..."; + const char *varargsArg = "args"; + MemoryCopy(type, varargsDots, TextLength(varargsDots)); + MemoryCopy(name, varargsArg, TextLength(varargsArg)); break; } } From 797de0f9ad6f69f78131591f9393e9e0ef9486a2 Mon Sep 17 00:00:00 2001 From: Le Juez Victor <90587919+Bigfoot71@users.noreply.github.com> Date: Wed, 29 May 2024 13:16:19 +0200 Subject: [PATCH 309/745] [rmodels] Multiplication of colors in `DrawModelEx` which can be simplified (#4002) * simplifies color multiplication `DrawModelEx` * add explicit casts --- src/rmodels.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 2ef030186..4bf042d5c 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -3546,10 +3546,10 @@ void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rota Color color = model.materials[model.meshMaterial[i]].maps[MATERIAL_MAP_DIFFUSE].color; Color colorTint = WHITE; - colorTint.r = (unsigned char)((((float)color.r/255.0f)*((float)tint.r/255.0f))*255.0f); - colorTint.g = (unsigned char)((((float)color.g/255.0f)*((float)tint.g/255.0f))*255.0f); - colorTint.b = (unsigned char)((((float)color.b/255.0f)*((float)tint.b/255.0f))*255.0f); - colorTint.a = (unsigned char)((((float)color.a/255.0f)*((float)tint.a/255.0f))*255.0f); + colorTint.r = (unsigned char)(((int)color.r*(int)tint.r)/255); + colorTint.g = (unsigned char)(((int)color.g*(int)tint.g)/255); + colorTint.b = (unsigned char)(((int)color.b*(int)tint.b)/255); + colorTint.a = (unsigned char)(((int)color.a*(int)tint.a)/255); model.materials[model.meshMaterial[i]].maps[MATERIAL_MAP_DIFFUSE].color = colorTint; DrawMesh(model.meshes[i], model.materials[model.meshMaterial[i]], model.transform); From c335c3c52c27ee68765ab3c3dde65190dbebe55c Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 29 May 2024 17:01:42 +0200 Subject: [PATCH 310/745] ADDED: `IsFileNameValid()` --- src/raylib.h | 1 + src/rcore.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index c53ea555b..e810dcdca 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1124,6 +1124,7 @@ RLAPI const char *GetWorkingDirectory(void); // Get current RLAPI const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string) RLAPI bool ChangeDirectory(const char *dir); // Change working directory, return true on success RLAPI bool IsPathFile(const char *path); // Check if a given path is a file or a directory +RLAPI bool IsFileNameValid(const char *fileName); // Check if fileName is valid for the platform/OS RLAPI FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths RLAPI FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan RLAPI void UnloadDirectoryFiles(FilePathList files); // Unload filepaths diff --git a/src/rcore.c b/src/rcore.c index 1db865187..3aa5a7a65 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2244,6 +2244,64 @@ bool IsPathFile(const char *path) return S_ISREG(result.st_mode); } +// Check if fileName is valid for the platform/OS +bool IsFileNameValid(const char *fileName) +{ + bool valid = true; + + if ((fileName != NULL) && (fileName[0] != '\0')) + { + int length = strlen(fileName); + bool allPeriods = true; + + for (int i = 0; i < length; i++) + { + // Check invalid characters + if ((fileName[i] == '<') || + (fileName[i] == '>') || + (fileName[i] == ':') || + (fileName[i] == '\"') || + (fileName[i] == '/') || + (fileName[i] == '\\') || + (fileName[i] == '|') || + (fileName[i] == '?') || + (fileName[i] == '*')) { valid = false; break; } + + // Check non-glyph characters + if ((unsigned char)fileName[i] < 32) { valid = false; break; } + + // TODO: Check trailing periods/spaces? + + // Check if filename is not all periods + if (fileName[i] != '.') allPeriods = false; + } + + if (allPeriods) valid = false; + +/* + if (valid) + { + // Check invalid DOS names + if (length >= 3) + { + if (((fileName[0] == 'C') && (fileName[1] == 'O') && (fileName[2] == 'N')) || // CON + ((fileName[0] == 'P') && (fileName[1] == 'R') && (fileName[2] == 'N')) || // PRN + ((fileName[0] == 'A') && (fileName[1] == 'U') && (fileName[2] == 'X')) || // AUX + ((fileName[0] == 'N') && (fileName[1] == 'U') && (fileName[2] == 'L'))) valid = false; // NUL + } + + if (length >= 4) + { + if (((fileName[0] == 'C') && (fileName[1] == 'O') && (fileName[2] == 'M') && ((fileName[3] >= '0') && (fileName[3] <= '9'))) || // COM0-9 + ((fileName[0] == 'L') && (fileName[1] == 'P') && (fileName[2] == 'T') && ((fileName[3] >= '0') && (fileName[3] <= '9')))) valid = false; // LPT0-9 + } + } +*/ + } + + return valid; +} + // Check if a file has been dropped into window bool IsFileDropped(void) { From a942a3bc70d994183fdd94b0346ba34211c50b20 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 29 May 2024 15:02:00 +0000 Subject: [PATCH 311/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 11 + parser/output/raylib_api.lua | 8 + parser/output/raylib_api.txt | 861 +++++++++++++++++----------------- parser/output/raylib_api.xml | 5 +- 4 files changed, 456 insertions(+), 429 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 5a9f4fc5d..f2a9cc61e 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -4499,6 +4499,17 @@ } ] }, + { + "name": "IsFileNameValid", + "description": "Check if fileName is valid for the platform/OS", + "returnType": "bool", + "params": [ + { + "type": "const char *", + "name": "fileName" + } + ] + }, { "name": "LoadDirectoryFiles", "description": "Load directory filepaths", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index d60ea191c..68fef97bb 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -4058,6 +4058,14 @@ return { {type = "const char *", name = "path"} } }, + { + name = "IsFileNameValid", + description = "Check if fileName is valid for the platform/OS", + returnType = "bool", + params = { + {type = "const char *", name = "fileName"} + } + }, { name = "LoadDirectoryFiles", description = "Load directory filepaths", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index f4973dae6..d6576dee5 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 562 +Functions found: 563 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -1709,358 +1709,363 @@ Function 135: IsPathFile() (1 input parameters) Return type: bool Description: Check if a given path is a file or a directory Param[1]: path (type: const char *) -Function 136: LoadDirectoryFiles() (1 input parameters) +Function 136: IsFileNameValid() (1 input parameters) + Name: IsFileNameValid + Return type: bool + Description: Check if fileName is valid for the platform/OS + Param[1]: fileName (type: const char *) +Function 137: LoadDirectoryFiles() (1 input parameters) Name: LoadDirectoryFiles Return type: FilePathList Description: Load directory filepaths Param[1]: dirPath (type: const char *) -Function 137: LoadDirectoryFilesEx() (3 input parameters) +Function 138: LoadDirectoryFilesEx() (3 input parameters) Name: LoadDirectoryFilesEx Return type: FilePathList Description: Load directory filepaths with extension filtering and recursive directory scan Param[1]: basePath (type: const char *) Param[2]: filter (type: const char *) Param[3]: scanSubdirs (type: bool) -Function 138: UnloadDirectoryFiles() (1 input parameters) +Function 139: UnloadDirectoryFiles() (1 input parameters) Name: UnloadDirectoryFiles Return type: void Description: Unload filepaths Param[1]: files (type: FilePathList) -Function 139: IsFileDropped() (0 input parameters) +Function 140: IsFileDropped() (0 input parameters) Name: IsFileDropped Return type: bool Description: Check if a file has been dropped into window No input parameters -Function 140: LoadDroppedFiles() (0 input parameters) +Function 141: LoadDroppedFiles() (0 input parameters) Name: LoadDroppedFiles Return type: FilePathList Description: Load dropped filepaths No input parameters -Function 141: UnloadDroppedFiles() (1 input parameters) +Function 142: UnloadDroppedFiles() (1 input parameters) Name: UnloadDroppedFiles Return type: void Description: Unload dropped filepaths Param[1]: files (type: FilePathList) -Function 142: GetFileModTime() (1 input parameters) +Function 143: GetFileModTime() (1 input parameters) Name: GetFileModTime Return type: long Description: Get file modification time (last write time) Param[1]: fileName (type: const char *) -Function 143: CompressData() (3 input parameters) +Function 144: CompressData() (3 input parameters) Name: CompressData Return type: unsigned char * Description: Compress data (DEFLATE algorithm), memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: dataSize (type: int) Param[3]: compDataSize (type: int *) -Function 144: DecompressData() (3 input parameters) +Function 145: DecompressData() (3 input parameters) Name: DecompressData Return type: unsigned char * Description: Decompress data (DEFLATE algorithm), memory must be MemFree() Param[1]: compData (type: const unsigned char *) Param[2]: compDataSize (type: int) Param[3]: dataSize (type: int *) -Function 145: EncodeDataBase64() (3 input parameters) +Function 146: EncodeDataBase64() (3 input parameters) Name: EncodeDataBase64 Return type: char * Description: Encode data to Base64 string, memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: dataSize (type: int) Param[3]: outputSize (type: int *) -Function 146: DecodeDataBase64() (2 input parameters) +Function 147: DecodeDataBase64() (2 input parameters) Name: DecodeDataBase64 Return type: unsigned char * Description: Decode Base64 string data, memory must be MemFree() Param[1]: data (type: const unsigned char *) Param[2]: outputSize (type: int *) -Function 147: LoadAutomationEventList() (1 input parameters) +Function 148: LoadAutomationEventList() (1 input parameters) Name: LoadAutomationEventList Return type: AutomationEventList Description: Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS Param[1]: fileName (type: const char *) -Function 148: UnloadAutomationEventList() (1 input parameters) +Function 149: UnloadAutomationEventList() (1 input parameters) Name: UnloadAutomationEventList Return type: void Description: Unload automation events list from file Param[1]: list (type: AutomationEventList) -Function 149: ExportAutomationEventList() (2 input parameters) +Function 150: ExportAutomationEventList() (2 input parameters) Name: ExportAutomationEventList Return type: bool Description: Export automation events list as text file Param[1]: list (type: AutomationEventList) Param[2]: fileName (type: const char *) -Function 150: SetAutomationEventList() (1 input parameters) +Function 151: SetAutomationEventList() (1 input parameters) Name: SetAutomationEventList Return type: void Description: Set automation event list to record to Param[1]: list (type: AutomationEventList *) -Function 151: SetAutomationEventBaseFrame() (1 input parameters) +Function 152: SetAutomationEventBaseFrame() (1 input parameters) Name: SetAutomationEventBaseFrame Return type: void Description: Set automation event internal base frame to start recording Param[1]: frame (type: int) -Function 152: StartAutomationEventRecording() (0 input parameters) +Function 153: StartAutomationEventRecording() (0 input parameters) Name: StartAutomationEventRecording Return type: void Description: Start recording automation events (AutomationEventList must be set) No input parameters -Function 153: StopAutomationEventRecording() (0 input parameters) +Function 154: StopAutomationEventRecording() (0 input parameters) Name: StopAutomationEventRecording Return type: void Description: Stop recording automation events No input parameters -Function 154: PlayAutomationEvent() (1 input parameters) +Function 155: PlayAutomationEvent() (1 input parameters) Name: PlayAutomationEvent Return type: void Description: Play a recorded automation event Param[1]: event (type: AutomationEvent) -Function 155: IsKeyPressed() (1 input parameters) +Function 156: IsKeyPressed() (1 input parameters) Name: IsKeyPressed Return type: bool Description: Check if a key has been pressed once Param[1]: key (type: int) -Function 156: IsKeyPressedRepeat() (1 input parameters) +Function 157: IsKeyPressedRepeat() (1 input parameters) Name: IsKeyPressedRepeat Return type: bool Description: Check if a key has been pressed again (Only PLATFORM_DESKTOP) Param[1]: key (type: int) -Function 157: IsKeyDown() (1 input parameters) +Function 158: IsKeyDown() (1 input parameters) Name: IsKeyDown Return type: bool Description: Check if a key is being pressed Param[1]: key (type: int) -Function 158: IsKeyReleased() (1 input parameters) +Function 159: IsKeyReleased() (1 input parameters) Name: IsKeyReleased Return type: bool Description: Check if a key has been released once Param[1]: key (type: int) -Function 159: IsKeyUp() (1 input parameters) +Function 160: IsKeyUp() (1 input parameters) Name: IsKeyUp Return type: bool Description: Check if a key is NOT being pressed Param[1]: key (type: int) -Function 160: GetKeyPressed() (0 input parameters) +Function 161: GetKeyPressed() (0 input parameters) Name: GetKeyPressed Return type: int Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty No input parameters -Function 161: GetCharPressed() (0 input parameters) +Function 162: GetCharPressed() (0 input parameters) Name: GetCharPressed Return type: int Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty No input parameters -Function 162: SetExitKey() (1 input parameters) +Function 163: SetExitKey() (1 input parameters) Name: SetExitKey Return type: void Description: Set a custom key to exit program (default is ESC) Param[1]: key (type: int) -Function 163: IsGamepadAvailable() (1 input parameters) +Function 164: IsGamepadAvailable() (1 input parameters) Name: IsGamepadAvailable Return type: bool Description: Check if a gamepad is available Param[1]: gamepad (type: int) -Function 164: GetGamepadName() (1 input parameters) +Function 165: GetGamepadName() (1 input parameters) Name: GetGamepadName Return type: const char * Description: Get gamepad internal name id Param[1]: gamepad (type: int) -Function 165: IsGamepadButtonPressed() (2 input parameters) +Function 166: IsGamepadButtonPressed() (2 input parameters) Name: IsGamepadButtonPressed Return type: bool Description: Check if a gamepad button has been pressed once Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 166: IsGamepadButtonDown() (2 input parameters) +Function 167: IsGamepadButtonDown() (2 input parameters) Name: IsGamepadButtonDown Return type: bool Description: Check if a gamepad button is being pressed Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 167: IsGamepadButtonReleased() (2 input parameters) +Function 168: IsGamepadButtonReleased() (2 input parameters) Name: IsGamepadButtonReleased Return type: bool Description: Check if a gamepad button has been released once Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 168: IsGamepadButtonUp() (2 input parameters) +Function 169: IsGamepadButtonUp() (2 input parameters) Name: IsGamepadButtonUp Return type: bool Description: Check if a gamepad button is NOT being pressed Param[1]: gamepad (type: int) Param[2]: button (type: int) -Function 169: GetGamepadButtonPressed() (0 input parameters) +Function 170: GetGamepadButtonPressed() (0 input parameters) Name: GetGamepadButtonPressed Return type: int Description: Get the last gamepad button pressed No input parameters -Function 170: GetGamepadAxisCount() (1 input parameters) +Function 171: GetGamepadAxisCount() (1 input parameters) Name: GetGamepadAxisCount Return type: int Description: Get gamepad axis count for a gamepad Param[1]: gamepad (type: int) -Function 171: GetGamepadAxisMovement() (2 input parameters) +Function 172: GetGamepadAxisMovement() (2 input parameters) Name: GetGamepadAxisMovement Return type: float Description: Get axis movement value for a gamepad axis Param[1]: gamepad (type: int) Param[2]: axis (type: int) -Function 172: SetGamepadMappings() (1 input parameters) +Function 173: SetGamepadMappings() (1 input parameters) Name: SetGamepadMappings Return type: int Description: Set internal gamepad mappings (SDL_GameControllerDB) Param[1]: mappings (type: const char *) -Function 173: SetGamepadVibration() (3 input parameters) +Function 174: SetGamepadVibration() (3 input parameters) Name: SetGamepadVibration Return type: void Description: Set gamepad vibration for both motors Param[1]: gamepad (type: int) Param[2]: leftMotor (type: float) Param[3]: rightMotor (type: float) -Function 174: IsMouseButtonPressed() (1 input parameters) +Function 175: IsMouseButtonPressed() (1 input parameters) Name: IsMouseButtonPressed Return type: bool Description: Check if a mouse button has been pressed once Param[1]: button (type: int) -Function 175: IsMouseButtonDown() (1 input parameters) +Function 176: IsMouseButtonDown() (1 input parameters) Name: IsMouseButtonDown Return type: bool Description: Check if a mouse button is being pressed Param[1]: button (type: int) -Function 176: IsMouseButtonReleased() (1 input parameters) +Function 177: IsMouseButtonReleased() (1 input parameters) Name: IsMouseButtonReleased Return type: bool Description: Check if a mouse button has been released once Param[1]: button (type: int) -Function 177: IsMouseButtonUp() (1 input parameters) +Function 178: IsMouseButtonUp() (1 input parameters) Name: IsMouseButtonUp Return type: bool Description: Check if a mouse button is NOT being pressed Param[1]: button (type: int) -Function 178: GetMouseX() (0 input parameters) +Function 179: GetMouseX() (0 input parameters) Name: GetMouseX Return type: int Description: Get mouse position X No input parameters -Function 179: GetMouseY() (0 input parameters) +Function 180: GetMouseY() (0 input parameters) Name: GetMouseY Return type: int Description: Get mouse position Y No input parameters -Function 180: GetMousePosition() (0 input parameters) +Function 181: GetMousePosition() (0 input parameters) Name: GetMousePosition Return type: Vector2 Description: Get mouse position XY No input parameters -Function 181: GetMouseDelta() (0 input parameters) +Function 182: GetMouseDelta() (0 input parameters) Name: GetMouseDelta Return type: Vector2 Description: Get mouse delta between frames No input parameters -Function 182: SetMousePosition() (2 input parameters) +Function 183: SetMousePosition() (2 input parameters) Name: SetMousePosition Return type: void Description: Set mouse position XY Param[1]: x (type: int) Param[2]: y (type: int) -Function 183: SetMouseOffset() (2 input parameters) +Function 184: SetMouseOffset() (2 input parameters) Name: SetMouseOffset Return type: void Description: Set mouse offset Param[1]: offsetX (type: int) Param[2]: offsetY (type: int) -Function 184: SetMouseScale() (2 input parameters) +Function 185: SetMouseScale() (2 input parameters) Name: SetMouseScale Return type: void Description: Set mouse scaling Param[1]: scaleX (type: float) Param[2]: scaleY (type: float) -Function 185: GetMouseWheelMove() (0 input parameters) +Function 186: GetMouseWheelMove() (0 input parameters) Name: GetMouseWheelMove Return type: float Description: Get mouse wheel movement for X or Y, whichever is larger No input parameters -Function 186: GetMouseWheelMoveV() (0 input parameters) +Function 187: GetMouseWheelMoveV() (0 input parameters) Name: GetMouseWheelMoveV Return type: Vector2 Description: Get mouse wheel movement for both X and Y No input parameters -Function 187: SetMouseCursor() (1 input parameters) +Function 188: SetMouseCursor() (1 input parameters) Name: SetMouseCursor Return type: void Description: Set mouse cursor Param[1]: cursor (type: int) -Function 188: GetTouchX() (0 input parameters) +Function 189: GetTouchX() (0 input parameters) Name: GetTouchX Return type: int Description: Get touch position X for touch point 0 (relative to screen size) No input parameters -Function 189: GetTouchY() (0 input parameters) +Function 190: GetTouchY() (0 input parameters) Name: GetTouchY Return type: int Description: Get touch position Y for touch point 0 (relative to screen size) No input parameters -Function 190: GetTouchPosition() (1 input parameters) +Function 191: GetTouchPosition() (1 input parameters) Name: GetTouchPosition Return type: Vector2 Description: Get touch position XY for a touch point index (relative to screen size) Param[1]: index (type: int) -Function 191: GetTouchPointId() (1 input parameters) +Function 192: GetTouchPointId() (1 input parameters) Name: GetTouchPointId Return type: int Description: Get touch point identifier for given index Param[1]: index (type: int) -Function 192: GetTouchPointCount() (0 input parameters) +Function 193: GetTouchPointCount() (0 input parameters) Name: GetTouchPointCount Return type: int Description: Get number of touch points No input parameters -Function 193: SetGesturesEnabled() (1 input parameters) +Function 194: SetGesturesEnabled() (1 input parameters) Name: SetGesturesEnabled Return type: void Description: Enable a set of gestures using flags Param[1]: flags (type: unsigned int) -Function 194: IsGestureDetected() (1 input parameters) +Function 195: IsGestureDetected() (1 input parameters) Name: IsGestureDetected Return type: bool Description: Check if a gesture have been detected Param[1]: gesture (type: unsigned int) -Function 195: GetGestureDetected() (0 input parameters) +Function 196: GetGestureDetected() (0 input parameters) Name: GetGestureDetected Return type: int Description: Get latest detected gesture No input parameters -Function 196: GetGestureHoldDuration() (0 input parameters) +Function 197: GetGestureHoldDuration() (0 input parameters) Name: GetGestureHoldDuration Return type: float Description: Get gesture hold time in milliseconds No input parameters -Function 197: GetGestureDragVector() (0 input parameters) +Function 198: GetGestureDragVector() (0 input parameters) Name: GetGestureDragVector Return type: Vector2 Description: Get gesture drag vector No input parameters -Function 198: GetGestureDragAngle() (0 input parameters) +Function 199: GetGestureDragAngle() (0 input parameters) Name: GetGestureDragAngle Return type: float Description: Get gesture drag angle No input parameters -Function 199: GetGesturePinchVector() (0 input parameters) +Function 200: GetGesturePinchVector() (0 input parameters) Name: GetGesturePinchVector Return type: Vector2 Description: Get gesture pinch delta No input parameters -Function 200: GetGesturePinchAngle() (0 input parameters) +Function 201: GetGesturePinchAngle() (0 input parameters) Name: GetGesturePinchAngle Return type: float Description: Get gesture pinch angle No input parameters -Function 201: UpdateCamera() (2 input parameters) +Function 202: UpdateCamera() (2 input parameters) Name: UpdateCamera Return type: void Description: Update camera position for selected mode Param[1]: camera (type: Camera *) Param[2]: mode (type: int) -Function 202: UpdateCameraPro() (4 input parameters) +Function 203: UpdateCameraPro() (4 input parameters) Name: UpdateCameraPro Return type: void Description: Update camera movement/rotation @@ -2068,36 +2073,36 @@ Function 202: UpdateCameraPro() (4 input parameters) Param[2]: movement (type: Vector3) Param[3]: rotation (type: Vector3) Param[4]: zoom (type: float) -Function 203: SetShapesTexture() (2 input parameters) +Function 204: SetShapesTexture() (2 input parameters) Name: SetShapesTexture Return type: void Description: Set texture and rectangle to be used on shapes drawing Param[1]: texture (type: Texture2D) Param[2]: source (type: Rectangle) -Function 204: GetShapesTexture() (0 input parameters) +Function 205: GetShapesTexture() (0 input parameters) Name: GetShapesTexture Return type: Texture2D Description: Get texture that is used for shapes drawing No input parameters -Function 205: GetShapesTextureRectangle() (0 input parameters) +Function 206: GetShapesTextureRectangle() (0 input parameters) Name: GetShapesTextureRectangle Return type: Rectangle Description: Get texture source rectangle that is used for shapes drawing No input parameters -Function 206: DrawPixel() (3 input parameters) +Function 207: DrawPixel() (3 input parameters) Name: DrawPixel Return type: void Description: Draw a pixel Param[1]: posX (type: int) Param[2]: posY (type: int) Param[3]: color (type: Color) -Function 207: DrawPixelV() (2 input parameters) +Function 208: DrawPixelV() (2 input parameters) Name: DrawPixelV Return type: void Description: Draw a pixel (Vector version) Param[1]: position (type: Vector2) Param[2]: color (type: Color) -Function 208: DrawLine() (5 input parameters) +Function 209: DrawLine() (5 input parameters) Name: DrawLine Return type: void Description: Draw a line @@ -2106,14 +2111,14 @@ Function 208: DrawLine() (5 input parameters) Param[3]: endPosX (type: int) Param[4]: endPosY (type: int) Param[5]: color (type: Color) -Function 209: DrawLineV() (3 input parameters) +Function 210: DrawLineV() (3 input parameters) Name: DrawLineV Return type: void Description: Draw a line (using gl lines) Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: color (type: Color) -Function 210: DrawLineEx() (4 input parameters) +Function 211: DrawLineEx() (4 input parameters) Name: DrawLineEx Return type: void Description: Draw a line (using triangles/quads) @@ -2121,14 +2126,14 @@ Function 210: DrawLineEx() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 211: DrawLineStrip() (3 input parameters) +Function 212: DrawLineStrip() (3 input parameters) Name: DrawLineStrip Return type: void Description: Draw lines sequence (using gl lines) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 212: DrawLineBezier() (4 input parameters) +Function 213: DrawLineBezier() (4 input parameters) Name: DrawLineBezier Return type: void Description: Draw line segment cubic-bezier in-out interpolation @@ -2136,7 +2141,7 @@ Function 212: DrawLineBezier() (4 input parameters) Param[2]: endPos (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 213: DrawCircle() (4 input parameters) +Function 214: DrawCircle() (4 input parameters) Name: DrawCircle Return type: void Description: Draw a color-filled circle @@ -2144,7 +2149,7 @@ Function 213: DrawCircle() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 214: DrawCircleSector() (6 input parameters) +Function 215: DrawCircleSector() (6 input parameters) Name: DrawCircleSector Return type: void Description: Draw a piece of a circle @@ -2154,7 +2159,7 @@ Function 214: DrawCircleSector() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 215: DrawCircleSectorLines() (6 input parameters) +Function 216: DrawCircleSectorLines() (6 input parameters) Name: DrawCircleSectorLines Return type: void Description: Draw circle sector outline @@ -2164,7 +2169,7 @@ Function 215: DrawCircleSectorLines() (6 input parameters) Param[4]: endAngle (type: float) Param[5]: segments (type: int) Param[6]: color (type: Color) -Function 216: DrawCircleGradient() (5 input parameters) +Function 217: DrawCircleGradient() (5 input parameters) Name: DrawCircleGradient Return type: void Description: Draw a gradient-filled circle @@ -2173,14 +2178,14 @@ Function 216: DrawCircleGradient() (5 input parameters) Param[3]: radius (type: float) Param[4]: color1 (type: Color) Param[5]: color2 (type: Color) -Function 217: DrawCircleV() (3 input parameters) +Function 218: DrawCircleV() (3 input parameters) Name: DrawCircleV Return type: void Description: Draw a color-filled circle (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 218: DrawCircleLines() (4 input parameters) +Function 219: DrawCircleLines() (4 input parameters) Name: DrawCircleLines Return type: void Description: Draw circle outline @@ -2188,14 +2193,14 @@ Function 218: DrawCircleLines() (4 input parameters) Param[2]: centerY (type: int) Param[3]: radius (type: float) Param[4]: color (type: Color) -Function 219: DrawCircleLinesV() (3 input parameters) +Function 220: DrawCircleLinesV() (3 input parameters) Name: DrawCircleLinesV Return type: void Description: Draw circle outline (Vector version) Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 220: DrawEllipse() (5 input parameters) +Function 221: DrawEllipse() (5 input parameters) Name: DrawEllipse Return type: void Description: Draw ellipse @@ -2204,7 +2209,7 @@ Function 220: DrawEllipse() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 221: DrawEllipseLines() (5 input parameters) +Function 222: DrawEllipseLines() (5 input parameters) Name: DrawEllipseLines Return type: void Description: Draw ellipse outline @@ -2213,7 +2218,7 @@ Function 221: DrawEllipseLines() (5 input parameters) Param[3]: radiusH (type: float) Param[4]: radiusV (type: float) Param[5]: color (type: Color) -Function 222: DrawRing() (7 input parameters) +Function 223: DrawRing() (7 input parameters) Name: DrawRing Return type: void Description: Draw ring @@ -2224,7 +2229,7 @@ Function 222: DrawRing() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 223: DrawRingLines() (7 input parameters) +Function 224: DrawRingLines() (7 input parameters) Name: DrawRingLines Return type: void Description: Draw ring outline @@ -2235,7 +2240,7 @@ Function 223: DrawRingLines() (7 input parameters) Param[5]: endAngle (type: float) Param[6]: segments (type: int) Param[7]: color (type: Color) -Function 224: DrawRectangle() (5 input parameters) +Function 225: DrawRectangle() (5 input parameters) Name: DrawRectangle Return type: void Description: Draw a color-filled rectangle @@ -2244,20 +2249,20 @@ Function 224: DrawRectangle() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 225: DrawRectangleV() (3 input parameters) +Function 226: DrawRectangleV() (3 input parameters) Name: DrawRectangleV Return type: void Description: Draw a color-filled rectangle (Vector version) Param[1]: position (type: Vector2) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 226: DrawRectangleRec() (2 input parameters) +Function 227: DrawRectangleRec() (2 input parameters) Name: DrawRectangleRec Return type: void Description: Draw a color-filled rectangle Param[1]: rec (type: Rectangle) Param[2]: color (type: Color) -Function 227: DrawRectanglePro() (4 input parameters) +Function 228: DrawRectanglePro() (4 input parameters) Name: DrawRectanglePro Return type: void Description: Draw a color-filled rectangle with pro parameters @@ -2265,7 +2270,7 @@ Function 227: DrawRectanglePro() (4 input parameters) Param[2]: origin (type: Vector2) Param[3]: rotation (type: float) Param[4]: color (type: Color) -Function 228: DrawRectangleGradientV() (6 input parameters) +Function 229: DrawRectangleGradientV() (6 input parameters) Name: DrawRectangleGradientV Return type: void Description: Draw a vertical-gradient-filled rectangle @@ -2275,7 +2280,7 @@ Function 228: DrawRectangleGradientV() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 229: DrawRectangleGradientH() (6 input parameters) +Function 230: DrawRectangleGradientH() (6 input parameters) Name: DrawRectangleGradientH Return type: void Description: Draw a horizontal-gradient-filled rectangle @@ -2285,7 +2290,7 @@ Function 229: DrawRectangleGradientH() (6 input parameters) Param[4]: height (type: int) Param[5]: color1 (type: Color) Param[6]: color2 (type: Color) -Function 230: DrawRectangleGradientEx() (5 input parameters) +Function 231: DrawRectangleGradientEx() (5 input parameters) Name: DrawRectangleGradientEx Return type: void Description: Draw a gradient-filled rectangle with custom vertex colors @@ -2294,7 +2299,7 @@ Function 230: DrawRectangleGradientEx() (5 input parameters) Param[3]: col2 (type: Color) Param[4]: col3 (type: Color) Param[5]: col4 (type: Color) -Function 231: DrawRectangleLines() (5 input parameters) +Function 232: DrawRectangleLines() (5 input parameters) Name: DrawRectangleLines Return type: void Description: Draw rectangle outline @@ -2303,14 +2308,14 @@ Function 231: DrawRectangleLines() (5 input parameters) Param[3]: width (type: int) Param[4]: height (type: int) Param[5]: color (type: Color) -Function 232: DrawRectangleLinesEx() (3 input parameters) +Function 233: DrawRectangleLinesEx() (3 input parameters) Name: DrawRectangleLinesEx Return type: void Description: Draw rectangle outline with extended parameters Param[1]: rec (type: Rectangle) Param[2]: lineThick (type: float) Param[3]: color (type: Color) -Function 233: DrawRectangleRounded() (4 input parameters) +Function 234: DrawRectangleRounded() (4 input parameters) Name: DrawRectangleRounded Return type: void Description: Draw rectangle with rounded edges @@ -2318,7 +2323,7 @@ Function 233: DrawRectangleRounded() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 234: DrawRectangleRoundedLines() (4 input parameters) +Function 235: DrawRectangleRoundedLines() (4 input parameters) Name: DrawRectangleRoundedLines Return type: void Description: Draw rectangle lines with rounded edges @@ -2326,7 +2331,7 @@ Function 234: DrawRectangleRoundedLines() (4 input parameters) Param[2]: roundness (type: float) Param[3]: segments (type: int) Param[4]: color (type: Color) -Function 235: DrawRectangleRoundedLinesEx() (5 input parameters) +Function 236: DrawRectangleRoundedLinesEx() (5 input parameters) Name: DrawRectangleRoundedLinesEx Return type: void Description: Draw rectangle with rounded edges outline @@ -2335,7 +2340,7 @@ Function 235: DrawRectangleRoundedLinesEx() (5 input parameters) Param[3]: segments (type: int) Param[4]: lineThick (type: float) Param[5]: color (type: Color) -Function 236: DrawTriangle() (4 input parameters) +Function 237: DrawTriangle() (4 input parameters) Name: DrawTriangle Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -2343,7 +2348,7 @@ Function 236: DrawTriangle() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 237: DrawTriangleLines() (4 input parameters) +Function 238: DrawTriangleLines() (4 input parameters) Name: DrawTriangleLines Return type: void Description: Draw triangle outline (vertex in counter-clockwise order!) @@ -2351,21 +2356,21 @@ Function 237: DrawTriangleLines() (4 input parameters) Param[2]: v2 (type: Vector2) Param[3]: v3 (type: Vector2) Param[4]: color (type: Color) -Function 238: DrawTriangleFan() (3 input parameters) +Function 239: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 239: DrawTriangleStrip() (3 input parameters) +Function 240: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 240: DrawPoly() (5 input parameters) +Function 241: DrawPoly() (5 input parameters) Name: DrawPoly Return type: void Description: Draw a regular polygon (Vector version) @@ -2374,7 +2379,7 @@ Function 240: DrawPoly() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 241: DrawPolyLines() (5 input parameters) +Function 242: DrawPolyLines() (5 input parameters) Name: DrawPolyLines Return type: void Description: Draw a polygon outline of n sides @@ -2383,7 +2388,7 @@ Function 241: DrawPolyLines() (5 input parameters) Param[3]: radius (type: float) Param[4]: rotation (type: float) Param[5]: color (type: Color) -Function 242: DrawPolyLinesEx() (6 input parameters) +Function 243: DrawPolyLinesEx() (6 input parameters) Name: DrawPolyLinesEx Return type: void Description: Draw a polygon outline of n sides with extended parameters @@ -2393,7 +2398,7 @@ Function 242: DrawPolyLinesEx() (6 input parameters) Param[4]: rotation (type: float) Param[5]: lineThick (type: float) Param[6]: color (type: Color) -Function 243: DrawSplineLinear() (4 input parameters) +Function 244: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points @@ -2401,7 +2406,7 @@ Function 243: DrawSplineLinear() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 244: DrawSplineBasis() (4 input parameters) +Function 245: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points @@ -2409,7 +2414,7 @@ Function 244: DrawSplineBasis() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 245: DrawSplineCatmullRom() (4 input parameters) +Function 246: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points @@ -2417,7 +2422,7 @@ Function 245: DrawSplineCatmullRom() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 246: DrawSplineBezierQuadratic() (4 input parameters) +Function 247: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] @@ -2425,7 +2430,7 @@ Function 246: DrawSplineBezierQuadratic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 247: DrawSplineBezierCubic() (4 input parameters) +Function 248: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] @@ -2433,7 +2438,7 @@ Function 247: DrawSplineBezierCubic() (4 input parameters) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 248: DrawSplineSegmentLinear() (4 input parameters) +Function 249: DrawSplineSegmentLinear() (4 input parameters) Name: DrawSplineSegmentLinear Return type: void Description: Draw spline segment: Linear, 2 points @@ -2441,7 +2446,7 @@ Function 248: DrawSplineSegmentLinear() (4 input parameters) Param[2]: p2 (type: Vector2) Param[3]: thick (type: float) Param[4]: color (type: Color) -Function 249: DrawSplineSegmentBasis() (6 input parameters) +Function 250: DrawSplineSegmentBasis() (6 input parameters) Name: DrawSplineSegmentBasis Return type: void Description: Draw spline segment: B-Spline, 4 points @@ -2451,7 +2456,7 @@ Function 249: DrawSplineSegmentBasis() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 250: DrawSplineSegmentCatmullRom() (6 input parameters) +Function 251: DrawSplineSegmentCatmullRom() (6 input parameters) Name: DrawSplineSegmentCatmullRom Return type: void Description: Draw spline segment: Catmull-Rom, 4 points @@ -2461,7 +2466,7 @@ Function 250: DrawSplineSegmentCatmullRom() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 251: DrawSplineSegmentBezierQuadratic() (5 input parameters) +Function 252: DrawSplineSegmentBezierQuadratic() (5 input parameters) Name: DrawSplineSegmentBezierQuadratic Return type: void Description: Draw spline segment: Quadratic Bezier, 2 points, 1 control point @@ -2470,7 +2475,7 @@ Function 251: DrawSplineSegmentBezierQuadratic() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: thick (type: float) Param[5]: color (type: Color) -Function 252: DrawSplineSegmentBezierCubic() (6 input parameters) +Function 253: DrawSplineSegmentBezierCubic() (6 input parameters) Name: DrawSplineSegmentBezierCubic Return type: void Description: Draw spline segment: Cubic Bezier, 2 points, 2 control points @@ -2480,14 +2485,14 @@ Function 252: DrawSplineSegmentBezierCubic() (6 input parameters) Param[4]: p4 (type: Vector2) Param[5]: thick (type: float) Param[6]: color (type: Color) -Function 253: GetSplinePointLinear() (3 input parameters) +Function 254: GetSplinePointLinear() (3 input parameters) Name: GetSplinePointLinear Return type: Vector2 Description: Get (evaluate) spline point: Linear Param[1]: startPos (type: Vector2) Param[2]: endPos (type: Vector2) Param[3]: t (type: float) -Function 254: GetSplinePointBasis() (5 input parameters) +Function 255: GetSplinePointBasis() (5 input parameters) Name: GetSplinePointBasis Return type: Vector2 Description: Get (evaluate) spline point: B-Spline @@ -2496,7 +2501,7 @@ Function 254: GetSplinePointBasis() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 255: GetSplinePointCatmullRom() (5 input parameters) +Function 256: GetSplinePointCatmullRom() (5 input parameters) Name: GetSplinePointCatmullRom Return type: Vector2 Description: Get (evaluate) spline point: Catmull-Rom @@ -2505,7 +2510,7 @@ Function 255: GetSplinePointCatmullRom() (5 input parameters) Param[3]: p3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 256: GetSplinePointBezierQuad() (4 input parameters) +Function 257: GetSplinePointBezierQuad() (4 input parameters) Name: GetSplinePointBezierQuad Return type: Vector2 Description: Get (evaluate) spline point: Quadratic Bezier @@ -2513,7 +2518,7 @@ Function 256: GetSplinePointBezierQuad() (4 input parameters) Param[2]: c2 (type: Vector2) Param[3]: p3 (type: Vector2) Param[4]: t (type: float) -Function 257: GetSplinePointBezierCubic() (5 input parameters) +Function 258: GetSplinePointBezierCubic() (5 input parameters) Name: GetSplinePointBezierCubic Return type: Vector2 Description: Get (evaluate) spline point: Cubic Bezier @@ -2522,13 +2527,13 @@ Function 257: GetSplinePointBezierCubic() (5 input parameters) Param[3]: c3 (type: Vector2) Param[4]: p4 (type: Vector2) Param[5]: t (type: float) -Function 258: CheckCollisionRecs() (2 input parameters) +Function 259: CheckCollisionRecs() (2 input parameters) Name: CheckCollisionRecs Return type: bool Description: Check collision between two rectangles Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 259: CheckCollisionCircles() (4 input parameters) +Function 260: CheckCollisionCircles() (4 input parameters) Name: CheckCollisionCircles Return type: bool Description: Check collision between two circles @@ -2536,27 +2541,27 @@ Function 259: CheckCollisionCircles() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector2) Param[4]: radius2 (type: float) -Function 260: CheckCollisionCircleRec() (3 input parameters) +Function 261: CheckCollisionCircleRec() (3 input parameters) Name: CheckCollisionCircleRec Return type: bool Description: Check collision between circle and rectangle Param[1]: center (type: Vector2) Param[2]: radius (type: float) Param[3]: rec (type: Rectangle) -Function 261: CheckCollisionPointRec() (2 input parameters) +Function 262: CheckCollisionPointRec() (2 input parameters) Name: CheckCollisionPointRec Return type: bool Description: Check if point is inside rectangle Param[1]: point (type: Vector2) Param[2]: rec (type: Rectangle) -Function 262: CheckCollisionPointCircle() (3 input parameters) +Function 263: CheckCollisionPointCircle() (3 input parameters) Name: CheckCollisionPointCircle Return type: bool Description: Check if point is inside circle Param[1]: point (type: Vector2) Param[2]: center (type: Vector2) Param[3]: radius (type: float) -Function 263: CheckCollisionPointTriangle() (4 input parameters) +Function 264: CheckCollisionPointTriangle() (4 input parameters) Name: CheckCollisionPointTriangle Return type: bool Description: Check if point is inside a triangle @@ -2564,14 +2569,14 @@ Function 263: CheckCollisionPointTriangle() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: p3 (type: Vector2) -Function 264: CheckCollisionPointPoly() (3 input parameters) +Function 265: CheckCollisionPointPoly() (3 input parameters) Name: CheckCollisionPointPoly Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) -Function 265: CheckCollisionLines() (5 input parameters) +Function 266: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines Return type: bool Description: Check the collision between two lines defined by two points each, returns collision point by reference @@ -2580,7 +2585,7 @@ Function 265: CheckCollisionLines() (5 input parameters) Param[3]: startPos2 (type: Vector2) Param[4]: endPos2 (type: Vector2) Param[5]: collisionPoint (type: Vector2 *) -Function 266: CheckCollisionPointLine() (4 input parameters) +Function 267: CheckCollisionPointLine() (4 input parameters) Name: CheckCollisionPointLine Return type: bool Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] @@ -2588,18 +2593,18 @@ Function 266: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 267: GetCollisionRec() (2 input parameters) +Function 268: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 268: LoadImage() (1 input parameters) +Function 269: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 269: LoadImageRaw() (5 input parameters) +Function 270: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2608,20 +2613,20 @@ Function 269: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 270: LoadImageSvg() (3 input parameters) +Function 271: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 271: LoadImageAnim() (2 input parameters) +Function 272: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 272: LoadImageAnimFromMemory() (4 input parameters) +Function 273: LoadImageAnimFromMemory() (4 input parameters) Name: LoadImageAnimFromMemory Return type: Image Description: Load image sequence from memory buffer @@ -2629,60 +2634,60 @@ Function 272: LoadImageAnimFromMemory() (4 input parameters) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) Param[4]: frames (type: int *) -Function 273: LoadImageFromMemory() (3 input parameters) +Function 274: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 274: LoadImageFromTexture() (1 input parameters) +Function 275: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 275: LoadImageFromScreen() (0 input parameters) +Function 276: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 276: IsImageReady() (1 input parameters) +Function 277: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 277: UnloadImage() (1 input parameters) +Function 278: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 278: ExportImage() (2 input parameters) +Function 279: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 279: ExportImageToMemory() (3 input parameters) +Function 280: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 280: ExportImageAsCode() (2 input parameters) +Function 281: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 281: GenImageColor() (3 input parameters) +Function 282: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 282: GenImageGradientLinear() (5 input parameters) +Function 283: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2691,7 +2696,7 @@ Function 282: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 283: GenImageGradientRadial() (5 input parameters) +Function 284: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2700,7 +2705,7 @@ Function 283: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 284: GenImageGradientSquare() (5 input parameters) +Function 285: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2709,7 +2714,7 @@ Function 284: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 285: GenImageChecked() (6 input parameters) +Function 286: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2719,14 +2724,14 @@ Function 285: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 286: GenImageWhiteNoise() (3 input parameters) +Function 287: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 287: GenImagePerlinNoise() (5 input parameters) +Function 288: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2735,39 +2740,39 @@ Function 287: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 288: GenImageCellular() (3 input parameters) +Function 289: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 289: GenImageText() (3 input parameters) +Function 290: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 290: ImageCopy() (1 input parameters) +Function 291: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 291: ImageFromImage() (2 input parameters) +Function 292: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 292: ImageText() (3 input parameters) +Function 293: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 293: ImageTextEx() (5 input parameters) +Function 294: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2776,76 +2781,76 @@ Function 293: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 294: ImageFormat() (2 input parameters) +Function 295: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 295: ImageToPOT() (2 input parameters) +Function 296: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 296: ImageCrop() (2 input parameters) +Function 297: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 297: ImageAlphaCrop() (2 input parameters) +Function 298: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 298: ImageAlphaClear() (3 input parameters) +Function 299: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 299: ImageAlphaMask() (2 input parameters) +Function 300: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 300: ImageAlphaPremultiply() (1 input parameters) +Function 301: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 301: ImageBlurGaussian() (2 input parameters) +Function 302: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 302: ImageKernelConvolution() (3 input parameters) +Function 303: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 303: ImageResize() (3 input parameters) +Function 304: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 304: ImageResizeNN() (3 input parameters) +Function 305: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 305: ImageResizeCanvas() (6 input parameters) +Function 306: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2855,12 +2860,12 @@ Function 305: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 306: ImageMipmaps() (1 input parameters) +Function 307: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 307: ImageDither() (5 input parameters) +Function 308: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2869,109 +2874,109 @@ Function 307: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 308: ImageFlipVertical() (1 input parameters) +Function 309: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 309: ImageFlipHorizontal() (1 input parameters) +Function 310: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 310: ImageRotate() (2 input parameters) +Function 311: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 311: ImageRotateCW() (1 input parameters) +Function 312: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 312: ImageRotateCCW() (1 input parameters) +Function 313: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 313: ImageColorTint() (2 input parameters) +Function 314: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 314: ImageColorInvert() (1 input parameters) +Function 315: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 315: ImageColorGrayscale() (1 input parameters) +Function 316: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 316: ImageColorContrast() (2 input parameters) +Function 317: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 317: ImageColorBrightness() (2 input parameters) +Function 318: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 318: ImageColorReplace() (3 input parameters) +Function 319: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 319: LoadImageColors() (1 input parameters) +Function 320: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 320: LoadImagePalette() (3 input parameters) +Function 321: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 321: UnloadImageColors() (1 input parameters) +Function 322: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 322: UnloadImagePalette() (1 input parameters) +Function 323: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 323: GetImageAlphaBorder() (2 input parameters) +Function 324: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 324: GetImageColor() (3 input parameters) +Function 325: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 325: ImageClearBackground() (2 input parameters) +Function 326: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 326: ImageDrawPixel() (4 input parameters) +Function 327: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2979,14 +2984,14 @@ Function 326: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 327: ImageDrawPixelV() (3 input parameters) +Function 328: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 328: ImageDrawLine() (6 input parameters) +Function 329: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -2996,7 +3001,7 @@ Function 328: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 329: ImageDrawLineV() (4 input parameters) +Function 330: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -3004,7 +3009,7 @@ Function 329: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 330: ImageDrawCircle() (5 input parameters) +Function 331: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -3013,7 +3018,7 @@ Function 330: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 331: ImageDrawCircleV() (4 input parameters) +Function 332: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -3021,7 +3026,7 @@ Function 331: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 332: ImageDrawCircleLines() (5 input parameters) +Function 333: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3030,7 +3035,7 @@ Function 332: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 333: ImageDrawCircleLinesV() (4 input parameters) +Function 334: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3038,7 +3043,7 @@ Function 333: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 334: ImageDrawRectangle() (6 input parameters) +Function 335: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3048,7 +3053,7 @@ Function 334: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 335: ImageDrawRectangleV() (4 input parameters) +Function 336: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3056,14 +3061,14 @@ Function 335: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 336: ImageDrawRectangleRec() (3 input parameters) +Function 337: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 337: ImageDrawRectangleLines() (4 input parameters) +Function 338: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3071,7 +3076,7 @@ Function 337: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 338: ImageDraw() (5 input parameters) +Function 339: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3080,7 +3085,7 @@ Function 338: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 339: ImageDrawText() (6 input parameters) +Function 340: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3090,7 +3095,7 @@ Function 339: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 340: ImageDrawTextEx() (7 input parameters) +Function 341: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3101,79 +3106,79 @@ Function 340: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 341: LoadTexture() (1 input parameters) +Function 342: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 342: LoadTextureFromImage() (1 input parameters) +Function 343: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 343: LoadTextureCubemap() (2 input parameters) +Function 344: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 344: LoadRenderTexture() (2 input parameters) +Function 345: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 345: IsTextureReady() (1 input parameters) +Function 346: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 346: UnloadTexture() (1 input parameters) +Function 347: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 347: IsRenderTextureReady() (1 input parameters) +Function 348: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 348: UnloadRenderTexture() (1 input parameters) +Function 349: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 349: UpdateTexture() (2 input parameters) +Function 350: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 350: UpdateTextureRec() (3 input parameters) +Function 351: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 351: GenTextureMipmaps() (1 input parameters) +Function 352: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 352: SetTextureFilter() (2 input parameters) +Function 353: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 353: SetTextureWrap() (2 input parameters) +Function 354: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 354: DrawTexture() (4 input parameters) +Function 355: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3181,14 +3186,14 @@ Function 354: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 355: DrawTextureV() (3 input parameters) +Function 356: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 356: DrawTextureEx() (5 input parameters) +Function 357: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3197,7 +3202,7 @@ Function 356: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 357: DrawTextureRec() (4 input parameters) +Function 358: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3205,7 +3210,7 @@ Function 357: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 358: DrawTexturePro() (6 input parameters) +Function 359: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3215,7 +3220,7 @@ Function 358: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 359: DrawTextureNPatch() (6 input parameters) +Function 360: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3225,112 +3230,112 @@ Function 359: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 360: ColorIsEqual() (2 input parameters) +Function 361: ColorIsEqual() (2 input parameters) Name: ColorIsEqual Return type: bool Description: Check if two colors are equal Param[1]: col1 (type: Color) Param[2]: col2 (type: Color) -Function 361: Fade() (2 input parameters) +Function 362: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 362: ColorToInt() (1 input parameters) +Function 363: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) -Function 363: ColorNormalize() (1 input parameters) +Function 364: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 364: ColorFromNormalized() (1 input parameters) +Function 365: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 365: ColorToHSV() (1 input parameters) +Function 366: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 366: ColorFromHSV() (3 input parameters) +Function 367: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 367: ColorTint() (2 input parameters) +Function 368: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 368: ColorBrightness() (2 input parameters) +Function 369: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 369: ColorContrast() (2 input parameters) +Function 370: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 370: ColorAlpha() (2 input parameters) +Function 371: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 371: ColorAlphaBlend() (3 input parameters) +Function 372: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 372: GetColor() (1 input parameters) +Function 373: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 373: GetPixelColor() (2 input parameters) +Function 374: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 374: SetPixelColor() (3 input parameters) +Function 375: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 375: GetPixelDataSize() (3 input parameters) +Function 376: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 376: GetFontDefault() (0 input parameters) +Function 377: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 377: LoadFont() (1 input parameters) +Function 378: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 378: LoadFontEx() (4 input parameters) +Function 379: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3338,14 +3343,14 @@ Function 378: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 379: LoadFontFromImage() (3 input parameters) +Function 380: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 380: LoadFontFromMemory() (6 input parameters) +Function 381: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3355,12 +3360,12 @@ Function 380: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 381: IsFontReady() (1 input parameters) +Function 382: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 382: LoadFontData() (6 input parameters) +Function 383: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3370,7 +3375,7 @@ Function 382: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 383: GenImageFontAtlas() (6 input parameters) +Function 384: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3380,30 +3385,30 @@ Function 383: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 384: UnloadFontData() (2 input parameters) +Function 385: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 385: UnloadFont() (1 input parameters) +Function 386: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 386: ExportFontAsCode() (2 input parameters) +Function 387: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 387: DrawFPS() (2 input parameters) +Function 388: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 388: DrawText() (5 input parameters) +Function 389: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3412,7 +3417,7 @@ Function 388: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 389: DrawTextEx() (6 input parameters) +Function 390: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3422,7 +3427,7 @@ Function 389: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 390: DrawTextPro() (8 input parameters) +Function 391: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3434,7 +3439,7 @@ Function 390: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 391: DrawTextCodepoint() (5 input parameters) +Function 392: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3443,7 +3448,7 @@ Function 391: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 392: DrawTextCodepoints() (7 input parameters) +Function 393: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3454,18 +3459,18 @@ Function 392: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 393: SetTextLineSpacing() (1 input parameters) +Function 394: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 394: MeasureText() (2 input parameters) +Function 395: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 395: MeasureTextEx() (4 input parameters) +Function 396: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3473,185 +3478,185 @@ Function 395: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 396: GetGlyphIndex() (2 input parameters) +Function 397: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 397: GetGlyphInfo() (2 input parameters) +Function 398: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 398: GetGlyphAtlasRec() (2 input parameters) +Function 399: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 399: LoadUTF8() (2 input parameters) +Function 400: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 400: UnloadUTF8() (1 input parameters) +Function 401: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 401: LoadCodepoints() (2 input parameters) +Function 402: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 402: UnloadCodepoints() (1 input parameters) +Function 403: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 403: GetCodepointCount() (1 input parameters) +Function 404: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 404: GetCodepoint() (2 input parameters) +Function 405: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 405: GetCodepointNext() (2 input parameters) +Function 406: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 406: GetCodepointPrevious() (2 input parameters) +Function 407: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 407: CodepointToUTF8() (2 input parameters) +Function 408: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 408: TextCopy() (2 input parameters) +Function 409: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 409: TextIsEqual() (2 input parameters) +Function 410: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 410: TextLength() (1 input parameters) +Function 411: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 411: TextFormat() (2 input parameters) +Function 412: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 412: TextSubtext() (3 input parameters) +Function 413: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 413: TextReplace() (3 input parameters) +Function 414: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 414: TextInsert() (3 input parameters) +Function 415: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 415: TextJoin() (3 input parameters) +Function 416: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 416: TextSplit() (3 input parameters) +Function 417: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 417: TextAppend() (3 input parameters) +Function 418: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 418: TextFindIndex() (2 input parameters) +Function 419: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 419: TextToUpper() (1 input parameters) +Function 420: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 420: TextToLower() (1 input parameters) +Function 421: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 421: TextToPascal() (1 input parameters) +Function 422: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 422: TextToInteger() (1 input parameters) +Function 423: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 423: TextToFloat() (1 input parameters) +Function 424: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 424: DrawLine3D() (3 input parameters) +Function 425: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 425: DrawPoint3D() (2 input parameters) +Function 426: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 426: DrawCircle3D() (5 input parameters) +Function 427: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3660,7 +3665,7 @@ Function 426: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 427: DrawTriangle3D() (4 input parameters) +Function 428: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3668,14 +3673,14 @@ Function 427: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 428: DrawTriangleStrip3D() (3 input parameters) +Function 429: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 429: DrawCube() (5 input parameters) +Function 430: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3684,14 +3689,14 @@ Function 429: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 430: DrawCubeV() (3 input parameters) +Function 431: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 431: DrawCubeWires() (5 input parameters) +Function 432: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3700,21 +3705,21 @@ Function 431: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 432: DrawCubeWiresV() (3 input parameters) +Function 433: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 433: DrawSphere() (3 input parameters) +Function 434: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 434: DrawSphereEx() (5 input parameters) +Function 435: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3723,7 +3728,7 @@ Function 434: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 435: DrawSphereWires() (5 input parameters) +Function 436: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3732,7 +3737,7 @@ Function 435: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 436: DrawCylinder() (6 input parameters) +Function 437: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3742,7 +3747,7 @@ Function 436: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 437: DrawCylinderEx() (6 input parameters) +Function 438: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3752,7 +3757,7 @@ Function 437: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 438: DrawCylinderWires() (6 input parameters) +Function 439: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3762,7 +3767,7 @@ Function 438: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 439: DrawCylinderWiresEx() (6 input parameters) +Function 440: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3772,7 +3777,7 @@ Function 439: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 440: DrawCapsule() (6 input parameters) +Function 441: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3782,7 +3787,7 @@ Function 440: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 441: DrawCapsuleWires() (6 input parameters) +Function 442: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3792,51 +3797,51 @@ Function 441: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 442: DrawPlane() (3 input parameters) +Function 443: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 443: DrawRay() (2 input parameters) +Function 444: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 444: DrawGrid() (2 input parameters) +Function 445: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 445: LoadModel() (1 input parameters) +Function 446: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 446: LoadModelFromMesh() (1 input parameters) +Function 447: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 447: IsModelReady() (1 input parameters) +Function 448: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 448: UnloadModel() (1 input parameters) +Function 449: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 449: GetModelBoundingBox() (1 input parameters) +Function 450: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 450: DrawModel() (4 input parameters) +Function 451: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3844,7 +3849,7 @@ Function 450: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 451: DrawModelEx() (6 input parameters) +Function 452: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3854,7 +3859,7 @@ Function 451: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 452: DrawModelWires() (4 input parameters) +Function 453: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3862,7 +3867,7 @@ Function 452: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 453: DrawModelWiresEx() (6 input parameters) +Function 454: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3872,13 +3877,13 @@ Function 453: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 454: DrawBoundingBox() (2 input parameters) +Function 455: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 455: DrawBillboard() (5 input parameters) +Function 456: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3887,7 +3892,7 @@ Function 455: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 456: DrawBillboardRec() (6 input parameters) +Function 457: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3897,7 +3902,7 @@ Function 456: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 457: DrawBillboardPro() (9 input parameters) +Function 458: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3910,13 +3915,13 @@ Function 457: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 458: UploadMesh() (2 input parameters) +Function 459: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 459: UpdateMeshBuffer() (5 input parameters) +Function 460: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3925,19 +3930,19 @@ Function 459: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 460: UnloadMesh() (1 input parameters) +Function 461: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 461: DrawMesh() (3 input parameters) +Function 462: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 462: DrawMeshInstanced() (4 input parameters) +Function 463: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3945,35 +3950,35 @@ Function 462: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 463: GetMeshBoundingBox() (1 input parameters) +Function 464: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 464: GenMeshTangents() (1 input parameters) +Function 465: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 465: ExportMesh() (2 input parameters) +Function 466: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 466: ExportMeshAsCode() (2 input parameters) +Function 467: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 467: GenMeshPoly() (2 input parameters) +Function 468: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 468: GenMeshPlane() (4 input parameters) +Function 469: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3981,42 +3986,42 @@ Function 468: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 469: GenMeshCube() (3 input parameters) +Function 470: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 470: GenMeshSphere() (3 input parameters) +Function 471: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 471: GenMeshHemiSphere() (3 input parameters) +Function 472: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 472: GenMeshCylinder() (3 input parameters) +Function 473: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 473: GenMeshCone() (3 input parameters) +Function 474: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 474: GenMeshTorus() (4 input parameters) +Function 475: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4024,7 +4029,7 @@ Function 474: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 475: GenMeshKnot() (4 input parameters) +Function 476: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4032,84 +4037,84 @@ Function 475: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 476: GenMeshHeightmap() (2 input parameters) +Function 477: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 477: GenMeshCubicmap() (2 input parameters) +Function 478: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 478: LoadMaterials() (2 input parameters) +Function 479: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 479: LoadMaterialDefault() (0 input parameters) +Function 480: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 480: IsMaterialReady() (1 input parameters) +Function 481: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 481: UnloadMaterial() (1 input parameters) +Function 482: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 482: SetMaterialTexture() (3 input parameters) +Function 483: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 483: SetModelMeshMaterial() (3 input parameters) +Function 484: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 484: LoadModelAnimations() (2 input parameters) +Function 485: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 485: UpdateModelAnimation() (3 input parameters) +Function 486: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 486: UnloadModelAnimation() (1 input parameters) +Function 487: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 487: UnloadModelAnimations() (2 input parameters) +Function 488: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 488: IsModelAnimationValid() (2 input parameters) +Function 489: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 489: CheckCollisionSpheres() (4 input parameters) +Function 490: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4117,40 +4122,40 @@ Function 489: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 490: CheckCollisionBoxes() (2 input parameters) +Function 491: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 491: CheckCollisionBoxSphere() (3 input parameters) +Function 492: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 492: GetRayCollisionSphere() (3 input parameters) +Function 493: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 493: GetRayCollisionBox() (2 input parameters) +Function 494: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 494: GetRayCollisionMesh() (3 input parameters) +Function 495: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 495: GetRayCollisionTriangle() (4 input parameters) +Function 496: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4158,7 +4163,7 @@ Function 495: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 496: GetRayCollisionQuad() (5 input parameters) +Function 497: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4167,158 +4172,158 @@ Function 496: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 497: InitAudioDevice() (0 input parameters) +Function 498: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 498: CloseAudioDevice() (0 input parameters) +Function 499: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 499: IsAudioDeviceReady() (0 input parameters) +Function 500: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 500: SetMasterVolume() (1 input parameters) +Function 501: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 501: GetMasterVolume() (0 input parameters) +Function 502: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 502: LoadWave() (1 input parameters) +Function 503: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 503: LoadWaveFromMemory() (3 input parameters) +Function 504: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 504: IsWaveReady() (1 input parameters) +Function 505: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 505: LoadSound() (1 input parameters) +Function 506: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 506: LoadSoundFromWave() (1 input parameters) +Function 507: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 507: LoadSoundAlias() (1 input parameters) +Function 508: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 508: IsSoundReady() (1 input parameters) +Function 509: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 509: UpdateSound() (3 input parameters) +Function 510: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 510: UnloadWave() (1 input parameters) +Function 511: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 511: UnloadSound() (1 input parameters) +Function 512: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 512: UnloadSoundAlias() (1 input parameters) +Function 513: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 513: ExportWave() (2 input parameters) +Function 514: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 514: ExportWaveAsCode() (2 input parameters) +Function 515: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 515: PlaySound() (1 input parameters) +Function 516: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 516: StopSound() (1 input parameters) +Function 517: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 517: PauseSound() (1 input parameters) +Function 518: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 518: ResumeSound() (1 input parameters) +Function 519: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 519: IsSoundPlaying() (1 input parameters) +Function 520: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 520: SetSoundVolume() (2 input parameters) +Function 521: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 521: SetSoundPitch() (2 input parameters) +Function 522: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 522: SetSoundPan() (2 input parameters) +Function 523: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 523: WaveCopy() (1 input parameters) +Function 524: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 524: WaveCrop() (3 input parameters) +Function 525: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) Param[2]: initFrame (type: int) Param[3]: finalFrame (type: int) -Function 525: WaveFormat() (4 input parameters) +Function 526: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4326,203 +4331,203 @@ Function 525: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 526: LoadWaveSamples() (1 input parameters) +Function 527: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 527: UnloadWaveSamples() (1 input parameters) +Function 528: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 528: LoadMusicStream() (1 input parameters) +Function 529: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 529: LoadMusicStreamFromMemory() (3 input parameters) +Function 530: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 530: IsMusicReady() (1 input parameters) +Function 531: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 531: UnloadMusicStream() (1 input parameters) +Function 532: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 532: PlayMusicStream() (1 input parameters) +Function 533: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 533: IsMusicStreamPlaying() (1 input parameters) +Function 534: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 534: UpdateMusicStream() (1 input parameters) +Function 535: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 535: StopMusicStream() (1 input parameters) +Function 536: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 536: PauseMusicStream() (1 input parameters) +Function 537: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 537: ResumeMusicStream() (1 input parameters) +Function 538: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 538: SeekMusicStream() (2 input parameters) +Function 539: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 539: SetMusicVolume() (2 input parameters) +Function 540: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 540: SetMusicPitch() (2 input parameters) +Function 541: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 541: SetMusicPan() (2 input parameters) +Function 542: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 542: GetMusicTimeLength() (1 input parameters) +Function 543: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 543: GetMusicTimePlayed() (1 input parameters) +Function 544: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 544: LoadAudioStream() (3 input parameters) +Function 545: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 545: IsAudioStreamReady() (1 input parameters) +Function 546: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 546: UnloadAudioStream() (1 input parameters) +Function 547: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 547: UpdateAudioStream() (3 input parameters) +Function 548: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 548: IsAudioStreamProcessed() (1 input parameters) +Function 549: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 549: PlayAudioStream() (1 input parameters) +Function 550: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 550: PauseAudioStream() (1 input parameters) +Function 551: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 551: ResumeAudioStream() (1 input parameters) +Function 552: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 552: IsAudioStreamPlaying() (1 input parameters) +Function 553: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 553: StopAudioStream() (1 input parameters) +Function 554: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 554: SetAudioStreamVolume() (2 input parameters) +Function 555: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 555: SetAudioStreamPitch() (2 input parameters) +Function 556: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 556: SetAudioStreamPan() (2 input parameters) +Function 557: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 557: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 558: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 558: SetAudioStreamCallback() (2 input parameters) +Function 559: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 559: AttachAudioStreamProcessor() (2 input parameters) +Function 560: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 560: DetachAudioStreamProcessor() (2 input parameters) +Function 561: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 561: AttachAudioMixedProcessor() (1 input parameters) +Function 562: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 562: DetachAudioMixedProcessor() (1 input parameters) +Function 563: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index e079a198e..e7fa157b2 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -1075,6 +1075,9 @@ + + + From 2e38069475d78c75580e95c23c01216dda185ee4 Mon Sep 17 00:00:00 2001 From: Dylan Date: Wed, 29 May 2024 11:07:28 -0400 Subject: [PATCH 312/745] [build.zig] Fix Zig emscripten build (#4012) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix for issue #4010 Split the code for Zig's master branch and >= 0.12.0 due to changes in https://github.com/ziglang/zig/pull/19623 * Restore the cache_include path which was removed in error Accidently removed a couple lines I didn't mean to 🙈 --- src/build.zig | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/build.zig b/src/build.zig index d172b3c2a..51a8ab7b0 100644 --- a/src/build.zig +++ b/src/build.zig @@ -201,10 +201,15 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. const cache_include = std.fs.path.join(b.allocator, &.{ b.sysroot.?, "cache", "sysroot", "include" }) catch @panic("Out of memory"); defer b.allocator.free(cache_include); - var dir = std.fs.openDirAbsolute(cache_include, std.fs.Dir.OpenDirOptions{ .access_sub_paths = true, .no_follow = true }) catch @panic("No emscripten cache. Generate it!"); - dir.close(); - - raylib.addIncludePath(b.path(cache_include)); + if (comptime builtin.zig_version.minor > 12) { + var dir = std.fs.cwd().openDir(cache_include, std.fs.Dir.OpenDirOptions{ .access_sub_paths = true, .no_follow = true }) catch @panic("No emscripten cache. Generate it!"); + dir.close(); + raylib.addIncludePath(b.path(cache_include)); + } else { + var dir = std.fs.openDirAbsolute(cache_include, std.fs.Dir.OpenDirOptions{ .access_sub_paths = true, .no_follow = true }) catch @panic("No emscripten cache. Generate it!"); + dir.close(); + raylib.addIncludePath(.{ .path = cache_include }); + } }, else => { @panic("Unsupported OS"); From 2804e758694390d00a0784ebe761531f7021bfc9 Mon Sep 17 00:00:00 2001 From: DarkAssassin23 <15916504+DarkAssassin23@users.noreply.github.com> Date: Wed, 29 May 2024 11:22:59 -0400 Subject: [PATCH 313/745] [rtext] Added cast to ExportFontAsCode output to fix C++ compiler errors (#4013) --- src/rtext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 1ddb62509..5ebabc662 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1093,8 +1093,8 @@ bool ExportFontAsCode(Font font, const char *fileName) #else byteCount += sprintf(txtData + byteCount, " // Assign glyph recs and info data directly\n"); byteCount += sprintf(txtData + byteCount, " // WARNING: This font data must not be unloaded\n"); - byteCount += sprintf(txtData + byteCount, " font.recs = fontRecs_%s;\n", fileNamePascal); - byteCount += sprintf(txtData + byteCount, " font.glyphs = fontGlyphs_%s;\n\n", fileNamePascal); + byteCount += sprintf(txtData + byteCount, " font.recs = (Rectangle *)fontRecs_%s;\n", fileNamePascal); + byteCount += sprintf(txtData + byteCount, " font.glyphs = (GlyphInfo *)fontGlyphs_%s;\n\n", fileNamePascal); #endif byteCount += sprintf(txtData + byteCount, " return font;\n"); byteCount += sprintf(txtData + byteCount, "}\n"); From e37d19ab1eae7d4d0e9d3229c7b2ececf3efb61f Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 29 May 2024 17:28:55 +0200 Subject: [PATCH 314/745] REVIEWED: `ExportFontAsCode()`, avoid `const` #4013 --- src/rtext.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 5ebabc662..5ba4e8b6a 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1035,7 +1035,7 @@ bool ExportFontAsCode(Font font, const char *fileName) // Save font recs data byteCount += sprintf(txtData + byteCount, "// Font characters rectangles data\n"); - byteCount += sprintf(txtData + byteCount, "static const Rectangle fontRecs_%s[%i] = {\n", fileNamePascal, font.glyphCount); + byteCount += sprintf(txtData + byteCount, "static Rectangle fontRecs_%s[%i] = {\n", fileNamePascal, font.glyphCount); for (int i = 0; i < font.glyphCount; i++) { byteCount += sprintf(txtData + byteCount, " { %1.0f, %1.0f, %1.0f , %1.0f },\n", font.recs[i].x, font.recs[i].y, font.recs[i].width, font.recs[i].height); @@ -1047,7 +1047,7 @@ bool ExportFontAsCode(Font font, const char *fileName) // it could be generated from image and recs byteCount += sprintf(txtData + byteCount, "// Font glyphs info data\n"); byteCount += sprintf(txtData + byteCount, "// NOTE: No glyphs.image data provided\n"); - byteCount += sprintf(txtData + byteCount, "static const GlyphInfo fontGlyphs_%s[%i] = {\n", fileNamePascal, font.glyphCount); + byteCount += sprintf(txtData + byteCount, "static GlyphInfo fontGlyphs_%s[%i] = {\n", fileNamePascal, font.glyphCount); for (int i = 0; i < font.glyphCount; i++) { byteCount += sprintf(txtData + byteCount, " { %i, %i, %i, %i, { 0 }},\n", font.glyphs[i].value, font.glyphs[i].offsetX, font.glyphs[i].offsetY, font.glyphs[i].advanceX); @@ -1093,8 +1093,8 @@ bool ExportFontAsCode(Font font, const char *fileName) #else byteCount += sprintf(txtData + byteCount, " // Assign glyph recs and info data directly\n"); byteCount += sprintf(txtData + byteCount, " // WARNING: This font data must not be unloaded\n"); - byteCount += sprintf(txtData + byteCount, " font.recs = (Rectangle *)fontRecs_%s;\n", fileNamePascal); - byteCount += sprintf(txtData + byteCount, " font.glyphs = (GlyphInfo *)fontGlyphs_%s;\n\n", fileNamePascal); + byteCount += sprintf(txtData + byteCount, " font.recs = fontRecs_%s;\n", fileNamePascal); + byteCount += sprintf(txtData + byteCount, " font.glyphs = fontGlyphs_%s;\n\n", fileNamePascal); #endif byteCount += sprintf(txtData + byteCount, " return font;\n"); byteCount += sprintf(txtData + byteCount, "}\n"); From c04629f6d46fbea68a69a3b376c02137a325ca53 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 29 May 2024 17:38:19 +0200 Subject: [PATCH 315/745] Update raylib.h --- src/raylib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index e810dcdca..b870cc6ca 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1124,7 +1124,7 @@ RLAPI const char *GetWorkingDirectory(void); // Get current RLAPI const char *GetApplicationDirectory(void); // Get the directory of the running application (uses static string) RLAPI bool ChangeDirectory(const char *dir); // Change working directory, return true on success RLAPI bool IsPathFile(const char *path); // Check if a given path is a file or a directory -RLAPI bool IsFileNameValid(const char *fileName); // Check if fileName is valid for the platform/OS +RLAPI bool IsFileNameValid(const char *fileName); // Check if fileName is valid for the platform/OS RLAPI FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths RLAPI FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan RLAPI void UnloadDirectoryFiles(FilePathList files); // Unload filepaths From f2344cd08944a7be63b9e5ebf134daf5ff1cd84f Mon Sep 17 00:00:00 2001 From: Le Juez Victor <90587919+Bigfoot71@users.noreply.github.com> Date: Wed, 29 May 2024 23:44:20 +0200 Subject: [PATCH 316/745] review color tint functions (#4015) --- src/rtextures.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index 571387f23..2f02afece 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2667,17 +2667,12 @@ void ImageColorTint(Image *image, Color color) Color *pixels = LoadImageColors(*image); - float cR = (float)color.r/255; - float cG = (float)color.g/255; - float cB = (float)color.b/255; - float cA = (float)color.a/255; - for (int i = 0; i < image->width*image->height; i++) { - unsigned char r = (unsigned char)(((float)pixels[i].r/255*cR)*255.0f); - unsigned char g = (unsigned char)(((float)pixels[i].g/255*cG)*255.0f); - unsigned char b = (unsigned char)(((float)pixels[i].b/255*cB)*255.0f); - unsigned char a = (unsigned char)(((float)pixels[i].a/255*cA)*255.0f); + unsigned char r = (unsigned char)(((int)pixels[i].r*(int)color.r)/255); + unsigned char g = (unsigned char)(((int)pixels[i].g*(int)color.g)/255); + unsigned char b = (unsigned char)(((int)pixels[i].b*(int)color.b)/255); + unsigned char a = (unsigned char)(((int)pixels[i].a*(int)color.a)/255); pixels[i].r = r; pixels[i].g = g; @@ -4639,15 +4634,10 @@ Color ColorTint(Color color, Color tint) { Color result = color; - float cR = (float)tint.r/255; - float cG = (float)tint.g/255; - float cB = (float)tint.b/255; - float cA = (float)tint.a/255; - - unsigned char r = (unsigned char)(((float)color.r/255*cR)*255.0f); - unsigned char g = (unsigned char)(((float)color.g/255*cG)*255.0f); - unsigned char b = (unsigned char)(((float)color.b/255*cB)*255.0f); - unsigned char a = (unsigned char)(((float)color.a/255*cA)*255.0f); + unsigned char r = (unsigned char)(((int)color.r*(int)tint.r)/255); + unsigned char g = (unsigned char)(((int)color.g*(int)tint.g)/255); + unsigned char b = (unsigned char)(((int)color.b*(int)tint.b)/255); + unsigned char a = (unsigned char)(((int)color.a*(int)tint.a)/255); result.r = r; result.g = g; From d7a8af144d066e28e821916ac10e66407e7bfa05 Mon Sep 17 00:00:00 2001 From: vaezim <91099081+vaezim@users.noreply.github.com> Date: Thu, 30 May 2024 02:22:07 -0400 Subject: [PATCH 317/745] Fix typos in markdowns and comments, Fix invalid links in HISTORY.md (#4017) --- BINDINGS.md | 2 +- CHANGELOG | 2 +- CONTRIBUTING.md | 12 +- CONVENTIONS.md | 4 +- FAQ.md | 20 +-- HISTORY.md | 150 +++++++++--------- ROADMAP.md | 4 +- examples/README.md | 2 +- examples/core/core_custom_frame_control.c | 2 +- .../raylib_npp_parser/raylib_npp.xml | 4 +- .../raylib_npp_parser/raylib_to_parse.h | 2 +- src/config.h | 2 +- src/raylib.h | 6 +- 13 files changed, 106 insertions(+), 106 deletions(-) diff --git a/BINDINGS.md b/BINDINGS.md index 118794d52..81bc6abda 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -1,6 +1,6 @@ # raylib bindings and wrappers -Some people ported raylib to other languages in form of bindings or wrappers to the library. Here is a list with all the ports available. Feel free to send a PR if you know of any binding/wrapper not in this list. +Some people ported raylib to other languages in the form of bindings or wrappers to the library. Here is a list with all the ports available. Feel free to send a PR if you know of any binding/wrapper not in this list. ### Language Bindings diff --git a/CHANGELOG b/CHANGELOG index 77df794db..2141926ce 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -642,7 +642,7 @@ Release: raylib 4.0 - 8th Anniversary Edition (05 November 2021) KEY CHANGES: - Naming consistency and coherency: Complete review of the library: syntax, naming, comments, decriptions, logs... - Event Automation System: Support for input events recording and automatic re-playing, useful for automated testing and more! - - Custom game-loop control: Intended for advance users that want to control the events polling and the timming mechanisms + - Custom game-loop control: Intended for advanced users that want to control the events polling and the timming mechanisms - rlgl 4.0: Completely decoupling from platform layer and raylib, intended for standalone usage as single-file header-only - raymath 1.5: Complete review following new conventions, to make it more portable and self-contained - raygui 3.0: Complete review and official new release, more portable and self-contained, intended for tools development diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 644a89bf4..78f953baf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,7 +11,7 @@ Do you enjoy raylib and want to contribute? Nice! You can help with the followin - `Testing` - Can you find some bugs in raylib? This document contains a set of guidelines to contribute to the project. These are mostly guidelines, not rules. -Use your best judgement, and feel free to propose changes to this document in a pull request. +Use your best judgment, and feel free to propose changes to this document in a pull request. ### raylib philosophy @@ -28,14 +28,14 @@ Use your best judgement, and feel free to propose changes to this document in a - [raylib license](LICENSE) - [raylib roadmap](ROADMAP.md) -[raylib Wiki](https://github.com/raysan5/raylib/wiki) contains some information about the library and is open to anyone for edit. +[raylib Wiki](https://github.com/raysan5/raylib/wiki) contains some information about the library and is open to anyone to edit. Feel free to review it if required, just take care not to break something. ### raylib C coding conventions Despite being written in C, raylib does not follow the standard Hungarian notation for C, it [follows Pascal-case/camel-case notation](https://github.com/raysan5/raylib/wiki/raylib-coding-conventions), -more common on C# language. All code formatting decisions have been carefully taken +more common in C# language. All code formatting decisions have been carefully taken to make it easier for students/users to read, write and understand code. Source code is extensively commented for that purpose, raylib primary learning method is: @@ -46,12 +46,12 @@ For detailed information on building raylib and examples, please check [raylib W ### Opening new Issues -To open new issue for raylib (bug, enhancement, discussion...), just try to follow these rules: +To open new issues for raylib (bug, enhancement, discussion...), just try to follow these rules: - Make sure the issue has not already been reported before by searching on GitHub under Issues. - If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample demonstrating the unexpected behavior. - - If applies, attach some screenshot of the issue and a .zip file with the code sample and required resources. + - If applicable, attach some screenshot of the issue and a .zip file with the code sample and required resources. - On issue description, add a brackets tag about the raylib module that relates to this issue. If don't know which module, just report the issue, I will review it. - You can check other issues to see how is being done! @@ -60,7 +60,7 @@ To open new issue for raylib (bug, enhancement, discussion...), just try to foll - Make sure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. - Don't send big pull requests (lots of changelists), they are difficult to review. It's better to send small pull requests, one at a time. - - Verify that changes don't break the build (at least on Windows platform). As many platforms where you can test it, the better, but don't worry + - Verify that changes don't break the build (at least on Windows platform). The more platforms where you can test it, the better, but don't worry if you cannot test all the platforms. ### Contact information diff --git a/CONVENTIONS.md b/CONVENTIONS.md index 37db230e5..b7ace0275 100644 --- a/CONVENTIONS.md +++ b/CONVENTIONS.md @@ -1,6 +1,6 @@ ## C Coding Style Conventions -Here it is a list with some of the code conventions used by raylib: +Here is a list with some of the code conventions used by raylib: Code element | Convention | Example --- | :---: | --- @@ -79,7 +79,7 @@ _NOTE: Avoid any space or special character in the files/dir naming!_ - Data files should be organized by context and usage in the game, think about the loading requirements for data and put all the resources that need to be loaded at the same time together. - Use descriptive names for the files, it would be perfect if just reading the name of the file, it was possible to know what is that file and where fits in the game. - - Here it is an example, note that some resources require to be loaded all at once while other require to be loaded only at initialization (gui, font). + - Here is an example, note that some resources require to be loaded all at once while other require to be loaded only at initialization (gui, font). ``` resources/audio/fx/long_jump.wav diff --git a/FAQ.md b/FAQ.md index be06657b9..d2f9308ac 100644 --- a/FAQ.md +++ b/FAQ.md @@ -40,13 +40,13 @@ Yes, raylib can be used to create any kind of application, not just videogames. ### How can I learn to use raylib? Is there some official documentation or tutorials? -raylib does not provide a "standard" API reference documentation like other libraries, all of the raylib functionality is exposed in a simple [cheatsheet](https://www.raylib.com/cheatsheet/cheatsheet.html). Most of the functions are self-explanatory and the required parameters are very intuitive. It's also highly recommended to take a look to [`raylib.h`](https://github.com/raysan5/raylib/blob/master/src/raylib.h) header file or even the source code, that is very clean and organized, intended for teaching. +raylib does not provide a "standard" API reference documentation like other libraries, all of the raylib functionality is exposed in a simple [cheatsheet](https://www.raylib.com/cheatsheet/cheatsheet.html). Most of the functions are self-explanatory and the required parameters are very intuitive. It's also highly recommended to take a look at [`raylib.h`](https://github.com/raysan5/raylib/blob/master/src/raylib.h) header file or even the source code, that is very clean and organized, intended for teaching. raylib also provides a big [collection of examples](https://www.raylib.com/examples.html), to showcase the multiple functionality usage (+120 examples). Examples are categorized by the internal module functionality and also define an estimated level of difficulty to guide the users checking them. There is also a [FAQ on the raylib Wiki](https://github.com/raysan5/raylib/wiki/Frequently-Asked-Questions) with common technical questions. -There are also many tutorials on the internet and YouTube created by the growing raylib community along the years. +There are also many tutorials on the internet and YouTube created by the growing raylib community over the years. [raylib Discord Community](https://discord.gg/raylib) is also a great place to join and ask questions, the community is very friendly and always ready to help. @@ -56,7 +56,7 @@ raylib is [free and open source](https://github.com/raysan5/raylib). Anyone can ### What is the raylib license? -raylib source code is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](https://github.com/raysan5/raylib/blob/master/LICENSE) for further details. +raylib source code is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed-source software. Check [LICENSE](https://github.com/raysan5/raylib/blob/master/LICENSE) for further details. ### What platforms are supported by raylib? @@ -90,25 +90,25 @@ I personally consider raylib a graphics library with some high-level features ra ### What does raylib provide that other engines or libraries don't? -I would say "simplicity" and "enjoyment" at a really low-level of coding but actually is up to the user to discover it, to try it and to see if it fits their needs. raylib is not good for everyone but it's worth a try. +I would say "simplicity" and "enjoyment" at a really low level of coding but actually is up to the user to discover it, to try it and to see if it fits their needs. raylib is not good for everyone but it's worth a try. ### How does raylib compare to Unity/Unreal/Godot? Those engines are usually big and complex to use, providing lot of functionality. They require some time to learn and test, they usually abstract many parts of the game development process and they usually provide a set of tools to assist users on their creations (like a GUI editor). -raylib is a simple programming library, with no integrated tools or editors. It gives full control to users at a very low-level to create graphics applications in a more handmade way. +raylib is a simple programming library, with no integrated tools or editors. It gives full control to users at a very low level to create graphics applications in a more handmade way. ### What development tools are required for raylib? To develop raylib programs you only need a text editor (with recommended code syntax highlighting) and a compiler. -A [raylib Windows Installer](https://raysan5.itch.io/raylib) package is distributed including the Notepad++ editor and MinGW (GCC) compiler pre-configured for Windows for new users as an starter-pack but for more advance configurations with other editors/compilers, [raylib Wiki](https://github.com/raysan5/raylib/wiki) provides plenty of configuration tutorials. +A [raylib Windows Installer](https://raysan5.itch.io/raylib) package is distributed including the Notepad++ editor and MinGW (GCC) compiler pre-configured for Windows for new users as an starter-pack but for more advanced configurations with other editors/compilers, [raylib Wiki](https://github.com/raysan5/raylib/wiki) provides plenty of configuration tutorials. ### What are raylib's external dependencies? -raylib is self-contained, it has no external dependencies to build it. But internally raylib uses several libraries from other developers, mostly used to load specific file-formats. +raylib is self-contained, it has no external dependencies to build it. But internally raylib uses several libraries from other developers, mostly used to load specific file formats. -A detailed list of raylib dependencies could be found on the [raylib Wiki](https://github.com/raysan5/raylib/wiki/raylib-dependencies). +A detailed list of raylib dependencies can be found on the [raylib Wiki](https://github.com/raysan5/raylib/wiki/raylib-dependencies). ### Can I use raylib with other technologies or libraries? @@ -129,10 +129,10 @@ No, raylib is built on top of OpenGL API, and there are currently no plans to su ### What could I expect to see in raylib in the future? -The main focus of the library is simplicity. Most of the efforts are invested in maintainability and bug-fixing. Despite new small features are regularly added, it's not the objective for raylib to become a full-featured engine. Personally I prefer to keep it small and enjoyable. +The main focus of the library is simplicity. Most of the efforts are invested in maintainability and bug-fixing. Despite new small features being regularly added, it's not the objective for raylib to become a full-featured engine. Personally I prefer to keep it small and enjoyable. ### Who are the raylib developers? -The main raylib developer and maintainer is [Ramon Santamaria](https://www.linkedin.com/in/raysan/) but there's 360+ contributors that have helped by adding new features, testing the library and solving issues in the 9+ years life of raylib. +The main raylib developer and maintainer is [Ramon Santamaria](https://www.linkedin.com/in/raysan/) but there are 360+ contributors that have helped by adding new features, testing the library and solving issues in the 9+ years life of raylib. The full list of raylib contributors can be seen [on GitHub](https://github.com/raysan5/raylib/graphs/contributors). diff --git a/HISTORY.md b/HISTORY.md index de14b651c..035054dbe 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -3,13 +3,13 @@ introduction ------------ -I started developing videogames in 2006 and some years later I started teaching videogames development to young people with artistic profile, most of students had never written a single line of code. +I started developing videogames in 2006 and some years later I started teaching videogames development to young people with artistic profiles, most of students had never written a single line of code. I decided to start with C language basis and, after searching for the most simple and easy-to-use library to teach videogames programming, I found [WinBGI](https://winbgim.codecutter.org/); it was great and it worked very well with students, in just a couple of weeks, those students that had never written a single line of code were able to program (and understand) a simple PONG game, some of them even a BREAKOUT! -But WinBGI was not the clearer and most organized library for my taste. There were lots of things I found confusing and some function names were not clear enough for most of the students; not to mention the lack of transparencies support and no hardware acceleration. +But WinBGI was not the clearest and most organized library for my taste. There were lots of things I found confusing and some function names were not clear enough for most of the students; not to mention the lack of transparencies support and no hardware acceleration. -So, I decided to create my own library, hardware accelerated, clear function names, quite organized, well structured, plain C coding and, the most important, primarily intended to learn videogames programming. +So, I decided to create my own library, hardware accelerated, clear function names, quite organized, well structured, plain C coding and, most importantly, primarily intended to learn videogames programming. My previous videogames development experience was mostly in C# and [XNA](https://en.wikipedia.org/wiki/Microsoft_XNA) and I really loved it, so, I decided to use C# language style notation and XNA naming conventions. That way, students were able to move from raylib to XNA, MonoGame or similar libs extremely easily. @@ -20,28 +20,28 @@ Enjoy it. notes on raylib 1.1 ------------------- -On April 2014, after 6 month of first raylib release, raylib 1.1 has been released. This new version presents a complete internal redesign of the library to support OpenGL 1.1, OpenGL 3.3+ and OpenGL ES 2.0. +On April 2014, after 6 months of first raylib release, raylib 1.1 was released. This new version presents a complete internal redesign of the library to support OpenGL 1.1, OpenGL 3.3+ and OpenGL ES 2.0. - A new module named [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) has been added to the library. This new module translates raylib-OpenGL-style immediate mode functions (i.e. rlVertex3f(), rlBegin(), ...) to different versions of OpenGL (1.1, 3.3+, ES2), selectable by one define. - [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) also comes with a second new module named [raymath](https://github.com/raysan5/raylib/blob/master/src/raymath.h), which includes a bunch of useful functions for 3d-math with vectors, matrices and quaternions. -Some other big changes of this new version have been the support for OGG files loading and stream playing, and the support of DDS texture files (compressed and uncompressed) along with mipmaps support. +Some other big changes of this new version have been the support for OGG file loading and stream playing, and the support of DDS texture files (compressed and uncompressed) along with mipmaps support. -Lots of code changes and lot of testing have concluded in this amazing new raylib 1.1. +Lots of code changes and a lot of testing have concluded in this amazing new raylib 1.1. notes on raylib 1.2 ------------------- -On September 2014, after 5 month of raylib 1.1 release, it comes raylib 1.2. Again, this version presents a complete internal redesign of [core](https://github.com/raysan5/raylib/blob/master/src/rcore.c) module to support two new platforms: [Android](http://www.android.com/) and [Raspberry Pi](http://www.raspberrypi.org/). +On September 2014, after 5 months of raylib 1.1 release, it comes raylib 1.2. Again, this version presents a complete internal redesign of [core](https://github.com/raysan5/raylib/blob/master/src/rcore.c) module to support two new platforms: [Android](http://www.android.com/) and [Raspberry Pi](http://www.raspberrypi.org/). -It's been some month of really hard work to accomodate raylib to those new platforms while keeping it easy for the users. On Android, raylib manages internally the activity cicle, as well as the inputs; on Raspberry Pi, a complete raw input system has been written from scratch. +It's been some months of really hard work to accommodate raylib to those new platforms while keeping it easy for the users. On Android, raylib manages internally the activity cycle, as well as the inputs; on Raspberry Pi, a complete raw input system has been written from scratch. - - A new display initialization system has been created to support multiple resolutions, adding black bars if required; user only defines desired screen size and it gets properly displayed. + - A new display initialization system has been created to support multiple resolutions, adding black bars if required; the user only defines the desired screen size and it gets properly displayed. - Now raylib can easily deploy games to Android devices and Raspberry Pi (console mode). -Lots of code changes and lot of testing have concluded in this amazing new raylib 1.2. +Lots of code changes and a lot of testing have concluded in this amazing new raylib 1.2. In December 2014, new raylib 1.2.2 was published with support to compile directly for web (html5) using [emscripten](http://kripken.github.io/emscripten-site/) and [asm.js](http://asmjs.org/). @@ -50,26 +50,26 @@ notes on raylib 1.3 On September 2015, after 1 year of raylib 1.2 release, arrives raylib 1.3. This version adds shaders functionality, improves tremendously textures module and also provides some new modules (camera system, gestures system, immediate-mode gui). - - Shaders support is the biggest addition to raylib 1.3, with support for easy shaders loading and use. Loaded shaders can be attached to 3d models or used as fullscreen postrocessing effects. A bunch of postprocessing shaders are also included in this release, check raylib/shaders folder. + - Shaders support is the biggest addition to raylib 1.3, with support for easy shaders loading and use. Loaded shaders can be attached to 3d models or used as fullscreen post-processing effects. A bunch of postprocessing shaders are also included in this release, check raylib/shaders folder. - Textures module has grown to support most of the internal texture formats available in OpenGL (RGB565, RGB888, RGBA5551, RGBA4444, etc.), including compressed texture formats (DXT, ETC1, ETC2, ASTC, PVRT); raylib 1.3 can load .dds, .pkm, .ktx, .astc and .pvr files. - - A brand new [camera](https://github.com/raysan5/raylib/blob/master/src/rcamera.c) module offers to the user multiple preconfigured ready-to-use camera systems (free camera, 1st person, 3rd person). Camera modes are very easy to use, just check examples: [core_3d_camera_free.c](https://github.com/raysan5/raylib/blob/master/examples/core_3d_camera_free.c) and [core_3d_camera_first_person.c](https://github.com/raysan5/raylib/blob/master/examples/core_3d_camera_first_person.c). + - A brand new [camera](https://github.com/raysan5/raylib/blob/master/src/rcamera.h) module offers to the user multiple preconfigured ready-to-use camera systems (free camera, 1st person, 3rd person). Camera modes are very easy to use, just check examples: [core_3d_camera_free.c](https://github.com/raysan5/raylib/blob/master/examples/core/core_3d_camera_free.c) and [core_3d_camera_first_person.c](https://github.com/raysan5/raylib/blob/master/examples/core/core_3d_camera_first_person.c). - New [gestures](https://github.com/raysan5/raylib/blob/master/src/rgestures.h) module simplifies gestures detection on Android and HTML5 programs. - - [raygui](https://github.com/raysan5/raylib/blob/master/src/raygui.h), the new immediate-mode GUI module offers a set of functions to create simple user interfaces, primary intended for tools development. It's still in experimental state but already fully functional. + - [raygui](https://github.com/raysan5/raylib/blob/master/examples/shapes/raygui.h), the new immediate-mode GUI module offers a set of functions to create simple user interfaces, primarily intended for tools development. It's still in an experimental state but already fully functional. Most of the examples have been completely rewritten and +10 new examples have been added to show the new raylib features. -Lots of code changes and lot of testing have concluded in this amazing new raylib 1.3. +Lots of code changes and a lot of testing have concluded in this amazing new raylib 1.3. notes on raylib 1.4 ------------------- On February 2016, after 4 months of raylib 1.3 release, it comes raylib 1.4. For this new version, lots of parts of the library have been reviewed, lots of bugs have been solved and some interesting features have been added. - - First big addition is a set of [Image manipulation functions](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L673) have been added to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image. Now a basic image processing can be done before converting the image to texture for usage. + - First big addition is a set of [Image manipulation functions](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L1331) that have been added to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image. Now basic image processing can be done before converting the image to texture for usage. - SpriteFonts system has been improved, adding support for AngelCode fonts (.fnt) and TrueType Fonts (using [stb_truetype](https://github.com/nothings/stb/blob/master/stb_truetype.h) helper library). Now raylib can read standard .fnt font data and also generate at loading a SpriteFont from a TTF file. @@ -77,12 +77,12 @@ On February 2016, after 4 months of raylib 1.3 release, it comes raylib 1.4. For - [raymath](https://github.com/raysan5/raylib/blob/master/src/raymath.h) module has been reviewed; some bugs have been solved and the module has been converted to a header-only file for easier portability, optionally, functions can also be used as inline. - - [gestures](https://github.com/raysan5/raylib/blob/master/src/rgestures.c) module has redesigned and simplified, now it can process touch events from any source, including mouse. This way, gestures system can be used on any platform providing an unified way to work with inputs and allowing the user to create multiplatform games with only one source code. + - [gestures](https://github.com/raysan5/raylib/blob/master/src/rgestures.h) module has been redesigned and simplified, now it can process touch events from any source, including the mouse. This way, gestures system can be used on any platform providing a unified way to work with inputs and allowing the user to create multiplatform games with only one source code. - Raspberry Pi input system has been redesigned to better read raw inputs using generic Linux event handlers (keyboard:`stdin`, mouse:`/dev/input/mouse0`, gamepad:`/dev/input/js0`). Gamepad support has also been added (experimental). Other important improvements are the functional raycast system for 3D picking, including some ray collision-detection functions, -and the addition of two simple functions for persistent data storage. Now raylib user can save and load game data in a file (only some platforms supported). A simple [easings](https://github.com/raysan5/raylib/blob/master/src/easings.h) module has also been added for values animation. +and the addition of two simple functions for persistent data storage. Now raylib users can save and load game data in a file (only some platforms are supported). A simple [easings](https://github.com/raysan5/raylib/blob/master/examples/shapes/reasings.h) module has also been added for values animation. Up to 8 new code examples have been added to show the new raylib features and +10 complete game samples have been provided to learn how to create some classic games like Arkanoid, Asteroids, Missile Commander, Snake or Tetris. @@ -94,36 +94,36 @@ notes on raylib 1.5 On July 2016, after 5 months of raylib 1.4 release, arrives raylib 1.5. This new version is the biggest boost of the library until now, lots of parts of the library have been redesigned, lots of bugs have been solved and some **AMAZING** new features have been added. - - VR support: raylib supports **Oculus Rift CV1**, one of the most anticipated VR devices in the market. Additionally, raylib supports simulated VR stereo rendering, independent of the VR device; it means, raylib can generate stereo renders with custom head-mounted-display device parameteres, that way, any VR device in the market can be **simulated in any platform** just configuring device parameters (and consequently, lens distortion). To enable VR is [extremely easy](https://github.com/raysan5/raylib/blob/master/examples/core_oculus_rift.c). + - VR support: raylib supports **Oculus Rift CV1**, one of the most anticipated VR devices in the market. Additionally, raylib supports simulated VR stereo rendering, independent of the VR device; it means, raylib can generate stereo renders with custom head-mounted-display device parameters, that way, any VR device in the market can be **simulated in any platform** just configuring device parameters (and consequently, lens distortion). To enable VR is [extremely easy](https://github.com/raysan5/raylib/blob/master/examples/core_oculus_rift.c). - New materials system: now raylib supports standard material properties for 3D models, including diffuse-ambient-specular colors and diffuse-normal-specular textures. Just assign values to standard material and everything is processed internally. - - New lighting system: added support for up to 8 configurable lights and 3 light types: **point**, **directional** and **spot** lights. Just create a light, configure its parameters and raylib manages render internally for every 3d object using standard material. + - New lighting system: added support for up to 8 configurable lights and 3 light types: **point**, **directional** and **spot** lights. Just create a light, configure its parameters and raylib manages to render internally for every 3d object using standard material. - Complete gamepad support on Raspberry Pi: Gamepad system has been completely redesigned. Now multiple gamepads can be easily configured and used; gamepad data is read and processed in raw mode in a second thread. - - Redesigned physics module: [physac](https://github.com/raysan5/raylib/blob/master/src/physac.h) module has been converted to header only and usage [has been simplified](https://github.com/raysan5/raylib/blob/master/examples/physics_basic_rigidbody.c). Performance has also been singnificantly improved, now physic objects are managed internally in a second thread. + - Redesigned physics module: [physac](https://github.com/raysan5/raylib/blob/master/src/physac.h) module has been converted to header only and usage [has been simplified](https://github.com/raysan5/raylib/blob/master/examples/physics_basic_rigidbody.c). Performance has also been significantly improved, now physic objects are managed internally in a second thread. - - Audio chiptunese support and mixing channels: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels are now also supported. All this features thanks to the amazing work of @kd7tck. + - Audio chiptunes support and mixing channels: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels are now also supported. All these features thanks to the amazing work of @kd7tck. -Other additions include a [2D camera system](https://github.com/raysan5/raylib/blob/master/examples/core_2d_rcamera.c), render textures for offline render (and most comprehensive [postprocessing](https://github.com/raysan5/raylib/blob/master/examples/shaders_postprocessing.c)) or support for legacy OpenGL 2.1 on desktop platforms. +Other additions include a [2D camera system](https://github.com/raysan5/raylib/blob/master/examples/core/core_2d_rcamera.c), render textures for offline render (and most comprehensive [postprocessing](https://github.com/raysan5/raylib/blob/master/examples/shaders/shaders_postprocessing.c)) or support for legacy OpenGL 2.1 on desktop platforms. -This new version is so massive that is difficult to list all the improvements, most of raylib modules have been reviewed and [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.c) module has been completely redesigned to accomodate to new material-lighting systems and stereo rendering. You can check [CHANGELOG](https://github.com/raysan5/raylib/blob/master/CHANGELOG) file for a more detailed list of changes. +This new version is so massive that is difficult to list all the improvements, most of the raylib modules have been reviewed and [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) module has been completely redesigned to accommodate to new material-lighting systems and stereo rendering. You can check [CHANGELOG](https://github.com/raysan5/raylib/blob/master/CHANGELOG) file for a more detailed list of changes. -Up to 8 new code examples have been added to show the new raylib features and also some samples to show the usage of [rlgl](https://github.com/raysan5/raylib/blob/master/examples/rlgl_standalone.c) and [audio](https://github.com/raysan5/raylib/blob/master/examples/audio_standalone.c) raylib modules as standalone libraries. +Up to 8 new code examples have been added to show the new raylib features and also some samples to show the usage of [rlgl](https://github.com/raysan5/raylib/blob/master/examples/others/rlgl_standalone.c) and [audio](https://github.com/raysan5/raylib/blob/master/examples/audio_standalone.c) raylib modules as standalone libraries. Lots of code changes (+400 commits) and lots of hours of hard work have concluded in this amazing new raylib 1.5. notes on raylib 1.6 ------------------- -On November 2016, only 4 months after raylib 1.5, arrives raylib 1.6. This new version represents another big review of the library and includes some interesting additions. This version conmmemorates raylib 3rd anniversary (raylib 1.0 was published on November 2013) and it is a stepping stone for raylib future. raylib roadmap has been reviewed and redefined to focus on its primary objective: create a simple and easy-to-use library to learn videogames programming. Some of the new features: +On November 2016, only 4 months after raylib 1.5, arrives raylib 1.6. This new version represents another big review of the library and includes some interesting additions. This version commemorates raylib 3rd anniversary (raylib 1.0 was published on November 2013) and it is a stepping stone for raylib future. raylib roadmap has been reviewed and redefined to focus on its primary objective: create a simple and easy-to-use library to learn videogames programming. Some of the new features: - Complete [raylib Lua binding](https://github.com/raysan5/raylib-lua). All raylib functions plus the +60 code examples have been ported to Lua, now Lua users can enjoy coding videogames in Lua while using all the internal power of raylib. This addition also open the doors to Lua scripting support for a future raylib-based engine, being able to move game logic (Init, Update, Draw, De-Init) to Lua scripts while keep using raylib functionality. - - Completely redesigned [audio module](https://github.com/raysan5/raylib/blob/master/src/raudio.c). Based on the new direction taken in raylib 1.5, it has been further improved and more functionality added (+20 new functions) to allow raw audio processing and streaming. [FLAC file format support](https://github.com/raysan5/raylib/blob/master/src/external/dr_flac.h) has also been added. In the same line, [OpenAL Soft](https://github.com/kcat/openal-soft) backend is now provided as a static library in Windows to allow static linking and get ride of OpenAL32.dll. Now raylib Windows games are completey self-contained, no external libraries required any more! + - Completely redesigned [audio module](https://github.com/raysan5/raylib/blob/master/src/raudio.c). Based on the new direction taken in raylib 1.5, it has been further improved and more functionality added (+20 new functions) to allow raw audio processing and streaming. [FLAC file format support](https://github.com/raysan5/raylib/blob/master/src/external/dr_flac.h) has also been added. In the same line, [OpenAL Soft](https://github.com/kcat/openal-soft) backend is now provided as a static library in Windows to allow static linking and get ride of OpenAL32.dll. Now raylib Windows games are completely self-contained, no external libraries are required anymore! - - [Physac](https://github.com/victorfisac/Physac) module has been moved to its own repository and it has been improved A LOT, actually, library has been completely rewritten from scratch by [@victorfisac](https://github.com/victorfisac), multiple samples have been added together with countless new features to match current standard 2D physic libraries. Results are amazing! + - [Physac](https://github.com/victorfisac/Physac) module has been moved to its own repository and it has been improved A LOT, actually, the library has been completely rewritten from scratch by [@victorfisac](https://github.com/victorfisac), multiple samples have been added together with countless new features to match current standard 2D physic libraries. Results are amazing! - Camera and gestures modules have been reviewed, highly simplified and ported to single-file header-only libraries for easier portability and usage flexibility. Consequently, camera system usage has been simplified in all examples. @@ -131,41 +131,41 @@ On November 2016, only 4 months after raylib 1.5, arrives raylib 1.6. This new v - Improved textures and text functionality, adding new functions for texture filtering control and better TTF/AngelCode fonts loading and generation support. -Build system improvement. Added support for raylib dynamic library generation (raylib.dll) for users that prefer dynamic library linking. Also thinking on advance users, it has been added pre-configured [Visual Studio C++ 2015 solution](https://github.com/raysan5/raylib/tree/master/project/vs2015) with raylib project and C/C++ examples for users that prefer that professional IDE and compiler. +Build system improvement. Added support for raylib dynamic library generation (raylib.dll) for users that prefer dynamic library linking. Also thinking on advanced users, it has been added pre-configured [Visual Studio C++ 2015 solution](https://github.com/raysan5/raylib/tree/master/projects/vs2015) with raylib project and C/C++ examples for users that prefer that professional IDE and compiler. New examples, new functions, complete code-base review, multiple bugs corrected... this is raylib 1.6. Enjoy making games. notes on raylib 1.7 ------------------- -On May 2017, around 6 month after raylib 1.6, comes another raylib instalment, raylib 1.7. This time library has been improved a lot in terms of consistency and cleanness. As stated in [this patreon article](https://www.patreon.com/posts/raylib-future-7501034), this new raylib version has focused efforts in becoming more simple and easy-to-use to learn videogames programming. Some highlights of this new version are: +On May 2017, around 6 months after raylib 1.6, comes another raylib installment, raylib 1.7. This time library has been improved a lot in terms of consistency and cleanness. As stated in [this patreon article](https://www.patreon.com/posts/raylib-future-7501034), this new raylib version has focused efforts in becoming more simple and easy-to-use to learn videogames programming. Some highlights of this new version are: - More than 30 new functions added to the library, functions to control Window, utils to work with filenames and extensions, functions to draw lines with custom thick, mesh loading, functions for 3d ray collisions detailed detection, functions for VR simulation and much more... Just check [CHANGELOG](CHANGELOG) for a detailed list of additions! - - Support of [configuration flags](https://github.com/raysan5/raylib/issues/200) on every raylib module. Advance users can customize raylib just choosing desired features, defining some configuration flags on modules compilation. That way users can control library size and available functionality. + - Support of [configuration flags](https://github.com/raysan5/raylib/issues/200) on every raylib module. Advanced users can customize raylib just by choosing desired features, and defining some configuration flags on modules compilation. That way users can control library size and available functionality. - - Improved [build system](https://github.com/raysan5/raylib/blob/master/src/Makefile) for all supported platforms (Windows, Linux, OSX, RPI, Android, HTML5) with a unique Makefile to compile sources. Added support for Android compilation with a custom standalone toolchain and also multiple build compliation flags. + - Improved [build system](https://github.com/raysan5/raylib/blob/master/src/Makefile) for all supported platforms (Windows, Linux, OSX, RPI, Android, HTML5) with a unique Makefile to compile sources. Added support for Android compilation with a custom standalone toolchain and also multiple build compilation flags. - - New [examples](http://www.raylib.com/examples.html) and [sample games](http://www.raylib.com/games.html) added. All samples material has been reviewed, removing useless examples and adding more comprehensive ones; all material has been ported to latest raylib version and tested in multiple platforms. Examples folder structure has been improved and also build systems. + - New [examples](http://www.raylib.com/examples.html) and [sample games](http://www.raylib.com/games.html) added. All sample material has been reviewed, removing useless examples and adding more comprehensive ones; all material has been ported to the latest raylib version and tested on multiple platforms. Examples folder structure has been improved and also build systems. - - Improved library consistency and organization in general. Functions and parameters have been renamed, some parts of the library have been cleaned and simplyfied, some functions has been moved to examples (lighting, Oculus Rift CV1 support) towards a more generic library implementation. Lots of hours have been invested in this process... + - Improved library consistency and organization in general. Functions and parameters have been renamed, some parts of the library have been cleaned and simplified, some functions have been moved to examples (lighting, Oculus Rift CV1 support) towards a more generic library implementation. Lots of hours have been invested in this process... Some other features: Gamepad support on HTML5, RPI touch screen support, 32bit audio support, frames timing improvements, public log system, rres file format support, automatic GIF recording... -And here it is another version of **raylib, a simple and easy-to-use library to enjoy videogames programming**. Enjoy it. +And here is another version of **raylib, a simple and easy-to-use library to enjoy videogames programming**. Enjoy it. notes on raylib 1.8 ------------------- October 2017, around 5 months after latest raylib version, another release is published: raylib 1.8. Again, several modules of the library have been reviewed and some new functionality added. Main changes of this new release are: - - [Procedural image generation](https://github.com/raysan5/raylib/blob/master/examples/textures/textures_image_generation.c) function, a set of new functions have been added to generate gradients, checked, noise and cellular images from scratch. Image generation could be useful for certain textures or learning pourpouses. + - [Procedural image generation](https://github.com/raysan5/raylib/blob/master/examples/textures/textures_image_generation.c) function, a set of new functions have been added to generate gradients, checked, noise and cellular images from scratch. Image generation could be useful for certain textures or learning purposes. - [Parametric mesh generation](https://github.com/raysan5/raylib/blob/master/examples/models/models_mesh_generation.c) functions, create 3d meshes from scratch just defining a set of parameters, meshes like cube, sphere, cylinder, torus, knot and more can be very useful for prototyping or for lighting and texture testing. - - PBR Materials support, a completely redesigned shaders and material system allows advance materials definition and usage, with fully customizable shaders. Some new functions have been added to generate the environment textures required for PBR shading and a a new complete [PBR material example](https://github.com/raysan5/raylib/blob/master/examples/models/models_material_pbr.c) is also provided for reference. + - PBR Materials support, a completely redesigned shaders and material system allows advanced materials definition and usage, with fully customizable shaders. Some new functions have been added to generate the environment textures required for PBR shading and a a new complete [PBR material example](https://github.com/raysan5/raylib/blob/master/examples/models/models_material_pbr.c) is also provided for reference. - - Custom Android APK build pipeline with [simple Makefile](https://github.com/raysan5/raylib/blob/master/templates/simple_game/Makefile). Actually, full code building mechanism based on plain Makefile has been completely reviewed and Android building has been added for sources and also for examples and templates building into final APK package. This way, raylib Android building has been greatly simplified and integrated seamlessly into standard build scripts. + - Custom Android APK build pipeline with [simple Makefile](https://github.com/raysan5/raylib/blob/master/templates/simple_game/Makefile). Actually, full code building mechanism based on plain Makefile has been completely reviewed and Android building has been added for sources and also for examples and templates building into the final APK package. This way, raylib Android building has been greatly simplified and integrated seamlessly into standard build scripts. - [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) module has been completely reviewed and most of the functions renamed for consistency. This way, standalone usage of rlgl is promoted, with a [complete example provided](https://github.com/raysan5/raylib/blob/master/examples/others/rlgl_standalone.c). rlgl offers a pseudo-OpenGL 1.1 immediate-mode programming-style layer, with backends to multiple OpenGL versions. @@ -178,37 +178,37 @@ New installer provided, web updated, examples re-builded, documentation reviewed notes on raylib 2.0 ------------------- -It's been 9 month since last raylib version was published, a lots of things have changed since then... This new raylib version represents an inflexion point in the development of the library and so, we jump to a new major version... Here it is the result of almost **5 years and thousands of hours of hard work**... here it is... **raylib 2.0** +It's been 9 months since last raylib version was published, a lot of things have changed since then... This new raylib version represents an inflection point in the development of the library and so, we jump to a new major version... Here is the result of almost **5 years and thousands of hours of hard work**... here is... **raylib 2.0** In **raylib 2.0** the full API has been carefully reviewed for better consistency, some new functionality has been added and the overall raylib experience has been greatly improved... The key features of new version are: - - **Complete removal of external dependencies.** Finally, raylib does not require external libraries to be installed and linked along with raylib, all required libraries are contained and compiled within raylib. Obviously some external libraries are required but only the strictly platform-dependant ones, the ones that come installed with the OS. So, raylib becomes a self-contained platform-independent games development library. + - **Complete removal of external dependencies.** Finally, raylib does not require external libraries to be installed and linked along with raylib, all required libraries are contained and compiled within raylib. Obviously some external libraries are required but only the strictly platform-dependent ones, the ones that come installed with the OS. So, raylib becomes a self-contained platform-independent games development library. - **Full redesign of audio module to use the amazing miniaudio library**, along with external dependencies removal, OpenAL library has been replaced by [miniaudio](https://github.com/dr-soft/miniaudio), this brand new library offers automatic dynamic linking with default OS audio systems. Undoubtedly, the perfect low-level companion for raylib audio module! - - **Support for continuous integration building*** through AppVeyor and Travis CI. Consequently, raylib GitHub develop branch has been removed, simplyfing the code-base to a single master branch, always stable. Every time a new commit is deployed, library is compiled for **up-to 12 different configurations**, including multiple platforms, 32bit/64bit and multiple compiler options! All those binaries are automatically attached to any new release! + - **Support for continuous integration building*** through AppVeyor and Travis CI. Consequently, raylib GitHub develop branch has been removed, simplifying the code-base to a single master branch, always stable. Every time a new commit is deployed, library is compiled for **up-to 12 different configurations**, including multiple platforms, 32bit/64bit and multiple compiler options! All those binaries are automatically attached to any new release! - **More platforms supported and tested**, including BSD family (FreeBSD, openBSD, NetBSD, DragonFly) and Linux-based family platforms (openSUSE, Debian, Ubuntu, Arch, NixOS...). raylib has already been added to some package managers! Oh, and last but not less important, **Android 64bit** is already supported by raylib! - - **Support for TCC compiler!** Thanks to the lack of external dependencies, raylib can now be easily compiled with a **minimal toolchain**, like the one provide by Tiny C Compiler. It opens the door to an amazing future, allowing, for example, static linkage of libtcc for **runtime compilation of raylib-based code**... and the library itself if required! Moreover, TCC is blazing fast, it can compile all raylib in a couple of seconds! + - **Support for TCC compiler!** Thanks to the lack of external dependencies, raylib can now be easily compiled with a **minimal toolchain**, like the one provided by Tiny C Compiler. It opens the door to an amazing future, allowing, for example, static linkage of libtcc for **runtime compilation of raylib-based code**... and the library itself if required! Moreover, TCC is blazing fast, it can compile all raylib in a couple of seconds! - - Refactored all raylib configuration #defines into a **centralized `config.h` header**, with more than **40 possible configuration options** to compile a totally customizable raylib version including only desired options like supported file-formats or specific functionality support. It allows generating a trully ligth-weight version of the library if desired! + - Refactored all raylib configuration #defines into a **centralized `config.h` header**, with more than **40 possible configuration options** to compile a totally customizable raylib version including only desired options like supported file formats or specific functionality support. It allows generating a trully ligth-weight version of the library if desired! A part of that, lots of new features, like a brand **new font rendering and packaging system** for TTF fonts with **SDF support** (thanks to the amazing STB headers), new functions for **CPU image data manipulation**, new orthographic 3d camera mode, a complete review of `raymath.h` single-file header-only library for better consistency and performance, new examples and way, [way more](https://github.com/raysan5/raylib/blob/master/CHANGELOG). -Probably by now, **raylib 2.0 is the simplest and easiest-to-use library to enjoy (and learn) videogames programming**... but, undoubtedly its development has exceeded any initial objective; raylib has become a simple and easy-to-use trully multiplatform portable standalone media library with thousands of possibilities... and that's just the beginning! +Probably by now, **raylib 2.0 is the simplest and easiest-to-use library to enjoy (and learn) videogames programming**... but, undoubtedly its development has exceeded any initial objective; raylib has become a simple and easy-to-use truly multiplatform portable standalone media library with thousands of possibilities... and that's just the beginning! notes on raylib 2.5 ------------------- -After almost one years since latest raylib installment, here it is **raylib 2.5**. A lot of work has been put on this new version and consequently I decided to bump versioning several digits. The complete list of changes and additions is humungous, details can be found in the [CHANGELOG](CHANGELOG), and here it is a short recap with the highlight improvements. +After almost one years since latest raylib installment, here is **raylib 2.5**. A lot of work has been put on this new version and consequently I decided to bump versioning several digits. The complete list of changes and additions is humungous, details can be found in the [CHANGELOG](CHANGELOG), and here is a short recap with the highlight improvements. - New **window management and file system functions** to query monitor information, deal with clipboard, check directory files info and even launch a URL with default system web browser. Experimental **High-DPI monitor support** has also been added through a compile flag. - **Redesigned Gamepad mechanism**, now generic for all platforms and gamepads, no more specific gamepad configurations. **Redesigned UWP input system**, now raylib supports UWP seamlessly, previous implementation required a custom input system implemented in user code. - - `rlgl` module has been redesigned to **support a unique buffer for shapes drawing batching**, including LINES, TRIANGLES, QUADS in the same indexed buffer, also added support for multi-buffering if required. Additionally, `rlPushMatrix()`/`rlPopMatrix()` functionality has been reviewed to behave exactly like OpenGL 1.1, `models_rlgl_solar_system` example has been added to illustrate this behaviour. + - `rlgl` module has been redesigned to **support a unique buffer for shapes drawing batching**, including LINES, TRIANGLES, QUADS in the same indexed buffer, also added support for multi-buffering if required. Additionally, `rlPushMatrix()`/`rlPopMatrix()` functionality has been reviewed to behave exactly like OpenGL 1.1, `models_rlgl_solar_system` example has been added to illustrate this behavior. - **VR simulator** has been reviewed to **allow custom configuration of Head-Mounted-Device parameters and distortion shader**, `core_vr_simulator` has been properly adapted to showcase this new functionality, now the VR simulator is a generic configurable stereo rendering system that allows any VR device simulation with just a few lines of code or even dynamic tweaking of HMD parameters. @@ -220,30 +220,30 @@ After almost one years since latest raylib installment, here it is **raylib 2.5* - Experimental **cubemap support**, to automatically load multiple cubemap layouts (`LoadTextureCubemap()`). It required some internal `rlgl` redesign to allow cubemap textures. - - **Skeletal animation support for 3d models**, this addition implied a redesign of `Model` data structure to accomodate multiple mesh/multiple materials support and bones information. Multiple models functions have been reviewed and added on this process, also **glTF models loading support** has been added. + - **Skeletal animation support for 3d models**, this addition implied a redesign of `Model` data structure to accommodate multiple mesh/multiple materials support and bones information. Multiple models functions have been reviewed and added on this process, also **glTF models loading support** has been added. -This is a just a brief list with some of the changes of the new **raylib 2.5** but there is way more, about **70 new functions** have been added and several subsystems have been redesigned. More than **30 new examples** have been created to show the new functionalities and better illustrate already available ones. +This is just a brief list with some of the changes of the new **raylib 2.5** but there is way more, about **70 new functions** have been added and several subsystems have been redesigned. More than **30 new examples** have been created to show the new functionalities and better illustrate already available ones. It has been a long year of hard work to make raylib a solid technology to develop new products over it. notes on raylib 3.0 ------------------- -After **10 months of intense development**, new raylib version is ready. Despite primary intended as a minor release, the [CHANGELIST](CHANGELOG) has grown so big and the library has changed so much internally that it finally became a major release. Library **internal ABI** has reveived a big redesign and review, targeting portability, integration with other platforms and making it a perfect option for other progamming [language bindings](BINDINGS.md). +After **10 months of intense development**, new raylib version is ready. Despite primary intended as a minor release, the [CHANGELIST](CHANGELOG) has grown so big and the library has changed so much internally that it finally became a major release. Library **internal ABI** has received a big redesign and review, targeting portability, integration with other platforms and making it a perfect option for other programming [language bindings](BINDINGS.md). - - All **global variables** from the multiple raylib modules have been moved to a **global context state**, it has several benefits, first, better code readability with more comprehensive variables naming and categorization (organized by types, i.e. `CORE.Window.display.width`, `CORE.Input.Keyboard.currentKeyState` or `RLGL.State.modelview`). Second, it allows better memory management to load global context state dynamically when required (not at the moment), making it easy to implement a **hot-reloading mechanism** if desired. + - All **global variables** from the multiple raylib modules have been moved to a **global context state**, it has several benefits, first, better code readability with more comprehensive variable naming and categorization (organized by types, i.e. `CORE.Window.display.width`, `CORE.Input.Keyboard.currentKeyState` or `RLGL.State.modelview`). Second, it allows better memory management to load global context state dynamically when required (not at the moment), making it easy to implement a **hot-reloading mechanism** if desired. - - All **memory allocations** on raylib and its dependencies now use `RL_MALLOC`, `RL_FREE` and similar macros. Now users can easely hook their own memory allocations mechanism if desired, having more control over memory allocated internally by the library. Additionally, it makes it easier to port the library to embedded devices where memory control is critical. For more info check raylib issue #1074. + - All **memory allocations** on raylib and its dependencies now use `RL_MALLOC`, `RL_FREE` and similar macros. Now users can easily hook their own memory allocation mechanism if desired, having more control over memory allocated internally by the library. Additionally, it makes it easier to port the library to embedded devices where memory control is critical. For more info check raylib issue #1074. - All **I/O file accesses** from raylib are being moved to **memory data access**, now all I/O file access is centralized into just four functions: `LoadFileData()`, `SaveFileData()`, `LoadFileText()`, `SaveFileText()`. Users can just update those functions to any I/O file system. This change makes it easier to integrate raylib with **Virtual File Systems** or custom I/O file implementations. - All **raylib data structures** have been reviewed and optimized for pass-by-value usage. One of raylib distinctive design decisions is that most of its functions receive and return data by value. This design makes raylib really simple for newcomers, avoiding pointers and allowing complete access to all structures data in a simple way. The downside is that data is copied on stack every function call and that copy could be costly so, all raylib data structures have been optimized to **stay under 64 bytes** for fast copy and retrieve. - - All **raylib tracelog messages** have been reviewd and categorized for a more comprehensive output information when developing raylib applications, now all display, input, timer, platform, auxiliar libraries, file-accesses, data loading/unloading issues are properly reported with more detailed and visual messages. + - All **raylib tracelog messages** have been reviewed and categorized for a more comprehensive output information when developing raylib applications, now all display, input, timer, platform, auxiliar libraries, file-accesses, data loading/unloading issues are properly reported with more detailed and visual messages. - - `raudio` module has been internally reviewed to accomodate the new `Music` structure (converted from previous pointer format) and the module has been adapted to the **highly improved** [`miniaudio v0.10`](https://github.com/dr-soft/miniaudio). + - `raudio` module has been internally reviewed to accommodate the new `Music` structure (converted from previous pointer format) and the module has been adapted to the **highly improved** [`miniaudio v0.10`](https://github.com/dr-soft/miniaudio). - - `text` module reviewed to **improve fonts generation** and text management functions, `Font` structure has been redesigned to better accomodate characters data, decoupling individual characters as `Image` glyphs from the font atlas parameters. Several improvements have been made to better support Unicode strings with UTF-8 encoding. + - `text` module reviewed to **improve fonts generation** and text management functions, `Font` structure has been redesigned to better accommodate characters data, decoupling individual characters as `Image` glyphs from the font atlas parameters. Several improvements have been made to better support Unicode strings with UTF-8 encoding. - **Multiple new examples added** (most of them contributed by raylib users) and all examples reviewed for correct execution on most of the supported platforms, specially Web and Raspberry Pi. A detailed categorized table has been created on github for easy examples navigation and code access. @@ -274,19 +274,19 @@ Here the list with some highlights for `raylib 3.5`. - NEW **configuration options** exposed: For custom raylib builds, `config.h` now exposes **more than 150 flags and defines** to build raylib with only the desired features, for example, it allows to build a minimal raylib library in just some KB removing all external data filetypes supported, very useful to generate **small executables or embedded devices**. - - NEW **automatic GIF recording** feature: Actually, automatic GIF recording (**CTRL+F12**) for any raylib application has been available for some versions but this feature was really slow and low-performant using an old gif library with many file-accesses. It has been replaced by a **high-performant alternative** (`msf_gif.h`) that operates directly on memory... and actually works very well! Try it out! + - NEW **automatic GIF recording** feature: Actually, automatic GIF recording (**CTRL+F12**) for any raylib application has been available for some versions but this feature was really slow and low-performant using an old gif library with many file accesses. It has been replaced by a **high-performant alternative** (`msf_gif.h`) that operates directly on memory... and actually works very well! Try it out! - - NEW **RenderBatch** system: `rlgl` module has been redesigned to support custom **render batches** to allow grouping draw calls as desired, previous implementation just had one default render batch. This feature has not been exposed to raylib API yet but it can be used by advance users dealing with `rlgl` directly. For example, multiple `RenderBatch` can be created for 2D sprites and 3D geometry independently. + - NEW **RenderBatch** system: `rlgl` module has been redesigned to support custom **render batches** to allow grouping draw calls as desired, previous implementation just had one default render batch. This feature has not been exposed to raylib API yet but it can be used by advanced users dealing with `rlgl` directly. For example, multiple `RenderBatch` can be created for 2D sprites and 3D geometry independently. - - NEW **Framebuffer** system: `rlgl` module now exposes an API for custom **Framebuffer attachments** (including cubemaps!). raylib `RenderTexture` is a basic use-case, just allowing color and depth textures, but this new API allows the creation of more advance Framebuffers with multiple attachments, like the **G-Buffers**. `GenTexture*()` functions have been redesigned to use this new API. + - NEW **Framebuffer** system: `rlgl` module now exposes an API for custom **Framebuffer attachments** (including cubemaps!). raylib `RenderTexture` is a basic use-case, just allowing color and depth textures, but this new API allows the creation of more advanced Framebuffers with multiple attachments, like the **G-Buffers**. `GenTexture*()` functions have been redesigned to use this new API. - Improved **software rendering**: raylib `Image*()` API is intended for software rendering, for those cases when **no GPU or no Window is available**. Those functions operate directly with **multi-format** pixel data on RAM and they have been completely redesigned to be way faster, specially for small resolutions and retro-gaming. Low-end embedded devices like **microcontrollers with custom displays** could benefit of this raylib functionality! - File **loading from memory**: Multiple functions have been redesigned to load data from memory buffers **instead of directly accessing the files**, now all raylib file loading/saving goes through a couple of functions that load data into memory. This feature allows **custom virtual-file-systems** and it gives more control to the user to access data already loaded in memory (i.e. images, fonts, sounds...). - - NEW **Window states** management system: raylib `core` module has been redesigned to support Window **state check and setup more easily** and also **before/after Window initialization**, `SetConfigFlags()` has been reviewed and `SetWindowState()` has been added to control Window minification, maximization, hidding, focusing, topmost and more. + - NEW **Window states** management system: raylib `core` module has been redesigned to support Window **state check and setup more easily** and also **before/after Window initialization**, `SetConfigFlags()` has been reviewed and `SetWindowState()` has been added to control Window minification, maximization, hiding, focusing, topmost and more. - - NEW **GitHub Actions** CI/CD system: Previous CI implementation has been reviewed and improved a lot to support **multiple build configurations** (platforms, compilers, static/shared build) and also an **automatic deploy system** has been implemented to automatically attach the diferent generated artifacts to every new release. As the system seems to work very good, previous CI platforms (AppVeyor/TravisCI) have been removed. + - NEW **GitHub Actions** CI/CD system: Previous CI implementation has been reviewed and improved a lot to support **multiple build configurations** (platforms, compilers, static/shared build) and also an **automatic deploy system** has been implemented to automatically attach the different generated artifacts to every new release. As the system seems to work very good, previous CI platforms (AppVeyor/TravisCI) have been removed. A part of those changes, many new functions have been added, some redundant functions removed and many functions have been reviewed for consistency with the full API (function name, parameters name and order, code formatting...). Again, this release represents is a **great improvement for raylib and marks the way forward** for the library. Make sure to check [CHANGELOG](CHANGELOG) for details! Hope you enjoy it! @@ -295,7 +295,7 @@ Happy holidays! :) notes on raylib 3.7 ------------------- -April 2021, it's been about 4 months since last raylib release and here it is already a new one, this time with a bunch of internal redesigns and improvements. Surprisingly, on April the 8th I was awarded for a second time with the [Google Open Source Peer Bonus Award](https://opensource.googleblog.com/2021/04/announcing-first-group-of-google-open-source-peer-bonus-winners.html) for my contribution to open source world with raylib and it seems the library is getting some traction, what a better moment for a new release? Let's see what can be found in this new version: +April 2021, it's been about 4 months since the last raylib release and here is already a new one, this time with a bunch of internal redesigns and improvements. Surprisingly, on April 8th I was awarded for a second time with the [Google Open Source Peer Bonus Award](https://opensource.googleblog.com/2021/04/announcing-first-group-of-google-open-source-peer-bonus-winners.html) for my contribution to open source world with raylib and it seems the library is getting some traction, what a better moment for a new release? Let's see what can be found in this new version: Let's start with some numbers: @@ -315,18 +315,18 @@ Highlights for `raylib 3.7`: - **ADDED: glTF animations support**. glTF is the preferred models file format to be used with raylib and along the addition of a models animation API on latest raylib versions, now animations support for glTF format has come to raylib, thanks for this great contribution to [Hristo Stamenov](@object71) - - **ADDED: Music streaming support from memory**. raylib has been adding the `Load*FromMemory()` option to all its supported file formats but **music streaming** was not supported yet... until now. Thanks to this great contribution by [Agnis "NeZvērs" Aldiņš](@nezvers), now raylib supports music streamming from memory data for all supported file formats: WAV, OGG, MP3, FLAC, XM and MOD. + - **ADDED: Music streaming support from memory**. raylib has been adding the `Load*FromMemory()` option to all its supported file formats but **music streaming** was not supported yet... until now. Thanks to this great contribution by [Agnis "NeZvērs" Aldiņš](@nezvers), now raylib supports music streaming from memory data for all supported file formats: WAV, OGG, MP3, FLAC, XM and MOD. - **RENAMED: enums values for consistency**. Most raylib enums names and values names have been renamed for consistency, now all value names start with the type of data they represent. It increases clarity and readability when using those values and also **improves overall library consistency**. -Beside those key changes, many functions have been reviewed with improvements and bug fixes, many of them contributed by the community! Thanks! And again, this release sets a **new milestone for raylib library**. Make sure to check [CHANGELOG](CHANGELOG) for detailed list of changes! Hope you enjoy this new raylib installment! +Besides those key changes, many functions have been reviewed with improvements and bug fixes, many of them contributed by the community! Thanks! And again, this release sets a **new milestone for raylib library**. Make sure to check [CHANGELOG](CHANGELOG) for detailed list of changes! Hope you enjoy this new raylib installment! Happy **gamedev/tools/graphics** programming! :) notes on raylib 4.0 - 8th Anniversary Edition --------------------------------------------- -It's been about 6 months since last raylib release and it's been **8 years since I started with this project**, what an adventure! It's time for a new release: `raylib 4.0`, **the biggest release ever** and an inflexion point for the library. Many hours have been put in this release to make it special, **many library details have been polished**: syntax, naming conventions, code comments, functions descriptions, log outputs... Almost all the issues have been closed (only 3 remain open at the moment of this writing) and some amazing new features have been added. I expect this **`raylib 4.0`** to be a long term version (LTS), stable and complete enough for any new graphic/game/tool application development. +It's been about 6 months since last raylib release and it's been **8 years since I started with this project**, what an adventure! It's time for a new release: `raylib 4.0`, **the biggest release ever** and an inflection point for the library. Many hours have been put in this release to make it special, **many library details have been polished**: syntax, naming conventions, code comments, functions descriptions, log outputs... Almost all the issues have been closed (only 3 remain open at the moment of this writing) and some amazing new features have been added. I expect this **`raylib 4.0`** to be a long-term version (LTS), stable and complete enough for any new graphic/game/tool application development. Let's start with some numbers: @@ -339,11 +339,11 @@ Let's start with some numbers: Highlights for `raylib 4.0`: - - **Naming consistency and coherency**: `raylib` API has been completely reviewed to be consistent on naming conventions for data structures and functions, comments and descriptions have been reviewed, also the syntax of many symbols for consistency; some functions and structs have been renamed (i.e. `struct CharInfo` to `struct GlyphInfo`). Output log messages have been also improved to show more info to the users. Several articles have been writen in this process: [raylib_syntax analysis](https://github.com/raysan5/raylib/wiki/raylib-syntax-analysis) and [raylib API usage analysis](https://gist.github.com/raysan5/7c0c9fff1b6c19af24bb4a51b7383f1e). In general, a big polishment of the library to make it more consistent and coherent. + - **Naming consistency and coherency**: `raylib` API has been completely reviewed to be consistent on naming conventions for data structures and functions, comments and descriptions have been reviewed, also the syntax of many symbols for consistency; some functions and structs have been renamed (i.e. `struct CharInfo` to `struct GlyphInfo`). Output log messages have been also improved to show more info to the users. Several articles have been written in this process: [raylib_syntax analysis](https://github.com/raysan5/raylib/wiki/raylib-syntax-analysis) and [raylib API usage analysis](https://gist.github.com/raysan5/7c0c9fff1b6c19af24bb4a51b7383f1e). In general, a big polishment of the library to make it more consistent and coherent. - - **Event Automation System**: This new _experimental_ feature has been added for future usage, it allows to **record input events and re-play them automatically**. This feature could be very useful to automatize examples testing but also for tutorials with assited game playing, in-game cinematics, speedruns, AI playing and more! Note this feature is still experimental. + - **Event Automation System**: This new _experimental_ feature has been added for future usage, it allows to **record input events and re-play them automatically**. This feature could be very useful to automatize examples testing but also for tutorials with assisted game playing, in-game cinematics, speedruns, AI playing and more! Note this feature is still experimental. - - **Custom game-loop control**: As requested by some advance users, **the game-loop control can be exposed** compiling raylib with the config flag: `SUPPORT_CUSTOM_FRAME_CONTROL`. It's intended for advance users that want to control the events polling and also the timming mechanisms of their games. + - **Custom game-loop control**: As requested by some advanced users, **the game-loop control can be exposed** compiling raylib with the config flag: `SUPPORT_CUSTOM_FRAME_CONTROL`. It's intended for advanced users that want to control the events polling and also the timing mechanisms of their games. - [**`rlgl 4.0`**](https://github.com/raysan5/raylib/blob/master/src/rlgl.h): This module has been completely **decoupled from platform layer** and raylib, now `rlgl` single-file header-only library only depends on the multiple OpenGL backends supported, even the dependency on `raymath` has been removed. Additionally, **support for OpenGL 4.3** has been added, supporting compute shaders and Shader Storage Buffer Objects (SSBO). Now `rlgl` can be used as a complete standalone portable library to wrap several OpenGL version and providing **a simple and easy-to-use pseudo-OpenGL immediate-mode API**. @@ -361,12 +361,12 @@ Highlights for `raylib 4.0`: Those are some of the key features for this new release but actually there is way more! **Support for `VOX` ([MagikaVoxel](https://ephtracy.github.io/)) 3d model format** has been added, **new [raylib_game_template](https://github.com/raysan5/raylib-game-template)** repo shared, **new `EncodeDataBase64()` and `DecodeDataBase64()` functions** added, **improved HiDPI support**, new `DrawTextPro()` with support for text rotations, completely **reviewed `glTF` models loading**, added **`SeekMusicStream()` for music seeking**, many new examples and +20 examples reviewed... **hundreds of improvements and bug fixes**! Make sure to check [CHANGELOG](CHANGELOG) for a detailed list of changes! -Undoubtely, **this is the best raylib ever**. Enjoy gamedev/tools/graphics programming! :) +Undoubtedly, **this is the best raylib ever**. Enjoy gamedev/tools/graphics programming! :) notes on raylib 4.2 ------------------- -**New raylib release!** Nine months after latest raylib, here it is a new version. It was supposed to be just a small update but, actually, it's a huge update with lots of changes a improvements. It has been possible thanks to the many contributors that has helped with issues and improvements, it's the **update with more contributors to date** and that's amazing! +**New raylib release!** Nine months after latest raylib, here is a new version. It was supposed to be just a small update but, actually, it's a huge update with lots of changes a improvements. It has been possible thanks to the many contributors that has helped with issues and improvements, it's the **update with more contributors to date** and that's amazing! Some numbers to start with: @@ -390,7 +390,7 @@ Highlights for `raylib 4.2`: - **New file system API**: Current API has been redesigned to be more comprehensive and better aligned with raylib naming conventions, two new functions are provided `LoadDirectoryFiles()`/`LoadDirectoryFilesEx()` to load a `FilePathList` for provided path, supporting extension filtering and recursive directory scan. `LoadDroppedFiles()` has been renamed to better reflect its internal functionality. Now, all raylib functions that start with `Load*()` allocate memory internally and a equivalent `Unload*()` function is defined to take care of that memory internally when not required any more! - - **New audio stream processors API** (_experimental_): Now real-time audio stream data processors can be added using callbacks to played Music. It allows users to create custom effects for audio like delays of low-pass-filtering (example provided). The new API uses a callback system and it's still _ highly experimental_, it differs from the usual level of complexity that provides raylib and it is intended for advance users. It could change in the future but, actually, `raudio` module is in the spotlight for future updates; [miniaudio](https://github.com/mackron/miniaudio) implements a new higher-level API that can be useful in the future for raylib. + - **New audio stream processors API** (_experimental_): Now real-time audio stream data processors can be added using callbacks to played Music. It allows users to create custom effects for audio like delays of low-pass-filtering (example provided). The new API uses a callback system and it's still _ highly experimental_, it differs from the usual level of complexity that provides raylib and it is intended for advanced users. It could change in the future but, actually, `raudio` module is in the spotlight for future updates; [miniaudio](https://github.com/mackron/miniaudio) implements a new higher-level API that can be useful in the future for raylib. As always, there are more improvements than the key features listed, make sure to check raylib [CHANGELOG](CHANGELOG) for the detailed list of changes; for this release a `WARNING` flag has been added to all the changes that could affect bindings or productivity code. **raylib keeps improving one more version** and a special focus on maintainability has been put on the library for the future. Specific/advance functionality will be provided through **raylib-extras** repos and raylib main repo devlelopment will be focused on what made raylib popular: being a simple and easy-to-use library to **enjoy videogames programming**. @@ -399,7 +399,7 @@ As always, there are more improvements than the key features listed, make sure t notes on raylib 4.5 ------------------- -It's been **7 months** since latest raylib release. As usual, **many parts of the library have been reviewed and improved** along those months. Many issues have been closed, staying under 10 open issues at the moment of this writting and also many PRs from contributors have been received, reviewed and merged into raylib library. Some new functions have been added and some others have been removed to improve library coherence and avoid moving too high level, giving the users the tools to implement advance functionality themselfs over raylib. Again, this is a big release with a considerable amount of changes and improvements. Here it is a small summary highlighting this new **rayib 4.5**. +It's been **7 months** since latest raylib release. As usual, **many parts of the library have been reviewed and improved** along those months. Many issues have been closed, staying under 10 open issues at the moment of this writting and also many PRs from contributors have been received, reviewed and merged into raylib library. Some new functions have been added and some others have been removed to improve library coherence and avoid moving too high level, giving the users the tools to implement advance functionality themselfs over raylib. Again, this is a big release with a considerable amount of changes and improvements. Here is a small summary highlighting this new **rayib 4.5**. Some numbers for this release: @@ -413,7 +413,7 @@ Highlights for `raylib 4.5`: - **`NEW` Improved ANGLE support on Desktop platforms**: Support for OpenGL ES 2.0 on Desktop platforms (Windows, Linux, macOS) has been reviewed by @wtnbgo GitHub user. Now raylib can be compiled on desktop for OpenGL ES 2.0 and linked against [`ANGLE`](https://github.com/google/angle). This _small_ addition open the door to building raylib for all **ANGLE supported backends: Direct3D 11, Vulkan and Metal**. Please note that this new feature is still experimental and requires further testing! - - **`NEW` Camera module**: A brand new implementation from scratch for `rcamera` module, contributed by @Crydsch GitHub user! **New camera system is simpler, more flexible, more granular and more extendable**. Specific camera math transformations (movement/rotation) have been moved to individual functions, exposing them to users if required. Global state has been removed from the module and standalone usage has been greatly improved; now `rcamera.h` single-file header-only library can be used externally, independently of raylib. A new `UpdateCameraPro()` function has been added to address input-dependency of `UpdateCamera()`, now advance users have **full control over camera inputs and movement/rotation speeds**! + - **`NEW` Camera module**: A brand new implementation from scratch for `rcamera` module, contributed by @Crydsch GitHub user! **New camera system is simpler, more flexible, more granular and more extendable**. Specific camera math transformations (movement/rotation) have been moved to individual functions, exposing them to users if required. Global state has been removed from the module and standalone usage has been greatly improved; now `rcamera.h` single-file header-only library can be used externally, independently of raylib. A new `UpdateCameraPro()` function has been added to address input-dependency of `UpdateCamera()`, now advanced users have **full control over camera inputs and movement/rotation speeds**! - **`NEW` Support for M3D models and M3D/GLTF animations**: 3d models animations support has been a limited aspect of raylib for long time, some versions ago IQM animations were supported but raylib 4.5 also adds support for the brand new [M3D file format](https://bztsrc.gitlab.io/model3d/), including animations and the long expected support for **GLTF animations**! The new M3D file format is **simple, portable, feature complete, extensible and open source**. It also provides a complete set of tools to export/visualize M3D models from/to Blender! Now raylib supports up to **3 model file-formats with animations**: `IQM`, `GLTF` and `M3D`. @@ -425,7 +425,7 @@ Highlights for `raylib 4.5`: - **Reviewed `rshapes` module to minimize the rlgl dependency**: Now `rshapes` 2d shapes drawing functions **only depend on 6 low-level functions**: `rlBegin()`, `rlEnd()`, `rlVertex3f()`, `rlTexCoord2f()`, `rlNormal3f()`, `rlSetTexture()`. With only those pseudo-OpenGl 1.1 minimal functionality, everything can be drawn! This improvement converts `rshapes` module in a **self-contained, portable shapes-drawing library that can be used independently of raylib**, as far as entry points for those 6 functions are provided by the user. It even allows to be used for software rendering, with the proper backend! - - **Added data structures validation functions**: Multiple functions have been added by @RobLoach GitHub user to ease the validation of raylib data structures: `IsImageReady()`, `IsTextureReady()`, `IsSoundReady()`... Now users have a simple mechanism to **make sure data has been correctly loaded**, instead of checking internal structure values by themselfs. + - **Added data structures validation functions**: Multiple functions have been added by @RobLoach GitHub user to ease the validation of raylib data structures: `IsImageReady()`, `IsTextureReady()`, `IsSoundReady()`... Now users have a simple mechanism to **make sure data has been correctly loaded**, instead of checking internal structure values by themselves. As usual, those are only some highlights but there is much more! New image generators, new color transformation functionality, improved blending support for color/alpha, etc... Make sure to check raylib [CHANGELOG]([CHANGELOG](https://github.com/raysan5/raylib/blob/master/CHANGELOG)) for a detailed list of changes! Please, note that all breaking changes have been flagged with a `WARNING` in the CHANGELOG, specially useful for binding creators! @@ -436,7 +436,7 @@ Let's keep **enjoying games/tools/graphics programming!** :) notes on raylib 5.0 ------------------- -It's been **7 months** since latest raylib release and **10 years** since raylib 1.0 was officially released... what an adventure! In the last 10 years raylib has improved a lot, new functions have been added, many new features and improvements implemented, up to **500 contributors** have helped to shape the library as it is today. `raylib 5.0` is the final result of all this incredible amount of work and dedication. Here it is the summary with the key features and additions of this NEW major version of raylib. +It's been **7 months** since latest raylib release and **10 years** since raylib 1.0 was officially released... what an adventure! In the last 10 years raylib has improved a lot, new functions have been added, many new features and improvements implemented, up to **500 contributors** have helped to shape the library as it is today. `raylib 5.0` is the final result of all this incredible amount of work and dedication. Here is the summary with the key features and additions of this NEW major version of raylib. Some numbers for this release: @@ -448,9 +448,9 @@ Some numbers for this release: Highlights for `raylib 5.0`: - - **`rcore` module platform-split**: Probably the biggest raylib redesign in the last 10 years. raylib started as a library targeting 3 desktop platforms: `Windows`, `Linux` and `macOS` (thanks to `GLFW` underlying library) but with the years support for several new platforms has been added (`Android`, `Web`, `Rapsberry Pi`, `RPI native`...); lot of the platform code was shared so the logic was all together on `rcore.c` module, separated by compilation flags. This approach was very handy but also made it very difficult to support new platforms and specially painful for contributors not familiar with the module, navigating +8000 lines of code in a single file. A big redesign was really needed but the amount of work required was humungus and quite scary for a solo-developer like me, moreover considering that everything was working and the chances to break things were really high. Fortunately, some contributors were ready for the task (@ubkp, @michaelfiber, @Bigfoot71) and thanks to their initiative and super-hard work, the `rcore` [platform split](https://github.com/raysan5/raylib/blob/master/src/platforms) has been possible! This new raylib architecture greatly improves the platforms maintenance but also greatly simplifies the addition of new platforms. A [`platforms/rcore_template.c`](https://github.com/raysan5/raylib/blob/master/src/platforms/rcore_template.c) file is provided with the required structure and functions to be filled for the addition of new platforms, actually it has been simplified to mostly filling some pre-defined functions: `InitPlatform()`, `ClosePlatform`, `PollInputEvents`... Undoubtely, **this redesign opens the doors to a new era for raylib**, letting the users to plug new platforms as desired. + - **`rcore` module platform-split**: Probably the biggest raylib redesign in the last 10 years. raylib started as a library targeting 3 desktop platforms: `Windows`, `Linux` and `macOS` (thanks to `GLFW` underlying library) but with the years support for several new platforms has been added (`Android`, `Web`, `Rapsberry Pi`, `RPI native`...); lot of the platform code was shared so the logic was all together on `rcore.c` module, separated by compilation flags. This approach was very handy but also made it very difficult to support new platforms and specially painful for contributors not familiar with the module, navigating +8000 lines of code in a single file. A big redesign was really needed but the amount of work required was humungous and quite scary for a solo-developer like me, moreover considering that everything was working and the chances to break things were really high. Fortunately, some contributors were ready for the task (@ubkp, @michaelfiber, @Bigfoot71) and thanks to their initiative and super-hard work, the `rcore` [platform split](https://github.com/raysan5/raylib/blob/master/src/platforms) has been possible! This new raylib architecture greatly improves the platforms maintenance but also greatly simplifies the addition of new platforms. A [`platforms/rcore_template.c`](https://github.com/raysan5/raylib/blob/master/src/platforms/rcore_template.c) file is provided with the required structure and functions to be filled for the addition of new platforms, actually it has been simplified to mostly filling some pre-defined functions: `InitPlatform()`, `ClosePlatform`, `PollInputEvents`... Undoubtedly, **this redesign opens the doors to a new era for raylib**, letting the users to plug new platforms as desired. - - **`NEW` Platform backend supported: SDL**: Thanks to the new `rcore` platform-split, the addition of new platforms/backends to raylib has been greatly simplified. As a proof of concept, [`SDL2`](https://libsdl.org/) platform backend has been added to raylib as an aternative for `GLFW` library for desktop builds: [`platforms/rcore_desktop_sdl`](https://github.com/raysan5/raylib/blob/master/src/platforms/rcore_desktop_sdl.c). Lot of work has been put to provide exactly the same features as the other platforms and carefully test the new implementation. Now `SDL2` fans can use this new backend, just providing the required include libraries on compilation and linkage (not included in raylib, like `GLFW`). `SDL` backend support also **eases the process of supporting a wider range of platforms** that already support `SDL`. + - **`NEW` Platform backend supported: SDL**: Thanks to the new `rcore` platform-split, the addition of new platforms/backends to raylib has been greatly simplified. As a proof of concept, [`SDL2`](https://libsdl.org/) platform backend has been added to raylib as an alternative for `GLFW` library for desktop builds: [`platforms/rcore_desktop_sdl`](https://github.com/raysan5/raylib/blob/master/src/platforms/rcore_desktop_sdl.c). Lot of work has been put to provide exactly the same features as the other platforms and carefully test the new implementation. Now `SDL2` fans can use this new backend, just providing the required include libraries on compilation and linkage (not included in raylib, like `GLFW`). `SDL` backend support also **eases the process of supporting a wider range of platforms** that already support `SDL`. - **`NEW` Platform backend supported: Nintendo Switch (closed source)**: The addition of the `SDL` backend was quite a challenge but to really verify the robustness and ease of the new platform plugin system, adding support for a console was a more demanding adventure. Surprisingly, only two days of work were required to add support for `Nintendo Switch` to raylib! Implementation result showed an outstanding level of simplicity, with a **self-contained module** (`rcore_swith.cpp`) supporting graphics and inputs. Unfortunately this module can not be open-sourced due to licensing restrictions. @@ -468,6 +468,6 @@ As always, those are only some highlights of the new `raylib 5.0` but there is m Make sure to check raylib [CHANGELOG]([CHANGELOG](https://github.com/raysan5/raylib/blob/master/CHANGELOG)) for a detailed list of changes! -Undoubtely, this is the **biggest raylib update in 10 years**. Many new features and improvements with a special focus on maintainabiliy and long-term sustainability. **Undoubtely, this is the raylib of the future**. +Undoubtedly, this is the **biggest raylib update in 10 years**. Many new features and improvements with a special focus on maintainability and long-term sustainability. **Undoubtedly, this is the raylib of the future**. **Enjoy programming!** :) diff --git a/ROADMAP.md b/ROADMAP.md index 8755333c8..87ca2e1c8 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # raylib roadmap -Here it is a wishlist with features and ideas to improve the library. Note that features listed here are usually long term improvements or just describe a route to follow for the library. There are also some additional places to look for raylib improvements and ideas: +Here is a wishlist with features and ideas to improve the library. Note that features listed here are usually long term improvements or just describe a route to follow for the library. There are also some additional places to look for raylib improvements and ideas: - [GitHub Issues](https://github.com/raysan5/raylib/issues) has several open issues for possible improvements or bugs to fix. - [raylib source code](https://github.com/raysan5/raylib/tree/master/src) has multiple *TODO* comments around code with pending things to review or improve. @@ -73,7 +73,7 @@ _Current version of raylib is complete and functional but there is always room f **raylib 1.5** - [x] Support Oculus Rift CV1 and VR stereo rendering (simulator) - [x] Redesign Shaders/Textures system -> New Materials system - - [x] Support lighting: Omni, Directional and Spot lights + - [x] Support lighting: Omni, Directional and Spotlights - [x] Redesign physics module (physac) - [x] Chiptunes audio modules support diff --git a/examples/README.md b/examples/README.md index 94f5369db..d790f7d84 100644 --- a/examples/README.md +++ b/examples/README.md @@ -202,5 +202,5 @@ Examples showing raylib misc functionality that does not fit in other categories | 125 | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Stephan Soller](https://github.com/arkanis) | | 126 | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | -As always contributions are welcome, feel free to send new examples! Here it is an [examples template](examples_template.c) to start with! +As always contributions are welcome, feel free to send new examples! Here is an [examples template](examples_template.c) to start with! diff --git a/examples/core/core_custom_frame_control.c b/examples/core/core_custom_frame_control.c index 6e494d86e..9793fc359 100644 --- a/examples/core/core_custom_frame_control.c +++ b/examples/core/core_custom_frame_control.c @@ -2,7 +2,7 @@ * * raylib [core] example - custom frame control * -* NOTE: WARNING: This is an example for advance users willing to have full control over +* NOTE: WARNING: This is an example for advanced users willing to have full control over * the frame processes. By default, EndDrawing() calls the following processes: * 1. Draw remaining batch data: rlDrawRenderBatchActive() * 2. SwapScreenBuffer() diff --git a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml index 6c0552974..c869a1a18 100644 --- a/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +++ b/projects/Notepad++/raylib_npp_parser/raylib_npp.xml @@ -509,7 +509,7 @@ - + @@ -2822,7 +2822,7 @@ - + diff --git a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h index 8776d4349..0a3c2417d 100644 --- a/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +++ b/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h @@ -134,7 +134,7 @@ RLAPI void *MemRealloc(void *ptr, unsigned int size); // Internal me RLAPI void MemFree(void *ptr); // Internal memory free // Set custom callbacks -// WARNING: Callbacks setup is intended for advance users +// WARNING: Callbacks setup is intended for advanced users RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver diff --git a/src/config.h b/src/config.h index 3c92de72d..c54583e74 100644 --- a/src/config.h +++ b/src/config.h @@ -66,7 +66,7 @@ #define SUPPORT_COMPRESSION_API 1 // Support automatic generated events, loading and recording of those events when required #define SUPPORT_AUTOMATION_EVENTS 1 -// Support custom frame control, only for advance users +// Support custom frame control, only for advanced users // By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents() // Enabling this flag allows manual control of the frame processes, use at your own risk //#define SUPPORT_CUSTOM_FRAME_CONTROL 1 diff --git a/src/raylib.h b/src/raylib.h index b870cc6ca..1bf740b9b 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -934,7 +934,7 @@ typedef enum { } NPatchLayout; // Callbacks to hook some internal functions -// WARNING: These callbacks are intended for advance users +// WARNING: These callbacks are intended for advanced users typedef void (*TraceLogCallback)(int logLevel, const char *text, va_list args); // Logging: Redirect trace log messages typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, int *dataSize); // FileIO: Load binary data typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, int dataSize); // FileIO: Save binary data @@ -1066,7 +1066,7 @@ RLAPI double GetTime(void); // Get elapsed RLAPI int GetFPS(void); // Get current FPS // Custom frame control functions -// NOTE: Those functions are intended for advance users that want full control over the frame processing +// NOTE: Those functions are intended for advanced users that want full control over the frame processing // By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents() // To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing) @@ -1093,7 +1093,7 @@ RLAPI void *MemRealloc(void *ptr, unsigned int size); // Internal me RLAPI void MemFree(void *ptr); // Internal memory free // Set custom callbacks -// WARNING: Callbacks setup is intended for advance users +// WARNING: Callbacks setup is intended for advanced users RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver From 606cc1d897db0a2df201b1c5f7e98bda29d74c64 Mon Sep 17 00:00:00 2001 From: kai-z99 <147789796+kai-z99@users.noreply.github.com> Date: Wed, 29 May 2024 23:24:44 -0700 Subject: [PATCH 318/745] [rshapes]Circle line collision function (#4018) * inital function * working 1 * optimize * optimized dot product * simplify * cleanup * cleanup * cleanup * comment * var name change * epsilon --- src/raylib.h | 1 + src/rshapes.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index 1bf740b9b..dfa98efb8 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1295,6 +1295,7 @@ RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Ve RLAPI bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount); // Check if point is within a polygon described by array of vertices RLAPI bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference RLAPI bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] +RLAPI bool CheckCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2); // Check if circle collides with a line created betweeen two points [p1] and [p2] RLAPI Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2); // Get collision rectangle for two rectangles collision //------------------------------------------------------------------------------------ diff --git a/src/rshapes.c b/src/rshapes.c index 80df64e2d..cb85c1c54 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2315,6 +2315,30 @@ bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshol return collision; } +// Check if circle collides with a line created betweeen two points [p1] and [p2] +RLAPI bool CheckCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2) +{ + float dx = p1.x - p2.x; + float dy = p1.y - p2.y; + + if ((fabsf(dx) + fabsf(dy)) <= FLT_EPSILON) + { + return CheckCollisionCircles(p1, 0, center, radius); + } + + float lengthSQ = ((dx * dx) + (dy * dy)); + float dotProduct = (((center.x - p1.x) * (p2.x - p1.x)) + ((center.y - p1.y) * (p2.y - p1.y))) / (lengthSQ); + + if (dotProduct > 1.0f) dotProduct = 1.0f; + else if (dotProduct < 0.0f) dotProduct = 0.0f; + + float dx2 = (p1.x - (dotProduct * (dx))) - center.x; + float dy2 = (p1.y - (dotProduct * (dy))) - center.y; + float distanceSQ = ((dx2 * dx2) + (dy2 * dy2)); + + return (distanceSQ <= radius * radius); +} + // Get collision rectangle for two rectangles collision Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2) { From 1344979c708bdf5000d8963d26d938ae4db5d771 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 30 May 2024 06:24:58 +0000 Subject: [PATCH 319/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 23 ++ parser/output/raylib_api.lua | 11 + parser/output/raylib_api.txt | 602 +++++++++++++++++----------------- parser/output/raylib_api.xml | 8 +- 4 files changed, 346 insertions(+), 298 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index f2a9cc61e..4bfce70d1 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -6703,6 +6703,29 @@ } ] }, + { + "name": "CheckCollisionCircleLine", + "description": "Check if circle collides with a line created betweeen two points [p1] and [p2]", + "returnType": "bool", + "params": [ + { + "type": "Vector2", + "name": "center" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Vector2", + "name": "p1" + }, + { + "type": "Vector2", + "name": "p2" + } + ] + }, { "name": "GetCollisionRec", "description": "Get collision rectangle for two rectangles collision", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 68fef97bb..4a6998bbd 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -5266,6 +5266,17 @@ return { {type = "int", name = "threshold"} } }, + { + name = "CheckCollisionCircleLine", + description = "Check if circle collides with a line created betweeen two points [p1] and [p2]", + returnType = "bool", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"} + } + }, { name = "GetCollisionRec", description = "Get collision rectangle for two rectangles collision", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index d6576dee5..979ef0d56 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 563 +Functions found: 564 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -2593,18 +2593,26 @@ Function 267: CheckCollisionPointLine() (4 input parameters) Param[2]: p1 (type: Vector2) Param[3]: p2 (type: Vector2) Param[4]: threshold (type: int) -Function 268: GetCollisionRec() (2 input parameters) +Function 268: CheckCollisionCircleLine() (4 input parameters) + Name: CheckCollisionCircleLine + Return type: bool + Description: Check if circle collides with a line created betweeen two points [p1] and [p2] + Param[1]: center (type: Vector2) + Param[2]: radius (type: float) + Param[3]: p1 (type: Vector2) + Param[4]: p2 (type: Vector2) +Function 269: GetCollisionRec() (2 input parameters) Name: GetCollisionRec Return type: Rectangle Description: Get collision rectangle for two rectangles collision Param[1]: rec1 (type: Rectangle) Param[2]: rec2 (type: Rectangle) -Function 269: LoadImage() (1 input parameters) +Function 270: LoadImage() (1 input parameters) Name: LoadImage Return type: Image Description: Load image from file into CPU memory (RAM) Param[1]: fileName (type: const char *) -Function 270: LoadImageRaw() (5 input parameters) +Function 271: LoadImageRaw() (5 input parameters) Name: LoadImageRaw Return type: Image Description: Load image from RAW file data @@ -2613,20 +2621,20 @@ Function 270: LoadImageRaw() (5 input parameters) Param[3]: height (type: int) Param[4]: format (type: int) Param[5]: headerSize (type: int) -Function 271: LoadImageSvg() (3 input parameters) +Function 272: LoadImageSvg() (3 input parameters) Name: LoadImageSvg Return type: Image Description: Load image from SVG file data or string with specified size Param[1]: fileNameOrString (type: const char *) Param[2]: width (type: int) Param[3]: height (type: int) -Function 272: LoadImageAnim() (2 input parameters) +Function 273: LoadImageAnim() (2 input parameters) Name: LoadImageAnim Return type: Image Description: Load image sequence from file (frames appended to image.data) Param[1]: fileName (type: const char *) Param[2]: frames (type: int *) -Function 273: LoadImageAnimFromMemory() (4 input parameters) +Function 274: LoadImageAnimFromMemory() (4 input parameters) Name: LoadImageAnimFromMemory Return type: Image Description: Load image sequence from memory buffer @@ -2634,60 +2642,60 @@ Function 273: LoadImageAnimFromMemory() (4 input parameters) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) Param[4]: frames (type: int *) -Function 274: LoadImageFromMemory() (3 input parameters) +Function 275: LoadImageFromMemory() (3 input parameters) Name: LoadImageFromMemory Return type: Image Description: Load image from memory buffer, fileType refers to extension: i.e. '.png' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 275: LoadImageFromTexture() (1 input parameters) +Function 276: LoadImageFromTexture() (1 input parameters) Name: LoadImageFromTexture Return type: Image Description: Load image from GPU texture data Param[1]: texture (type: Texture2D) -Function 276: LoadImageFromScreen() (0 input parameters) +Function 277: LoadImageFromScreen() (0 input parameters) Name: LoadImageFromScreen Return type: Image Description: Load image from screen buffer and (screenshot) No input parameters -Function 277: IsImageReady() (1 input parameters) +Function 278: IsImageReady() (1 input parameters) Name: IsImageReady Return type: bool Description: Check if an image is ready Param[1]: image (type: Image) -Function 278: UnloadImage() (1 input parameters) +Function 279: UnloadImage() (1 input parameters) Name: UnloadImage Return type: void Description: Unload image from CPU memory (RAM) Param[1]: image (type: Image) -Function 279: ExportImage() (2 input parameters) +Function 280: ExportImage() (2 input parameters) Name: ExportImage Return type: bool Description: Export image data to file, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 280: ExportImageToMemory() (3 input parameters) +Function 281: ExportImageToMemory() (3 input parameters) Name: ExportImageToMemory Return type: unsigned char * Description: Export image to memory buffer Param[1]: image (type: Image) Param[2]: fileType (type: const char *) Param[3]: fileSize (type: int *) -Function 281: ExportImageAsCode() (2 input parameters) +Function 282: ExportImageAsCode() (2 input parameters) Name: ExportImageAsCode Return type: bool Description: Export image as code file defining an array of bytes, returns true on success Param[1]: image (type: Image) Param[2]: fileName (type: const char *) -Function 282: GenImageColor() (3 input parameters) +Function 283: GenImageColor() (3 input parameters) Name: GenImageColor Return type: Image Description: Generate image: plain color Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: color (type: Color) -Function 283: GenImageGradientLinear() (5 input parameters) +Function 284: GenImageGradientLinear() (5 input parameters) Name: GenImageGradientLinear Return type: Image Description: Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient @@ -2696,7 +2704,7 @@ Function 283: GenImageGradientLinear() (5 input parameters) Param[3]: direction (type: int) Param[4]: start (type: Color) Param[5]: end (type: Color) -Function 284: GenImageGradientRadial() (5 input parameters) +Function 285: GenImageGradientRadial() (5 input parameters) Name: GenImageGradientRadial Return type: Image Description: Generate image: radial gradient @@ -2705,7 +2713,7 @@ Function 284: GenImageGradientRadial() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 285: GenImageGradientSquare() (5 input parameters) +Function 286: GenImageGradientSquare() (5 input parameters) Name: GenImageGradientSquare Return type: Image Description: Generate image: square gradient @@ -2714,7 +2722,7 @@ Function 285: GenImageGradientSquare() (5 input parameters) Param[3]: density (type: float) Param[4]: inner (type: Color) Param[5]: outer (type: Color) -Function 286: GenImageChecked() (6 input parameters) +Function 287: GenImageChecked() (6 input parameters) Name: GenImageChecked Return type: Image Description: Generate image: checked @@ -2724,14 +2732,14 @@ Function 286: GenImageChecked() (6 input parameters) Param[4]: checksY (type: int) Param[5]: col1 (type: Color) Param[6]: col2 (type: Color) -Function 287: GenImageWhiteNoise() (3 input parameters) +Function 288: GenImageWhiteNoise() (3 input parameters) Name: GenImageWhiteNoise Return type: Image Description: Generate image: white noise Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: factor (type: float) -Function 288: GenImagePerlinNoise() (5 input parameters) +Function 289: GenImagePerlinNoise() (5 input parameters) Name: GenImagePerlinNoise Return type: Image Description: Generate image: perlin noise @@ -2740,39 +2748,39 @@ Function 288: GenImagePerlinNoise() (5 input parameters) Param[3]: offsetX (type: int) Param[4]: offsetY (type: int) Param[5]: scale (type: float) -Function 289: GenImageCellular() (3 input parameters) +Function 290: GenImageCellular() (3 input parameters) Name: GenImageCellular Return type: Image Description: Generate image: cellular algorithm, bigger tileSize means bigger cells Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: tileSize (type: int) -Function 290: GenImageText() (3 input parameters) +Function 291: GenImageText() (3 input parameters) Name: GenImageText Return type: Image Description: Generate image: grayscale image from text data Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: text (type: const char *) -Function 291: ImageCopy() (1 input parameters) +Function 292: ImageCopy() (1 input parameters) Name: ImageCopy Return type: Image Description: Create an image duplicate (useful for transformations) Param[1]: image (type: Image) -Function 292: ImageFromImage() (2 input parameters) +Function 293: ImageFromImage() (2 input parameters) Name: ImageFromImage Return type: Image Description: Create an image from another image piece Param[1]: image (type: Image) Param[2]: rec (type: Rectangle) -Function 293: ImageText() (3 input parameters) +Function 294: ImageText() (3 input parameters) Name: ImageText Return type: Image Description: Create an image from text (default font) Param[1]: text (type: const char *) Param[2]: fontSize (type: int) Param[3]: color (type: Color) -Function 294: ImageTextEx() (5 input parameters) +Function 295: ImageTextEx() (5 input parameters) Name: ImageTextEx Return type: Image Description: Create an image from text (custom sprite font) @@ -2781,76 +2789,76 @@ Function 294: ImageTextEx() (5 input parameters) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) Param[5]: tint (type: Color) -Function 295: ImageFormat() (2 input parameters) +Function 296: ImageFormat() (2 input parameters) Name: ImageFormat Return type: void Description: Convert image data to desired format Param[1]: image (type: Image *) Param[2]: newFormat (type: int) -Function 296: ImageToPOT() (2 input parameters) +Function 297: ImageToPOT() (2 input parameters) Name: ImageToPOT Return type: void Description: Convert image to POT (power-of-two) Param[1]: image (type: Image *) Param[2]: fill (type: Color) -Function 297: ImageCrop() (2 input parameters) +Function 298: ImageCrop() (2 input parameters) Name: ImageCrop Return type: void Description: Crop an image to a defined rectangle Param[1]: image (type: Image *) Param[2]: crop (type: Rectangle) -Function 298: ImageAlphaCrop() (2 input parameters) +Function 299: ImageAlphaCrop() (2 input parameters) Name: ImageAlphaCrop Return type: void Description: Crop image depending on alpha value Param[1]: image (type: Image *) Param[2]: threshold (type: float) -Function 299: ImageAlphaClear() (3 input parameters) +Function 300: ImageAlphaClear() (3 input parameters) Name: ImageAlphaClear Return type: void Description: Clear alpha channel to desired color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: threshold (type: float) -Function 300: ImageAlphaMask() (2 input parameters) +Function 301: ImageAlphaMask() (2 input parameters) Name: ImageAlphaMask Return type: void Description: Apply alpha mask to image Param[1]: image (type: Image *) Param[2]: alphaMask (type: Image) -Function 301: ImageAlphaPremultiply() (1 input parameters) +Function 302: ImageAlphaPremultiply() (1 input parameters) Name: ImageAlphaPremultiply Return type: void Description: Premultiply alpha channel Param[1]: image (type: Image *) -Function 302: ImageBlurGaussian() (2 input parameters) +Function 303: ImageBlurGaussian() (2 input parameters) Name: ImageBlurGaussian Return type: void Description: Apply Gaussian blur using a box blur approximation Param[1]: image (type: Image *) Param[2]: blurSize (type: int) -Function 303: ImageKernelConvolution() (3 input parameters) +Function 304: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) Param[2]: kernel (type: float*) Param[3]: kernelSize (type: int) -Function 304: ImageResize() (3 input parameters) +Function 305: ImageResize() (3 input parameters) Name: ImageResize Return type: void Description: Resize image (Bicubic scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 305: ImageResizeNN() (3 input parameters) +Function 306: ImageResizeNN() (3 input parameters) Name: ImageResizeNN Return type: void Description: Resize image (Nearest-Neighbor scaling algorithm) Param[1]: image (type: Image *) Param[2]: newWidth (type: int) Param[3]: newHeight (type: int) -Function 306: ImageResizeCanvas() (6 input parameters) +Function 307: ImageResizeCanvas() (6 input parameters) Name: ImageResizeCanvas Return type: void Description: Resize canvas and fill with color @@ -2860,12 +2868,12 @@ Function 306: ImageResizeCanvas() (6 input parameters) Param[4]: offsetX (type: int) Param[5]: offsetY (type: int) Param[6]: fill (type: Color) -Function 307: ImageMipmaps() (1 input parameters) +Function 308: ImageMipmaps() (1 input parameters) Name: ImageMipmaps Return type: void Description: Compute all mipmap levels for a provided image Param[1]: image (type: Image *) -Function 308: ImageDither() (5 input parameters) +Function 309: ImageDither() (5 input parameters) Name: ImageDither Return type: void Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering) @@ -2874,109 +2882,109 @@ Function 308: ImageDither() (5 input parameters) Param[3]: gBpp (type: int) Param[4]: bBpp (type: int) Param[5]: aBpp (type: int) -Function 309: ImageFlipVertical() (1 input parameters) +Function 310: ImageFlipVertical() (1 input parameters) Name: ImageFlipVertical Return type: void Description: Flip image vertically Param[1]: image (type: Image *) -Function 310: ImageFlipHorizontal() (1 input parameters) +Function 311: ImageFlipHorizontal() (1 input parameters) Name: ImageFlipHorizontal Return type: void Description: Flip image horizontally Param[1]: image (type: Image *) -Function 311: ImageRotate() (2 input parameters) +Function 312: ImageRotate() (2 input parameters) Name: ImageRotate Return type: void Description: Rotate image by input angle in degrees (-359 to 359) Param[1]: image (type: Image *) Param[2]: degrees (type: int) -Function 312: ImageRotateCW() (1 input parameters) +Function 313: ImageRotateCW() (1 input parameters) Name: ImageRotateCW Return type: void Description: Rotate image clockwise 90deg Param[1]: image (type: Image *) -Function 313: ImageRotateCCW() (1 input parameters) +Function 314: ImageRotateCCW() (1 input parameters) Name: ImageRotateCCW Return type: void Description: Rotate image counter-clockwise 90deg Param[1]: image (type: Image *) -Function 314: ImageColorTint() (2 input parameters) +Function 315: ImageColorTint() (2 input parameters) Name: ImageColorTint Return type: void Description: Modify image color: tint Param[1]: image (type: Image *) Param[2]: color (type: Color) -Function 315: ImageColorInvert() (1 input parameters) +Function 316: ImageColorInvert() (1 input parameters) Name: ImageColorInvert Return type: void Description: Modify image color: invert Param[1]: image (type: Image *) -Function 316: ImageColorGrayscale() (1 input parameters) +Function 317: ImageColorGrayscale() (1 input parameters) Name: ImageColorGrayscale Return type: void Description: Modify image color: grayscale Param[1]: image (type: Image *) -Function 317: ImageColorContrast() (2 input parameters) +Function 318: ImageColorContrast() (2 input parameters) Name: ImageColorContrast Return type: void Description: Modify image color: contrast (-100 to 100) Param[1]: image (type: Image *) Param[2]: contrast (type: float) -Function 318: ImageColorBrightness() (2 input parameters) +Function 319: ImageColorBrightness() (2 input parameters) Name: ImageColorBrightness Return type: void Description: Modify image color: brightness (-255 to 255) Param[1]: image (type: Image *) Param[2]: brightness (type: int) -Function 319: ImageColorReplace() (3 input parameters) +Function 320: ImageColorReplace() (3 input parameters) Name: ImageColorReplace Return type: void Description: Modify image color: replace color Param[1]: image (type: Image *) Param[2]: color (type: Color) Param[3]: replace (type: Color) -Function 320: LoadImageColors() (1 input parameters) +Function 321: LoadImageColors() (1 input parameters) Name: LoadImageColors Return type: Color * Description: Load color data from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) -Function 321: LoadImagePalette() (3 input parameters) +Function 322: LoadImagePalette() (3 input parameters) Name: LoadImagePalette Return type: Color * Description: Load colors palette from image as a Color array (RGBA - 32bit) Param[1]: image (type: Image) Param[2]: maxPaletteSize (type: int) Param[3]: colorCount (type: int *) -Function 322: UnloadImageColors() (1 input parameters) +Function 323: UnloadImageColors() (1 input parameters) Name: UnloadImageColors Return type: void Description: Unload color data loaded with LoadImageColors() Param[1]: colors (type: Color *) -Function 323: UnloadImagePalette() (1 input parameters) +Function 324: UnloadImagePalette() (1 input parameters) Name: UnloadImagePalette Return type: void Description: Unload colors palette loaded with LoadImagePalette() Param[1]: colors (type: Color *) -Function 324: GetImageAlphaBorder() (2 input parameters) +Function 325: GetImageAlphaBorder() (2 input parameters) Name: GetImageAlphaBorder Return type: Rectangle Description: Get image alpha border rectangle Param[1]: image (type: Image) Param[2]: threshold (type: float) -Function 325: GetImageColor() (3 input parameters) +Function 326: GetImageColor() (3 input parameters) Name: GetImageColor Return type: Color Description: Get image pixel color at (x, y) position Param[1]: image (type: Image) Param[2]: x (type: int) Param[3]: y (type: int) -Function 326: ImageClearBackground() (2 input parameters) +Function 327: ImageClearBackground() (2 input parameters) Name: ImageClearBackground Return type: void Description: Clear image background with given color Param[1]: dst (type: Image *) Param[2]: color (type: Color) -Function 327: ImageDrawPixel() (4 input parameters) +Function 328: ImageDrawPixel() (4 input parameters) Name: ImageDrawPixel Return type: void Description: Draw pixel within an image @@ -2984,14 +2992,14 @@ Function 327: ImageDrawPixel() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: color (type: Color) -Function 328: ImageDrawPixelV() (3 input parameters) +Function 329: ImageDrawPixelV() (3 input parameters) Name: ImageDrawPixelV Return type: void Description: Draw pixel within an image (Vector version) Param[1]: dst (type: Image *) Param[2]: position (type: Vector2) Param[3]: color (type: Color) -Function 329: ImageDrawLine() (6 input parameters) +Function 330: ImageDrawLine() (6 input parameters) Name: ImageDrawLine Return type: void Description: Draw line within an image @@ -3001,7 +3009,7 @@ Function 329: ImageDrawLine() (6 input parameters) Param[4]: endPosX (type: int) Param[5]: endPosY (type: int) Param[6]: color (type: Color) -Function 330: ImageDrawLineV() (4 input parameters) +Function 331: ImageDrawLineV() (4 input parameters) Name: ImageDrawLineV Return type: void Description: Draw line within an image (Vector version) @@ -3009,7 +3017,7 @@ Function 330: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 331: ImageDrawCircle() (5 input parameters) +Function 332: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -3018,7 +3026,7 @@ Function 331: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 332: ImageDrawCircleV() (4 input parameters) +Function 333: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -3026,7 +3034,7 @@ Function 332: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 333: ImageDrawCircleLines() (5 input parameters) +Function 334: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3035,7 +3043,7 @@ Function 333: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 334: ImageDrawCircleLinesV() (4 input parameters) +Function 335: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3043,7 +3051,7 @@ Function 334: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 335: ImageDrawRectangle() (6 input parameters) +Function 336: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3053,7 +3061,7 @@ Function 335: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 336: ImageDrawRectangleV() (4 input parameters) +Function 337: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3061,14 +3069,14 @@ Function 336: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 337: ImageDrawRectangleRec() (3 input parameters) +Function 338: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 338: ImageDrawRectangleLines() (4 input parameters) +Function 339: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3076,7 +3084,7 @@ Function 338: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 339: ImageDraw() (5 input parameters) +Function 340: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3085,7 +3093,7 @@ Function 339: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 340: ImageDrawText() (6 input parameters) +Function 341: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3095,7 +3103,7 @@ Function 340: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 341: ImageDrawTextEx() (7 input parameters) +Function 342: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3106,79 +3114,79 @@ Function 341: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 342: LoadTexture() (1 input parameters) +Function 343: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 343: LoadTextureFromImage() (1 input parameters) +Function 344: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 344: LoadTextureCubemap() (2 input parameters) +Function 345: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 345: LoadRenderTexture() (2 input parameters) +Function 346: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 346: IsTextureReady() (1 input parameters) +Function 347: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 347: UnloadTexture() (1 input parameters) +Function 348: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 348: IsRenderTextureReady() (1 input parameters) +Function 349: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 349: UnloadRenderTexture() (1 input parameters) +Function 350: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 350: UpdateTexture() (2 input parameters) +Function 351: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 351: UpdateTextureRec() (3 input parameters) +Function 352: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 352: GenTextureMipmaps() (1 input parameters) +Function 353: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 353: SetTextureFilter() (2 input parameters) +Function 354: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 354: SetTextureWrap() (2 input parameters) +Function 355: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 355: DrawTexture() (4 input parameters) +Function 356: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3186,14 +3194,14 @@ Function 355: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 356: DrawTextureV() (3 input parameters) +Function 357: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 357: DrawTextureEx() (5 input parameters) +Function 358: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3202,7 +3210,7 @@ Function 357: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 358: DrawTextureRec() (4 input parameters) +Function 359: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3210,7 +3218,7 @@ Function 358: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 359: DrawTexturePro() (6 input parameters) +Function 360: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3220,7 +3228,7 @@ Function 359: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 360: DrawTextureNPatch() (6 input parameters) +Function 361: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3230,112 +3238,112 @@ Function 360: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 361: ColorIsEqual() (2 input parameters) +Function 362: ColorIsEqual() (2 input parameters) Name: ColorIsEqual Return type: bool Description: Check if two colors are equal Param[1]: col1 (type: Color) Param[2]: col2 (type: Color) -Function 362: Fade() (2 input parameters) +Function 363: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 363: ColorToInt() (1 input parameters) +Function 364: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) -Function 364: ColorNormalize() (1 input parameters) +Function 365: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 365: ColorFromNormalized() (1 input parameters) +Function 366: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 366: ColorToHSV() (1 input parameters) +Function 367: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 367: ColorFromHSV() (3 input parameters) +Function 368: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 368: ColorTint() (2 input parameters) +Function 369: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 369: ColorBrightness() (2 input parameters) +Function 370: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 370: ColorContrast() (2 input parameters) +Function 371: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 371: ColorAlpha() (2 input parameters) +Function 372: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 372: ColorAlphaBlend() (3 input parameters) +Function 373: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 373: GetColor() (1 input parameters) +Function 374: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 374: GetPixelColor() (2 input parameters) +Function 375: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 375: SetPixelColor() (3 input parameters) +Function 376: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 376: GetPixelDataSize() (3 input parameters) +Function 377: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 377: GetFontDefault() (0 input parameters) +Function 378: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 378: LoadFont() (1 input parameters) +Function 379: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 379: LoadFontEx() (4 input parameters) +Function 380: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3343,14 +3351,14 @@ Function 379: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 380: LoadFontFromImage() (3 input parameters) +Function 381: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 381: LoadFontFromMemory() (6 input parameters) +Function 382: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3360,12 +3368,12 @@ Function 381: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 382: IsFontReady() (1 input parameters) +Function 383: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 383: LoadFontData() (6 input parameters) +Function 384: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3375,7 +3383,7 @@ Function 383: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 384: GenImageFontAtlas() (6 input parameters) +Function 385: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3385,30 +3393,30 @@ Function 384: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 385: UnloadFontData() (2 input parameters) +Function 386: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 386: UnloadFont() (1 input parameters) +Function 387: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 387: ExportFontAsCode() (2 input parameters) +Function 388: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 388: DrawFPS() (2 input parameters) +Function 389: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 389: DrawText() (5 input parameters) +Function 390: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3417,7 +3425,7 @@ Function 389: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 390: DrawTextEx() (6 input parameters) +Function 391: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3427,7 +3435,7 @@ Function 390: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 391: DrawTextPro() (8 input parameters) +Function 392: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3439,7 +3447,7 @@ Function 391: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 392: DrawTextCodepoint() (5 input parameters) +Function 393: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3448,7 +3456,7 @@ Function 392: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 393: DrawTextCodepoints() (7 input parameters) +Function 394: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3459,18 +3467,18 @@ Function 393: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 394: SetTextLineSpacing() (1 input parameters) +Function 395: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 395: MeasureText() (2 input parameters) +Function 396: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 396: MeasureTextEx() (4 input parameters) +Function 397: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3478,185 +3486,185 @@ Function 396: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 397: GetGlyphIndex() (2 input parameters) +Function 398: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 398: GetGlyphInfo() (2 input parameters) +Function 399: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 399: GetGlyphAtlasRec() (2 input parameters) +Function 400: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 400: LoadUTF8() (2 input parameters) +Function 401: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 401: UnloadUTF8() (1 input parameters) +Function 402: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 402: LoadCodepoints() (2 input parameters) +Function 403: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 403: UnloadCodepoints() (1 input parameters) +Function 404: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 404: GetCodepointCount() (1 input parameters) +Function 405: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 405: GetCodepoint() (2 input parameters) +Function 406: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 406: GetCodepointNext() (2 input parameters) +Function 407: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 407: GetCodepointPrevious() (2 input parameters) +Function 408: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 408: CodepointToUTF8() (2 input parameters) +Function 409: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 409: TextCopy() (2 input parameters) +Function 410: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 410: TextIsEqual() (2 input parameters) +Function 411: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 411: TextLength() (1 input parameters) +Function 412: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 412: TextFormat() (2 input parameters) +Function 413: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 413: TextSubtext() (3 input parameters) +Function 414: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 414: TextReplace() (3 input parameters) +Function 415: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 415: TextInsert() (3 input parameters) +Function 416: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 416: TextJoin() (3 input parameters) +Function 417: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 417: TextSplit() (3 input parameters) +Function 418: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 418: TextAppend() (3 input parameters) +Function 419: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 419: TextFindIndex() (2 input parameters) +Function 420: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 420: TextToUpper() (1 input parameters) +Function 421: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 421: TextToLower() (1 input parameters) +Function 422: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 422: TextToPascal() (1 input parameters) +Function 423: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 423: TextToInteger() (1 input parameters) +Function 424: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 424: TextToFloat() (1 input parameters) +Function 425: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 425: DrawLine3D() (3 input parameters) +Function 426: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 426: DrawPoint3D() (2 input parameters) +Function 427: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 427: DrawCircle3D() (5 input parameters) +Function 428: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3665,7 +3673,7 @@ Function 427: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 428: DrawTriangle3D() (4 input parameters) +Function 429: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3673,14 +3681,14 @@ Function 428: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 429: DrawTriangleStrip3D() (3 input parameters) +Function 430: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 430: DrawCube() (5 input parameters) +Function 431: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3689,14 +3697,14 @@ Function 430: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 431: DrawCubeV() (3 input parameters) +Function 432: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 432: DrawCubeWires() (5 input parameters) +Function 433: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3705,21 +3713,21 @@ Function 432: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 433: DrawCubeWiresV() (3 input parameters) +Function 434: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 434: DrawSphere() (3 input parameters) +Function 435: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 435: DrawSphereEx() (5 input parameters) +Function 436: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3728,7 +3736,7 @@ Function 435: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 436: DrawSphereWires() (5 input parameters) +Function 437: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3737,7 +3745,7 @@ Function 436: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 437: DrawCylinder() (6 input parameters) +Function 438: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3747,7 +3755,7 @@ Function 437: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 438: DrawCylinderEx() (6 input parameters) +Function 439: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3757,7 +3765,7 @@ Function 438: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 439: DrawCylinderWires() (6 input parameters) +Function 440: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3767,7 +3775,7 @@ Function 439: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 440: DrawCylinderWiresEx() (6 input parameters) +Function 441: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3777,7 +3785,7 @@ Function 440: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 441: DrawCapsule() (6 input parameters) +Function 442: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3787,7 +3795,7 @@ Function 441: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 442: DrawCapsuleWires() (6 input parameters) +Function 443: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3797,51 +3805,51 @@ Function 442: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 443: DrawPlane() (3 input parameters) +Function 444: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 444: DrawRay() (2 input parameters) +Function 445: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 445: DrawGrid() (2 input parameters) +Function 446: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 446: LoadModel() (1 input parameters) +Function 447: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 447: LoadModelFromMesh() (1 input parameters) +Function 448: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 448: IsModelReady() (1 input parameters) +Function 449: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 449: UnloadModel() (1 input parameters) +Function 450: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 450: GetModelBoundingBox() (1 input parameters) +Function 451: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 451: DrawModel() (4 input parameters) +Function 452: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3849,7 +3857,7 @@ Function 451: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 452: DrawModelEx() (6 input parameters) +Function 453: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3859,7 +3867,7 @@ Function 452: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 453: DrawModelWires() (4 input parameters) +Function 454: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3867,7 +3875,7 @@ Function 453: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 454: DrawModelWiresEx() (6 input parameters) +Function 455: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3877,13 +3885,13 @@ Function 454: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 455: DrawBoundingBox() (2 input parameters) +Function 456: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 456: DrawBillboard() (5 input parameters) +Function 457: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3892,7 +3900,7 @@ Function 456: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 457: DrawBillboardRec() (6 input parameters) +Function 458: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3902,7 +3910,7 @@ Function 457: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 458: DrawBillboardPro() (9 input parameters) +Function 459: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3915,13 +3923,13 @@ Function 458: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 459: UploadMesh() (2 input parameters) +Function 460: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 460: UpdateMeshBuffer() (5 input parameters) +Function 461: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3930,19 +3938,19 @@ Function 460: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 461: UnloadMesh() (1 input parameters) +Function 462: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 462: DrawMesh() (3 input parameters) +Function 463: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 463: DrawMeshInstanced() (4 input parameters) +Function 464: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3950,35 +3958,35 @@ Function 463: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 464: GetMeshBoundingBox() (1 input parameters) +Function 465: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 465: GenMeshTangents() (1 input parameters) +Function 466: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 466: ExportMesh() (2 input parameters) +Function 467: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 467: ExportMeshAsCode() (2 input parameters) +Function 468: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 468: GenMeshPoly() (2 input parameters) +Function 469: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 469: GenMeshPlane() (4 input parameters) +Function 470: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3986,42 +3994,42 @@ Function 469: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 470: GenMeshCube() (3 input parameters) +Function 471: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 471: GenMeshSphere() (3 input parameters) +Function 472: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 472: GenMeshHemiSphere() (3 input parameters) +Function 473: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 473: GenMeshCylinder() (3 input parameters) +Function 474: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 474: GenMeshCone() (3 input parameters) +Function 475: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 475: GenMeshTorus() (4 input parameters) +Function 476: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4029,7 +4037,7 @@ Function 475: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 476: GenMeshKnot() (4 input parameters) +Function 477: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4037,84 +4045,84 @@ Function 476: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 477: GenMeshHeightmap() (2 input parameters) +Function 478: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 478: GenMeshCubicmap() (2 input parameters) +Function 479: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 479: LoadMaterials() (2 input parameters) +Function 480: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 480: LoadMaterialDefault() (0 input parameters) +Function 481: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 481: IsMaterialReady() (1 input parameters) +Function 482: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 482: UnloadMaterial() (1 input parameters) +Function 483: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 483: SetMaterialTexture() (3 input parameters) +Function 484: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 484: SetModelMeshMaterial() (3 input parameters) +Function 485: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 485: LoadModelAnimations() (2 input parameters) +Function 486: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 486: UpdateModelAnimation() (3 input parameters) +Function 487: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 487: UnloadModelAnimation() (1 input parameters) +Function 488: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 488: UnloadModelAnimations() (2 input parameters) +Function 489: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 489: IsModelAnimationValid() (2 input parameters) +Function 490: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 490: CheckCollisionSpheres() (4 input parameters) +Function 491: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4122,40 +4130,40 @@ Function 490: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 491: CheckCollisionBoxes() (2 input parameters) +Function 492: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 492: CheckCollisionBoxSphere() (3 input parameters) +Function 493: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 493: GetRayCollisionSphere() (3 input parameters) +Function 494: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 494: GetRayCollisionBox() (2 input parameters) +Function 495: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 495: GetRayCollisionMesh() (3 input parameters) +Function 496: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 496: GetRayCollisionTriangle() (4 input parameters) +Function 497: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4163,7 +4171,7 @@ Function 496: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 497: GetRayCollisionQuad() (5 input parameters) +Function 498: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4172,158 +4180,158 @@ Function 497: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 498: InitAudioDevice() (0 input parameters) +Function 499: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 499: CloseAudioDevice() (0 input parameters) +Function 500: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 500: IsAudioDeviceReady() (0 input parameters) +Function 501: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 501: SetMasterVolume() (1 input parameters) +Function 502: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 502: GetMasterVolume() (0 input parameters) +Function 503: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 503: LoadWave() (1 input parameters) +Function 504: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 504: LoadWaveFromMemory() (3 input parameters) +Function 505: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 505: IsWaveReady() (1 input parameters) +Function 506: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 506: LoadSound() (1 input parameters) +Function 507: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 507: LoadSoundFromWave() (1 input parameters) +Function 508: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 508: LoadSoundAlias() (1 input parameters) +Function 509: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 509: IsSoundReady() (1 input parameters) +Function 510: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 510: UpdateSound() (3 input parameters) +Function 511: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 511: UnloadWave() (1 input parameters) +Function 512: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 512: UnloadSound() (1 input parameters) +Function 513: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 513: UnloadSoundAlias() (1 input parameters) +Function 514: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 514: ExportWave() (2 input parameters) +Function 515: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 515: ExportWaveAsCode() (2 input parameters) +Function 516: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 516: PlaySound() (1 input parameters) +Function 517: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 517: StopSound() (1 input parameters) +Function 518: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 518: PauseSound() (1 input parameters) +Function 519: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 519: ResumeSound() (1 input parameters) +Function 520: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 520: IsSoundPlaying() (1 input parameters) +Function 521: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 521: SetSoundVolume() (2 input parameters) +Function 522: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 522: SetSoundPitch() (2 input parameters) +Function 523: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 523: SetSoundPan() (2 input parameters) +Function 524: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 524: WaveCopy() (1 input parameters) +Function 525: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 525: WaveCrop() (3 input parameters) +Function 526: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) Param[2]: initFrame (type: int) Param[3]: finalFrame (type: int) -Function 526: WaveFormat() (4 input parameters) +Function 527: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4331,203 +4339,203 @@ Function 526: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 527: LoadWaveSamples() (1 input parameters) +Function 528: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 528: UnloadWaveSamples() (1 input parameters) +Function 529: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 529: LoadMusicStream() (1 input parameters) +Function 530: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 530: LoadMusicStreamFromMemory() (3 input parameters) +Function 531: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 531: IsMusicReady() (1 input parameters) +Function 532: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 532: UnloadMusicStream() (1 input parameters) +Function 533: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 533: PlayMusicStream() (1 input parameters) +Function 534: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 534: IsMusicStreamPlaying() (1 input parameters) +Function 535: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 535: UpdateMusicStream() (1 input parameters) +Function 536: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 536: StopMusicStream() (1 input parameters) +Function 537: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 537: PauseMusicStream() (1 input parameters) +Function 538: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 538: ResumeMusicStream() (1 input parameters) +Function 539: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 539: SeekMusicStream() (2 input parameters) +Function 540: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 540: SetMusicVolume() (2 input parameters) +Function 541: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 541: SetMusicPitch() (2 input parameters) +Function 542: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 542: SetMusicPan() (2 input parameters) +Function 543: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 543: GetMusicTimeLength() (1 input parameters) +Function 544: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 544: GetMusicTimePlayed() (1 input parameters) +Function 545: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 545: LoadAudioStream() (3 input parameters) +Function 546: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 546: IsAudioStreamReady() (1 input parameters) +Function 547: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 547: UnloadAudioStream() (1 input parameters) +Function 548: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 548: UpdateAudioStream() (3 input parameters) +Function 549: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 549: IsAudioStreamProcessed() (1 input parameters) +Function 550: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 550: PlayAudioStream() (1 input parameters) +Function 551: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 551: PauseAudioStream() (1 input parameters) +Function 552: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 552: ResumeAudioStream() (1 input parameters) +Function 553: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 553: IsAudioStreamPlaying() (1 input parameters) +Function 554: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 554: StopAudioStream() (1 input parameters) +Function 555: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 555: SetAudioStreamVolume() (2 input parameters) +Function 556: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 556: SetAudioStreamPitch() (2 input parameters) +Function 557: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 557: SetAudioStreamPan() (2 input parameters) +Function 558: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 558: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 559: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 559: SetAudioStreamCallback() (2 input parameters) +Function 560: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 560: AttachAudioStreamProcessor() (2 input parameters) +Function 561: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 561: DetachAudioStreamProcessor() (2 input parameters) +Function 562: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 562: AttachAudioMixedProcessor() (1 input parameters) +Function 563: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 563: DetachAudioMixedProcessor() (1 input parameters) +Function 564: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index e7fa157b2..c4a16f97e 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -1671,6 +1671,12 @@ + + + + + + From 2998f8671beaec6d1faed8f40c16a9ec31cab7c0 Mon Sep 17 00:00:00 2001 From: Jett <30197659+JettMonstersGoBoom@users.noreply.github.com> Date: Sun, 2 Jun 2024 05:51:25 -0400 Subject: [PATCH 320/745] LoadModelAnimationsIQM: fix corrupted animation names (#4026) Correctly copies animation names from IQM animation to raylib animation. --- src/rmodels.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 4bf042d5c..e1e9418cb 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4621,6 +4621,8 @@ static ModelAnimation *LoadModelAnimationsIQM(const char *fileName, int *animCou animations[a].boneCount = iqmHeader->num_poses; animations[a].bones = RL_MALLOC(iqmHeader->num_poses*sizeof(BoneInfo)); animations[a].framePoses = RL_MALLOC(anim[a].num_frames*sizeof(Transform *)); + memcpy(animations[a].name, fileDataPtr + iqmHeader->ofs_text + anim[a].name, 32); // I don't like this 32 here + TraceLog(LOG_INFO, "IQM Anim %s", animations[a].name); // animations[a].framerate = anim.framerate; // TODO: Use animation framerate data? for (unsigned int j = 0; j < iqmHeader->num_poses; j++) From 11202bf299a70a8ef30e28ab99a8184bbb119a99 Mon Sep 17 00:00:00 2001 From: David Holland Date: Sun, 2 Jun 2024 19:52:00 +1000 Subject: [PATCH 321/745] [rmodels] Send full matModel to shader in DrawMesh (#4005) (#4022) --- src/rmodels.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index e1e9418cb..5cf848b68 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1389,14 +1389,14 @@ void DrawMesh(Mesh mesh, Material material, Matrix transform) if (material.shader.locs[SHADER_LOC_MATRIX_VIEW] != -1) rlSetUniformMatrix(material.shader.locs[SHADER_LOC_MATRIX_VIEW], matView); if (material.shader.locs[SHADER_LOC_MATRIX_PROJECTION] != -1) rlSetUniformMatrix(material.shader.locs[SHADER_LOC_MATRIX_PROJECTION], matProjection); - // Model transformation matrix is sent to shader uniform location: SHADER_LOC_MATRIX_MODEL - if (material.shader.locs[SHADER_LOC_MATRIX_MODEL] != -1) rlSetUniformMatrix(material.shader.locs[SHADER_LOC_MATRIX_MODEL], transform); - // Accumulate several model transformations: // transform: model transformation provided (includes DrawModel() params combined with model.transform) // rlGetMatrixTransform(): rlgl internal transform matrix due to push/pop matrix stack matModel = MatrixMultiply(transform, rlGetMatrixTransform()); + // Model transformation matrix is sent to shader uniform location: SHADER_LOC_MATRIX_MODEL + if (material.shader.locs[SHADER_LOC_MATRIX_MODEL] != -1) rlSetUniformMatrix(material.shader.locs[SHADER_LOC_MATRIX_MODEL], matModel); + // Get model-view matrix matModelView = MatrixMultiply(matModel, matView); From 0cad25f79878211783ce550b06e20f13cc9176a1 Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Mon, 3 Jun 2024 08:52:51 +0200 Subject: [PATCH 322/745] Update Raylib-CSharp to `5.1-dev`. (#4030) * Update BINDINGS.md * Update BINDINGS.md * Update BINDINGS.md --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 81bc6abda..9ec8c3c3c 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -12,7 +12,7 @@ Some people ported raylib to other languages in the form of bindings or wrappers | [Raylib-cs](https://github.com/ChrisDill/Raylib-cs) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | Zlib | | [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo) | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | | [Raylib-CSharp-Vinculum](https://github.com/ZeroElectric/Raylib-CSharp-Vinculum) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | -| [Raylib-CSharp](https://github.com/MrScautHD/Raylib-CSharp) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | +| [Raylib-CSharp](https://github.com/MrScautHD/Raylib-CSharp) | **5.1-dev** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | | [Raylib.NET](https://github.com/Odex64/Raylib.NET) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | | [cl-raylib](https://github.com/longlene/cl-raylib) | 4.0 | [Common Lisp](https://common-lisp.net) | MIT | | [claylib/wrap](https://github.com/defun-games/claylib) | 4.5 | [Common Lisp](https://common-lisp.net) | Zlib | From 06f8c4f73318488e5a4bf1f7bd82fe991a66827e Mon Sep 17 00:00:00 2001 From: Jett <30197659+JettMonstersGoBoom@users.noreply.github.com> Date: Mon, 3 Jun 2024 03:03:33 -0400 Subject: [PATCH 323/745] LoadIQM: attempt to load texture from IQM at loadtime. (#4029) tries to load the texture with the base path of the original IQM file, relative paths should work. --- src/rmodels.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 5cf848b68..249201513 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4268,6 +4268,8 @@ static Model LoadIQM(const char *fileName) // In case file can not be read, return an empty model if (fileDataPtr == NULL) return model; + const char* basePath = GetDirectoryPath(fileName); + // Read IQM header IQMHeader *iqmHeader = (IQMHeader *)fileDataPtr; @@ -4312,6 +4314,7 @@ static Model LoadIQM(const char *fileName) memcpy(material, fileDataPtr + iqmHeader->ofs_text + imesh[i].material, MATERIAL_NAME_LENGTH*sizeof(char)); model.materials[i] = LoadMaterialDefault(); + model.materials[i].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture(TextFormat("%s/%s", basePath, material)); TRACELOG(LOG_DEBUG, "MODEL: [%s] mesh name (%s), material (%s)", fileName, name, material); From 39f12859dcdf92822c8fefece1135bf6e76a1573 Mon Sep 17 00:00:00 2001 From: IoIxD <30945097+IoIxD@users.noreply.github.com> Date: Mon, 3 Jun 2024 11:13:28 -0700 Subject: [PATCH 324/745] rtext: added functions for camel case and snake case (reopened due to formatting errors) (#4033) * rtext: added functions for camel case and snake case * Update raylib_api.* by CI * rtext: removed always false comparison --------- Co-authored-by: github-actions[bot] --- parser/output/raylib_api.json | 22 +++ parser/output/raylib_api.lua | 16 ++ parser/output/raylib_api.txt | 294 ++++++++++++++++++---------------- parser/output/raylib_api.xml | 8 +- src/raylib.h | 3 + src/rtext.c | 65 ++++++++ 6 files changed, 265 insertions(+), 143 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 4bfce70d1..961578e53 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -9479,6 +9479,28 @@ } ] }, + { + "name": "TextToSnake", + "description": "Get Snake case notation version of provided string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, + { + "name": "TextToCamel", + "description": "Get Camel case notation version of provided string", + "returnType": "const char *", + "params": [ + { + "type": "const char *", + "name": "text" + } + ] + }, { "name": "TextToInteger", "description": "Get integer value from text (negative values not supported)", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 4a6998bbd..eb88daab9 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -6776,6 +6776,22 @@ return { {type = "const char *", name = "text"} } }, + { + name = "TextToSnake", + description = "Get Snake case notation version of provided string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToCamel", + description = "Get Camel case notation version of provided string", + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, { name = "TextToInteger", description = "Get integer value from text (negative values not supported)", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 979ef0d56..66880130e 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 564 +Functions found: 566 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -3641,30 +3641,40 @@ Function 423: TextToPascal() (1 input parameters) Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 424: TextToInteger() (1 input parameters) +Function 424: TextToSnake() (1 input parameters) + Name: TextToSnake + Return type: const char * + Description: Get Snake case notation version of provided string + Param[1]: text (type: const char *) +Function 425: TextToCamel() (1 input parameters) + Name: TextToCamel + Return type: const char * + Description: Get Camel case notation version of provided string + Param[1]: text (type: const char *) +Function 426: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 425: TextToFloat() (1 input parameters) +Function 427: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 426: DrawLine3D() (3 input parameters) +Function 428: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 427: DrawPoint3D() (2 input parameters) +Function 429: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 428: DrawCircle3D() (5 input parameters) +Function 430: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3673,7 +3683,7 @@ Function 428: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 429: DrawTriangle3D() (4 input parameters) +Function 431: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3681,14 +3691,14 @@ Function 429: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 430: DrawTriangleStrip3D() (3 input parameters) +Function 432: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 431: DrawCube() (5 input parameters) +Function 433: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3697,14 +3707,14 @@ Function 431: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 432: DrawCubeV() (3 input parameters) +Function 434: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 433: DrawCubeWires() (5 input parameters) +Function 435: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3713,21 +3723,21 @@ Function 433: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 434: DrawCubeWiresV() (3 input parameters) +Function 436: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 435: DrawSphere() (3 input parameters) +Function 437: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 436: DrawSphereEx() (5 input parameters) +Function 438: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3736,7 +3746,7 @@ Function 436: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 437: DrawSphereWires() (5 input parameters) +Function 439: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3745,7 +3755,7 @@ Function 437: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 438: DrawCylinder() (6 input parameters) +Function 440: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3755,7 +3765,7 @@ Function 438: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 439: DrawCylinderEx() (6 input parameters) +Function 441: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3765,7 +3775,7 @@ Function 439: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 440: DrawCylinderWires() (6 input parameters) +Function 442: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3775,7 +3785,7 @@ Function 440: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 441: DrawCylinderWiresEx() (6 input parameters) +Function 443: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3785,7 +3795,7 @@ Function 441: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 442: DrawCapsule() (6 input parameters) +Function 444: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3795,7 +3805,7 @@ Function 442: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 443: DrawCapsuleWires() (6 input parameters) +Function 445: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3805,51 +3815,51 @@ Function 443: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 444: DrawPlane() (3 input parameters) +Function 446: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 445: DrawRay() (2 input parameters) +Function 447: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 446: DrawGrid() (2 input parameters) +Function 448: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 447: LoadModel() (1 input parameters) +Function 449: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 448: LoadModelFromMesh() (1 input parameters) +Function 450: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 449: IsModelReady() (1 input parameters) +Function 451: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 450: UnloadModel() (1 input parameters) +Function 452: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 451: GetModelBoundingBox() (1 input parameters) +Function 453: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 452: DrawModel() (4 input parameters) +Function 454: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3857,7 +3867,7 @@ Function 452: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 453: DrawModelEx() (6 input parameters) +Function 455: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3867,7 +3877,7 @@ Function 453: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 454: DrawModelWires() (4 input parameters) +Function 456: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3875,7 +3885,7 @@ Function 454: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 455: DrawModelWiresEx() (6 input parameters) +Function 457: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3885,13 +3895,13 @@ Function 455: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 456: DrawBoundingBox() (2 input parameters) +Function 458: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 457: DrawBillboard() (5 input parameters) +Function 459: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3900,7 +3910,7 @@ Function 457: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 458: DrawBillboardRec() (6 input parameters) +Function 460: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3910,7 +3920,7 @@ Function 458: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 459: DrawBillboardPro() (9 input parameters) +Function 461: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3923,13 +3933,13 @@ Function 459: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 460: UploadMesh() (2 input parameters) +Function 462: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 461: UpdateMeshBuffer() (5 input parameters) +Function 463: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3938,19 +3948,19 @@ Function 461: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 462: UnloadMesh() (1 input parameters) +Function 464: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 463: DrawMesh() (3 input parameters) +Function 465: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 464: DrawMeshInstanced() (4 input parameters) +Function 466: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3958,35 +3968,35 @@ Function 464: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 465: GetMeshBoundingBox() (1 input parameters) +Function 467: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 466: GenMeshTangents() (1 input parameters) +Function 468: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 467: ExportMesh() (2 input parameters) +Function 469: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 468: ExportMeshAsCode() (2 input parameters) +Function 470: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 469: GenMeshPoly() (2 input parameters) +Function 471: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 470: GenMeshPlane() (4 input parameters) +Function 472: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -3994,42 +4004,42 @@ Function 470: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 471: GenMeshCube() (3 input parameters) +Function 473: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 472: GenMeshSphere() (3 input parameters) +Function 474: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 473: GenMeshHemiSphere() (3 input parameters) +Function 475: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 474: GenMeshCylinder() (3 input parameters) +Function 476: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 475: GenMeshCone() (3 input parameters) +Function 477: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 476: GenMeshTorus() (4 input parameters) +Function 478: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4037,7 +4047,7 @@ Function 476: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 477: GenMeshKnot() (4 input parameters) +Function 479: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4045,84 +4055,84 @@ Function 477: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 478: GenMeshHeightmap() (2 input parameters) +Function 480: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 479: GenMeshCubicmap() (2 input parameters) +Function 481: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 480: LoadMaterials() (2 input parameters) +Function 482: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 481: LoadMaterialDefault() (0 input parameters) +Function 483: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 482: IsMaterialReady() (1 input parameters) +Function 484: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 483: UnloadMaterial() (1 input parameters) +Function 485: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 484: SetMaterialTexture() (3 input parameters) +Function 486: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 485: SetModelMeshMaterial() (3 input parameters) +Function 487: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 486: LoadModelAnimations() (2 input parameters) +Function 488: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 487: UpdateModelAnimation() (3 input parameters) +Function 489: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 488: UnloadModelAnimation() (1 input parameters) +Function 490: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 489: UnloadModelAnimations() (2 input parameters) +Function 491: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 490: IsModelAnimationValid() (2 input parameters) +Function 492: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 491: CheckCollisionSpheres() (4 input parameters) +Function 493: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4130,40 +4140,40 @@ Function 491: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 492: CheckCollisionBoxes() (2 input parameters) +Function 494: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 493: CheckCollisionBoxSphere() (3 input parameters) +Function 495: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 494: GetRayCollisionSphere() (3 input parameters) +Function 496: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 495: GetRayCollisionBox() (2 input parameters) +Function 497: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 496: GetRayCollisionMesh() (3 input parameters) +Function 498: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 497: GetRayCollisionTriangle() (4 input parameters) +Function 499: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4171,7 +4181,7 @@ Function 497: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 498: GetRayCollisionQuad() (5 input parameters) +Function 500: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4180,158 +4190,158 @@ Function 498: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 499: InitAudioDevice() (0 input parameters) +Function 501: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 500: CloseAudioDevice() (0 input parameters) +Function 502: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 501: IsAudioDeviceReady() (0 input parameters) +Function 503: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 502: SetMasterVolume() (1 input parameters) +Function 504: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 503: GetMasterVolume() (0 input parameters) +Function 505: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 504: LoadWave() (1 input parameters) +Function 506: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 505: LoadWaveFromMemory() (3 input parameters) +Function 507: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 506: IsWaveReady() (1 input parameters) +Function 508: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 507: LoadSound() (1 input parameters) +Function 509: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 508: LoadSoundFromWave() (1 input parameters) +Function 510: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 509: LoadSoundAlias() (1 input parameters) +Function 511: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 510: IsSoundReady() (1 input parameters) +Function 512: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 511: UpdateSound() (3 input parameters) +Function 513: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 512: UnloadWave() (1 input parameters) +Function 514: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 513: UnloadSound() (1 input parameters) +Function 515: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 514: UnloadSoundAlias() (1 input parameters) +Function 516: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 515: ExportWave() (2 input parameters) +Function 517: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 516: ExportWaveAsCode() (2 input parameters) +Function 518: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 517: PlaySound() (1 input parameters) +Function 519: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 518: StopSound() (1 input parameters) +Function 520: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 519: PauseSound() (1 input parameters) +Function 521: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 520: ResumeSound() (1 input parameters) +Function 522: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 521: IsSoundPlaying() (1 input parameters) +Function 523: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 522: SetSoundVolume() (2 input parameters) +Function 524: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 523: SetSoundPitch() (2 input parameters) +Function 525: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 524: SetSoundPan() (2 input parameters) +Function 526: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 525: WaveCopy() (1 input parameters) +Function 527: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 526: WaveCrop() (3 input parameters) +Function 528: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) Param[2]: initFrame (type: int) Param[3]: finalFrame (type: int) -Function 527: WaveFormat() (4 input parameters) +Function 529: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4339,203 +4349,203 @@ Function 527: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 528: LoadWaveSamples() (1 input parameters) +Function 530: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 529: UnloadWaveSamples() (1 input parameters) +Function 531: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 530: LoadMusicStream() (1 input parameters) +Function 532: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 531: LoadMusicStreamFromMemory() (3 input parameters) +Function 533: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 532: IsMusicReady() (1 input parameters) +Function 534: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 533: UnloadMusicStream() (1 input parameters) +Function 535: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 534: PlayMusicStream() (1 input parameters) +Function 536: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 535: IsMusicStreamPlaying() (1 input parameters) +Function 537: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 536: UpdateMusicStream() (1 input parameters) +Function 538: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 537: StopMusicStream() (1 input parameters) +Function 539: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 538: PauseMusicStream() (1 input parameters) +Function 540: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 539: ResumeMusicStream() (1 input parameters) +Function 541: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 540: SeekMusicStream() (2 input parameters) +Function 542: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 541: SetMusicVolume() (2 input parameters) +Function 543: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 542: SetMusicPitch() (2 input parameters) +Function 544: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 543: SetMusicPan() (2 input parameters) +Function 545: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 544: GetMusicTimeLength() (1 input parameters) +Function 546: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 545: GetMusicTimePlayed() (1 input parameters) +Function 547: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 546: LoadAudioStream() (3 input parameters) +Function 548: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 547: IsAudioStreamReady() (1 input parameters) +Function 549: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 548: UnloadAudioStream() (1 input parameters) +Function 550: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 549: UpdateAudioStream() (3 input parameters) +Function 551: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 550: IsAudioStreamProcessed() (1 input parameters) +Function 552: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 551: PlayAudioStream() (1 input parameters) +Function 553: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 552: PauseAudioStream() (1 input parameters) +Function 554: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 553: ResumeAudioStream() (1 input parameters) +Function 555: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 554: IsAudioStreamPlaying() (1 input parameters) +Function 556: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 555: StopAudioStream() (1 input parameters) +Function 557: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 556: SetAudioStreamVolume() (2 input parameters) +Function 558: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 557: SetAudioStreamPitch() (2 input parameters) +Function 559: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 558: SetAudioStreamPan() (2 input parameters) +Function 560: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 559: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 561: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 560: SetAudioStreamCallback() (2 input parameters) +Function 562: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 561: AttachAudioStreamProcessor() (2 input parameters) +Function 563: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 562: DetachAudioStreamProcessor() (2 input parameters) +Function 564: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 563: AttachAudioMixedProcessor() (1 input parameters) +Function 565: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 564: DetachAudioMixedProcessor() (1 input parameters) +Function 566: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index c4a16f97e..0e096d5a2 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -2405,6 +2405,12 @@ + + + + + + diff --git a/src/raylib.h b/src/raylib.h index dfa98efb8..c61285641 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1489,6 +1489,9 @@ RLAPI int TextFindIndex(const char *text, const char *find); RLAPI const char *TextToUpper(const char *text); // Get upper case version of provided string RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string +RLAPI const char *TextToSnake(const char *text); // Get Snake case notation version of provided string +RLAPI const char *TextToCamel(const char *text); // Get Camel case notation version of provided string + RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported) RLAPI float TextToFloat(const char *text); // Get float value from text (negative values not supported) diff --git a/src/rtext.c b/src/rtext.c index 5ba4e8b6a..118a559d6 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1786,6 +1786,71 @@ const char *TextToPascal(const char *text) return buffer; } +// Get snake case notation version of provided string +// WARNING: Limited functionality, only basic characters set +const char *TextToSnake(const char *text) +{ + static char buffer[MAX_TEXT_BUFFER_LENGTH] = {0}; + memset(buffer, 0, MAX_TEXT_BUFFER_LENGTH); + + if (text != NULL) + { + // Check for next separator to upper case another character + for (int i = 0, j = 0; (i < MAX_TEXT_BUFFER_LENGTH - 1) && (text[j] != '\0'); i++, j++) + { + if ((text[j] >= 'A') && (text[j] <= 'Z')) + { + if (i >= 1) + { + buffer[i] = '_'; + i++; + } + buffer[i] = text[j] + 32; + } + else + { + buffer[i] = text[j]; + } + } + } + + return buffer; +} + +// Get Camel case notation version of provided string +// WARNING: Limited functionality, only basic characters set +const char *TextToCamel(const char *text) +{ + static char buffer[MAX_TEXT_BUFFER_LENGTH] = {0}; + memset(buffer, 0, MAX_TEXT_BUFFER_LENGTH); + + if (text != NULL) + { + // Lower case first character + if ((text[0] >= 'A') && (text[0] <= 'Z')) + buffer[0] = text[0] + 32; + else + buffer[0] = text[0]; + + // Check for next separator to upper case another character + for (int i = 1, j = 1; (i < MAX_TEXT_BUFFER_LENGTH - 1) && (text[j] != '\0'); i++, j++) + { + if (text[j] != '_') + buffer[i] = text[j]; + else + { + j++; + if ((text[j] >= 'a') && (text[j] <= 'z')) + { + buffer[i] = text[j] - 32; + } + } + } + } + + return buffer; +} + // Encode text codepoint into UTF-8 text // REQUIRES: memcpy() // WARNING: Allocated memory must be manually freed From e1379afb01e5ad758b3928d055e418c2fb511d2a Mon Sep 17 00:00:00 2001 From: Paul Melis Date: Tue, 4 Jun 2024 11:46:57 +0200 Subject: [PATCH 325/745] Fix #4024, cylinder drawing was incorrect due to imprecise angle (#4034) * Fix #4024, cylinder drawing was incorrect due to imprecise angle stepping (mostly noticeable with semi-transparent cylinders) * Fix var name and spacing --- src/rmodels.c | 55 ++++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 249201513..57059a017 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -508,6 +508,8 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h { if (sides < 3) sides = 3; + const float angleStep = 360.0f/sides; + rlPushMatrix(); rlTranslatef(position.x, position.y, position.z); @@ -517,43 +519,44 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h if (radiusTop > 0) { // Draw Body ------------------------------------------------------------------------------------- - for (int i = 0; i < 360; i += 360/sides) + for (int i = 0; i < sides; i++) { - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); //Bottom Left - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360.0f/sides))*radiusBottom); //Bottom Right - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360.0f/sides))*radiusTop); //Top Right + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); //Bottom Left + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusBottom, 0, cosf(DEG2RAD*(i+1)*angleStep)*radiusBottom); //Bottom Right + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusTop, height, cosf(DEG2RAD*(i+1)*angleStep)*radiusTop); //Top Right - rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); //Top Left - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); //Bottom Left - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360.0f/sides))*radiusTop); //Top Right + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusTop, height, cosf(DEG2RAD*i*angleStep)*radiusTop); //Top Left + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); //Bottom Left + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusTop, height, cosf(DEG2RAD*(i+1)*angleStep)*radiusTop); //Top Right } // Draw Cap -------------------------------------------------------------------------------------- - for (int i = 0; i < 360; i += 360/sides) + for (int i = 0; i < sides; i++) { rlVertex3f(0, height, 0); - rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360.0f/sides))*radiusTop); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusTop, height, cosf(DEG2RAD*i*angleStep)*radiusTop); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusTop, height, cosf(DEG2RAD*(i+1)*angleStep)*radiusTop); } } else { // Draw Cone ------------------------------------------------------------------------------------- - for (int i = 0; i < 360; i += 360/sides) + for (int i = 0; i < sides; i++) { rlVertex3f(0, height, 0); - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360.0f/sides))*radiusBottom); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusBottom, 0, cosf(DEG2RAD*(i+1)*angleStep)*radiusBottom); } } // Draw Base ----------------------------------------------------------------------------------------- - for (int i = 0; i < 360; i += 360/sides) + for (int i = 0; i < sides; i++) { rlVertex3f(0, 0, 0); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360.0f/sides))*radiusBottom); - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*(i+1)*angleStep)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); } + rlEnd(); rlPopMatrix(); } @@ -623,25 +626,27 @@ void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, fl { if (sides < 3) sides = 3; + const float angleStep = 360.0f/sides; + rlPushMatrix(); rlTranslatef(position.x, position.y, position.z); rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - for (int i = 0; i < 360; i += 360/sides) + for (int i = 0; i < sides; i++) { - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360.0f/sides))*radiusBottom); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusBottom, 0, cosf(DEG2RAD*(i+1)*angleStep)*radiusBottom); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360.0f/sides))*radiusBottom); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360.0f/sides))*radiusTop); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusBottom, 0, cosf(DEG2RAD*(i+1)*angleStep)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusTop, height, cosf(DEG2RAD*(i+1)*angleStep)*radiusTop); - rlVertex3f(sinf(DEG2RAD*(i + 360.0f/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360.0f/sides))*radiusTop); - rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); + rlVertex3f(sinf(DEG2RAD*(i+1)*angleStep)*radiusTop, height, cosf(DEG2RAD*(i+1)*angleStep)*radiusTop); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusTop, height, cosf(DEG2RAD*i*angleStep)*radiusTop); - rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); - rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusTop, height, cosf(DEG2RAD*i*angleStep)*radiusTop); + rlVertex3f(sinf(DEG2RAD*i*angleStep)*radiusBottom, 0, cosf(DEG2RAD*i*angleStep)*radiusBottom); } rlEnd(); rlPopMatrix(); From 5767c4cd059e07355ae5588966d0aee97038a86b Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 4 Jun 2024 23:00:12 +0200 Subject: [PATCH 326/745] Update rcore_desktop.c --- src/platforms/rcore_desktop.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index f08774165..6fe054a8a 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -1443,15 +1443,12 @@ int InitPlatform(void) else { // No-fullscreen window creation - bool wantWindowedFullscreen = (CORE.Window.screen.height == 0) && (CORE.Window.screen.width == 0); + bool requestWindowedFullscreen = (CORE.Window.screen.height == 0) && (CORE.Window.screen.width == 0); // If we are windowed fullscreen, ensures that window does not minimize when focus is lost. // This hinting code will not work if the user already specified the correct monitor dimensions; // at this point we don't know the monitor's dimensions. (Though, how did the user then?) - if (wantWindowedFullscreen) - { - glfwWindowHint(GLFW_AUTO_ICONIFY, 0); - } + if (requestWindowedFullscreen) glfwWindowHint(GLFW_AUTO_ICONIFY, 0); // Default to at least one pixel in size, as creation with a zero dimension is not allowed. int creationWidth = CORE.Window.screen.width != 0 ? CORE.Window.screen.width : 1; @@ -1471,11 +1468,7 @@ int InitPlatform(void) monitor = monitors[monitorIndex]; SetDimensionsFromMonitor(monitor); - TRACELOG(LOG_INFO, "wantWindowed: %d, size: %dx%d", wantWindowedFullscreen, CORE.Window.screen.width, CORE.Window.screen.height); - if (wantWindowedFullscreen) - { - glfwSetWindowSize(platform.handle, CORE.Window.screen.width, CORE.Window.screen.height); - } + if (requestWindowedFullscreen) glfwSetWindowSize(platform.handle, CORE.Window.screen.width, CORE.Window.screen.height); } else { From 38018192b8055024c4aa9b041943aa4e85bdd773 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 6 Jun 2024 10:12:23 +0200 Subject: [PATCH 327/745] RENAME: near, far vaiables --- src/raymath.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index d036721a2..8b69cbd53 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -1837,32 +1837,32 @@ RMAPI Matrix MatrixScale(float x, float y, float z) } // Get perspective projection matrix -RMAPI Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far) +RMAPI Matrix MatrixFrustum(double left, double right, double bottom, double top, double nearPlane, double farPlane) { Matrix result = { 0 }; float rl = (float)(right - left); float tb = (float)(top - bottom); - float fn = (float)(far - near); + float fn = (float)(farPlane - nearPlane); - result.m0 = ((float)near*2.0f)/rl; + result.m0 = ((float)nearPlane*2.0f)/rl; result.m1 = 0.0f; result.m2 = 0.0f; result.m3 = 0.0f; result.m4 = 0.0f; - result.m5 = ((float)near*2.0f)/tb; + result.m5 = ((float)nearPlane*2.0f)/tb; result.m6 = 0.0f; result.m7 = 0.0f; result.m8 = ((float)right + (float)left)/rl; result.m9 = ((float)top + (float)bottom)/tb; - result.m10 = -((float)far + (float)near)/fn; + result.m10 = -((float)farPlane + (float)nearPlane)/fn; result.m11 = -1.0f; result.m12 = 0.0f; result.m13 = 0.0f; - result.m14 = -((float)far*(float)near*2.0f)/fn; + result.m14 = -((float)farPlane*(float)nearPlane*2.0f)/fn; result.m15 = 0.0f; return result; From e74d13e6dbdd8bbdde8112f396935b8b88349f5f Mon Sep 17 00:00:00 2001 From: Sprix <91488389+Sprixitite@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:47:07 +0100 Subject: [PATCH 328/745] Fix examples not building with gestures system disabled (#4020) Build no longer fails with -DSUPPORT_GESTURES_SYSTEM=OFF and -DBUILD_EXAMPLES=ON --- examples/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 922323674..28550eaec 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -113,6 +113,13 @@ elseif ("${PLATFORM}" STREQUAL "DRM") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c) +elseif (NOT SUPPORT_GESTURES_SYSTEM) + # Items requiring gestures system + list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/textures/textures_mouse_painting.c) + list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_basic_screen_manager.c) + list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures_web.c) + list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures.c) + endif () # The rlgl_standalone example only targets desktop, without shared libraries. From f05316b11d0a1b17088e3e75e4682e2e7ce54b91 Mon Sep 17 00:00:00 2001 From: jgabaut <109908086+jgabaut@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:29:15 +0200 Subject: [PATCH 329/745] [rlgl] Rename near, far variables (#4039) --- src/rlgl.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index bef7eaf18..2f6a03b8a 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -590,7 +590,7 @@ RLAPI void rlMultMatrixf(const float *matf); // Multiply the current RLAPI void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar); RLAPI void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar); RLAPI void rlViewport(int x, int y, int width, int height); // Set the viewport area -RLAPI void rlSetClipPlanes(double near, double far); // Set clip planes distances +RLAPI void rlSetClipPlanes(double nearPlane, double farPlane); // Set clip planes distances RLAPI double rlGetCullDistanceNear(void); // Get cull plane distance near RLAPI double rlGetCullDistanceFar(void); // Get cull plane distance far @@ -1371,10 +1371,10 @@ void rlViewport(int x, int y, int width, int height) } // Set clip planes distances -void rlSetClipPlanes(double near, double far) +void rlSetClipPlanes(double nearPlane, double farPlane) { - rlCullDistanceNear = near; - rlCullDistanceFar = far; + rlCullDistanceNear = nearPlane; + rlCullDistanceFar = farPlane; } // Get cull plane distance near From 3948656d84da2e02ba4c2fda80ac813f6c81813e Mon Sep 17 00:00:00 2001 From: Konrad Gutvik Grande Date: Fri, 7 Jun 2024 10:21:02 +0200 Subject: [PATCH 330/745] The example always showed a xbox controller, never a ps3 controller (#4040) --- examples/core/core_input_gamepad.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/core/core_input_gamepad.c b/examples/core/core_input_gamepad.c index 843d5d90b..656f7c244 100644 --- a/examples/core/core_input_gamepad.c +++ b/examples/core/core_input_gamepad.c @@ -22,7 +22,7 @@ // NOTE: Gamepad name ID depends on drivers and OS #define XBOX360_LEGACY_NAME_ID "Xbox Controller" #define XBOX360_NAME_ID "Xbox 360 Controller" -#define PS3_NAME_ID "PLAYSTATION(R)3 Controller" +#define PS3_NAME_ID "Sony PLAYSTATION(R)3 Controller" //------------------------------------------------------------------------------------ // Program main entry point @@ -67,7 +67,7 @@ int main(void) { DrawText(TextFormat("GP%d: %s", gamepad, GetGamepadName(gamepad)), 10, 10, 10, BLACK); - if (true) + if (TextIsEqual(GetGamepadName(gamepad), XBOX360_LEGACY_NAME_ID) || TextIsEqual(GetGamepadName(gamepad), XBOX360_NAME_ID)) { DrawTexture(texXboxPad, 0, 0, DARKGRAY); From 7b92b5bde77f857dbf25a2e0aaacb79f592c18b2 Mon Sep 17 00:00:00 2001 From: fruzitent <40008647+fruzitent@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:22:24 +0300 Subject: [PATCH 331/745] fix: infer CMAKE_MODULE_PATH in super-build (#4042) --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57719691a..a5e3408c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ cmake_policy(SET CMP0063 NEW) # Directory for easier includes # Anywhere you see include(...) you can check /cmake for that file -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # RAYLIB_IS_MAIN determines whether the project is being used from root # or if it is added as a dependency (through add_subdirectory for example). @@ -51,7 +51,7 @@ add_subdirectory(src raylib) # Uninstall target if(NOT TARGET uninstall) configure_file( - "${CMAKE_MODULE_PATH}/Uninstall.cmake" + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Uninstall.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) From 8c712f82d12c08fd4710468d908be765ee54e748 Mon Sep 17 00:00:00 2001 From: Colleague Riley Date: Sat, 8 Jun 2024 16:26:46 -0400 Subject: [PATCH 332/745] Update RGFW (#4048) * Fix Makefile issues (RGFW) (linux) (macOS) * Do not use nanosleep on windows at all (PLATFORM_DESKTOP_RGFW) * remove #define RGFWDEF and make the #undefs only happen for their OS * Update RGFW.h * fix to match the RGFW updates * remove line that shows the cursor for no reason --- src/external/RGFW.h | 882 ++++++++++++++++++----------- src/platforms/rcore_desktop_rgfw.c | 8 +- 2 files changed, 561 insertions(+), 329 deletions(-) diff --git a/src/external/RGFW.h b/src/external/RGFW.h index 67c67e91c..a0ca21cec 100644 --- a/src/external/RGFW.h +++ b/src/external/RGFW.h @@ -34,7 +34,9 @@ #define RGFW_BUFFER - (optional) just draw directly to (RGFW) window pixel buffer that is drawn to screen (the buffer is in the RGBA format) #define RGFW_EGL - (optional) use EGL for loading an OpenGL context (instead of the system's opengl api) #define RGFW_OPENGL_ES1 - (optional) use EGL to load and use Opengl ES (version 1) for backend rendering (instead of the system's opengl api) + This version doesn't work for desktops (I'm pretty sure) #define RGFW_OPENGL_ES2 - (optional) use OpenGL ES (version 2) + #define RGFW_OPENGL_ES3 - (optional) use OpenGL ES (version 3) #define RGFW_VULKAN - (optional) use vulkan for the rendering backend (rather than opengl) #define RGFW_DIRECTX - (optional) use directX for the rendering backend (rather than opengl) (windows only, defaults to opengl for unix) #define RGFW_NO_API - (optional) don't use any rendering API (no opengl, no vulkan, no directX) @@ -90,12 +92,16 @@ #ifndef RGFWDEF #ifdef __APPLE__ -#define RGFWDEF extern inline +#define RGFWDEF static inline #else #define RGFWDEF inline #endif #endif +#ifndef RGFW_UNUSED +#define RGFW_UNUSED(x) if (x){} +#endif + #ifdef __cplusplus extern "C" { #endif @@ -106,7 +112,7 @@ extern "C" { #define RGFW_HEADER #if !defined(u8) -#include + #include typedef uint8_t u8; typedef int8_t i8; @@ -130,12 +136,16 @@ extern "C" { #define RGFW_WINDOWS -#if defined(_WIN32) +#if defined(_WIN32) && !defined(WIN32) #define WIN32 #endif #if defined(_WIN64) + +#ifndef WIN64 #define WIN64 +#endif + #define _AMD64_ #undef _X86_ #else @@ -163,7 +173,7 @@ extern "C" { #define RGFW_MACOS #endif -#if (defined(RGFW_OPENGL_ES1) || defined(RGFW_OPENGL_ES2)) && !defined(RGFW_EGL) +#if (defined(RGFW_OPENGL_ES1) || defined(RGFW_OPENGL_ES2) || defined(RGFW_OPENGL_ES3)) && !defined(RGFW_EGL) #define RGFW_EGL #endif #if defined(RGFW_EGL) && defined(__APPLE__) @@ -193,7 +203,7 @@ extern "C" { #include #endif -#if defined(RGFW_X11) && defined(RGFW_OPENGL) +#if defined(RGFW_X11) && (defined(RGFW_OPENGL)) #ifndef GLX_MESA_swap_control #define GLX_MESA_swap_control #endif @@ -384,10 +394,10 @@ typedef struct { i32 x, y; } RGFW_vector; RGFW_vector point; /*!< mouse x, y of event (or drop point) */ u32 keyCode; /*!< keycode of event !!Keycodes defined at the bottom of the header file!! */ - u32 inFocus; /*if the window is in focus or not*/ - u32 fps; /*the current fps of the window [the fps is checked when events are checked]*/ - u32 current_ticks, frames; /* this is used for counting the fps */ + u64 frameTime, frameTime2; /* this is used for counting the fps */ + + u8 inFocus; /*if the window is in focus or not*/ u8 lockState; @@ -416,9 +426,10 @@ typedef struct { i32 x, y; } RGFW_vector; u32 display; void* displayLink; void* window; + u8 dndPassed; #endif -#if defined(RGFW_OPENGL) && !defined(RGFW_OSMESA) +#if (defined(RGFW_OPENGL)) && !defined(RGFW_OSMESA) #ifdef RGFW_MACOS void* rSurf; /*!< source graphics context */ #endif @@ -460,6 +471,7 @@ typedef struct { i32 x, y; } RGFW_vector; #ifdef RGFW_EGL EGLSurface EGL_surface; EGLDisplay EGL_display; + EGLContext EGL_context; #endif #if defined(RGFW_OSMESA) || defined(RGFW_BUFFER) @@ -508,7 +520,7 @@ typedef struct { i32 x, y; } RGFW_vector; RGFW_rect r; /* the x, y, w and h of the struct */ - u8 fpsCap; /*!< the fps cap of the window should run at (change this var to change the fps cap, 0 = no limit)*/ + u32 fpsCap; /*!< the fps cap of the window should run at (change this var to change the fps cap, 0 = no limit)*/ /*[the fps is capped when events are checked]*/ } RGFW_window; /*!< Window structure for managing the window */ @@ -627,7 +639,6 @@ typedef struct { i32 x, y; } RGFW_vector; this is run by default if the user uses the arg `RGFW_SCALE_TO_MONITOR` during window creation */ RGFWDEF void RGFW_window_scaleToMonitor(RGFW_window* win); - /* get the struct of the window's monitor */ RGFWDEF RGFW_monitor RGFW_window_getMonitor(RGFW_window* win); @@ -635,11 +646,16 @@ typedef struct { i32 x, y; } RGFW_vector; RGFWDEF void RGFW_window_makeCurrent(RGFW_window* win); /*error handling*/ - RGFWDEF u8 RGFW_Error(); /* returns true if an error has occurred (doesn't print errors itself) */ + RGFWDEF u8 RGFW_Error(void); /* returns true if an error has occurred (doesn't print errors itself) */ /*!< if window == NULL, it checks if the key is pressed globally. Otherwise, it checks only if the key is pressed while the window in focus.*/ RGFWDEF u8 RGFW_isPressedI(RGFW_window* win, u32 key); /*!< if key is pressed (key code)*/ + RGFWDEF u8 RGFW_wasPressedI(RGFW_window* win, u32 key); /*!< if key was pressed (checks prev keymap only) (key code)*/ + + RGFWDEF u8 RGFW_isHeldI(RGFW_window* win, u32 key); /*!< if key is held (key code)*/ + RGFWDEF u8 RGFW_isReleasedI(RGFW_window* win, u32 key); /*!< if key is released (key code)*/ + /* !!Keycodes defined at the bottom of the header file!! */ @@ -676,7 +692,14 @@ typedef struct { i32 x, y; } RGFW_vector; if you're going to use sili which is a good idea generally */ - RGFWDEF RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args); /*!< create a thread*/ + + #if defined(__unix__) || defined(__APPLE__) + typedef void* (* RGFW_threadFunc_ptr)(void*); + #else + typedef DWORD (* RGFW_threadFunc_ptr)(void*); + #endif + + RGFWDEF RGFW_thread RGFW_createThread(RGFW_threadFunc_ptr ptr, void* args); /*!< create a thread*/ RGFWDEF void RGFW_cancelThread(RGFW_thread thread); /*!< cancels a thread*/ RGFWDEF void RGFW_joinThread(RGFW_thread thread); /*!< join thread to current thread */ RGFWDEF void RGFW_setThreadPriority(RGFW_thread thread, u8 priority); /*!< sets the priority priority */ @@ -694,7 +717,7 @@ typedef struct { i32 x, y; } RGFW_vector; /*! native opengl functions */ #ifdef RGFW_OPENGL /*! Get max OpenGL version */ - RGFWDEF u8* RGFW_getMaxGLVersion(); + RGFWDEF u8* RGFW_getMaxGLVersion(void); /* OpenGL init hints */ RGFWDEF void RGFW_setGLStencil(i32 stencil); /* set stencil buffer bit size (8 by default) */ RGFWDEF void RGFW_setGLSamples(i32 samples); /* set number of sampiling buffers (4 by default) */ @@ -754,8 +777,8 @@ typedef struct { i32 x, y; } RGFW_vector; RGFWDEF void RGFW_createSurface(VkInstance instance, RGFW_window* win); int RGFW_deviceInitialization(RGFW_window* win); int RGFW_createSwapchain(RGFW_window* win); - RGFWDEF int RGFW_createRenderPass(); - int RGFW_createCommandPool(); + RGFWDEF int RGFW_createRenderPass(void); + int RGFW_createCommandPool(void); int RGFW_createCommandBuffers(RGFW_window* win); int RGFW_createSyncObjects(RGFW_window* win); RGFWDEF int RGFW_createFramebuffers(RGFW_window* win); @@ -780,8 +803,7 @@ typedef struct { i32 x, y; } RGFW_vector; RGFWDEF void RGFW_window_checkFPS(RGFW_window* win); /*!< updates fps / sets fps to cap (ran by RGFW_window_checkEvent)*/ RGFWDEF u64 RGFW_getTime(void); /* get time in seconds */ RGFWDEF u64 RGFW_getTimeNS(void); /* get time in nanoseconds */ - RGFWDEF u32 RGFW_getFPS(void); /* get current FPS (win->event.fps) */ - RGFWDEF void RGFW_sleep(u32 microsecond); /* sleep for a set time */ + RGFWDEF void RGFW_sleep(u64 microsecond); /* sleep for a set time */ #endif /* RGFW_HEADER */ /* @@ -859,20 +881,19 @@ typedef struct { i32 x, y; } RGFW_vector; #ifdef RGFW_WINDOWS -#define WIN32_LEAN_AND_MEAN - #include #endif #ifdef RGFW_MACOS -#include - /* based on silicon.h */ +#ifndef GL_SILENCE_DEPRECATION #define GL_SILENCE_DEPRECATION +#endif + #include #include #include @@ -914,7 +935,7 @@ typedef struct { i32 x, y; } RGFW_vector; #define abi_objc_msgSend_fpret objc_msgSend_fpret #endif -#define NSAlloc(nsclass) objc_msgSend_id(nsclass, sel_registerName("alloc")) +#define NSAlloc(nsclass) objc_msgSend_id((id)nsclass, sel_registerName("alloc")) #define objc_msgSend_bool ((BOOL (*)(id, SEL))objc_msgSend) #define objc_msgSend_void ((void (*)(id, SEL))objc_msgSend) #define objc_msgSend_void_id ((void (*)(id, SEL, id))objc_msgSend) @@ -948,7 +969,7 @@ typedef struct { i32 x, y; } RGFW_vector; loadFunc("stringWithUTF8String:"); return ((id(*)(id, SEL, const char*))objc_msgSend) - (objc_getClass("NSString"), func, str); + ((id)objc_getClass("NSString"), func, str); } const char* NSString_to_char(NSString* str) { @@ -1053,7 +1074,7 @@ typedef struct { i32 x, y; } RGFW_vector; void* func = sel_registerName("initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:"); return (NSBitmapImageRep*) ((id(*)(id, SEL, unsigned char**, NSInteger, NSInteger, NSInteger, NSInteger, bool, bool, const char*, NSBitmapFormat, NSInteger, NSInteger))objc_msgSend) - (NSAlloc(objc_getClass("NSBitmapImageRep")), func, planes, width, height, bps, spp, alpha, isPlanar, NSString_stringWithUTF8String(colorSpaceName), bitmapFormat, rowBytes, pixelBits); + (NSAlloc((id)objc_getClass("NSBitmapImageRep")), func, planes, width, height, bps, spp, alpha, isPlanar, NSString_stringWithUTF8String(colorSpaceName), bitmapFormat, rowBytes, pixelBits); } NSColor* NSColor_colorWithSRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha) { @@ -1079,7 +1100,7 @@ typedef struct { i32 x, y; } RGFW_vector; NSImage* NSImage_initWithSize(NSSize size) { void* func = sel_registerName("initWithSize:"); return ((id(*)(id, SEL, NSSize))objc_msgSend) - (NSAlloc(objc_getClass("NSImage")), func, size); + (NSAlloc((id)objc_getClass("NSImage")), func, size); } #define NS_OPENGL_ENUM_DEPRECATED(minVers, maxVers) API_AVAILABLE(macos(minVers)) typedef NS_ENUM(NSInteger, NSOpenGLContextParameter) { @@ -1111,13 +1132,13 @@ typedef struct { i32 x, y; } RGFW_vector; void* NSOpenGLPixelFormat_initWithAttributes(const uint32_t* attribs) { void* func = sel_registerName("initWithAttributes:"); return (void*) ((id(*)(id, SEL, const uint32_t*))objc_msgSend) - (NSAlloc(objc_getClass("NSOpenGLPixelFormat")), func, attribs); + (NSAlloc((id)objc_getClass("NSOpenGLPixelFormat")), func, attribs); } NSOpenGLView* NSOpenGLView_initWithFrame(NSRect frameRect, uint32_t* format) { void* func = sel_registerName("initWithFrame:pixelFormat:"); return (NSOpenGLView*) ((id(*)(id, SEL, NSRect, uint32_t*))objc_msgSend) - (NSAlloc(objc_getClass("NSOpenGLView")), func, frameRect, format); + (NSAlloc((id)objc_getClass("NSOpenGLView")), func, frameRect, format); } void NSCursor_performSelector(NSCursor* cursor, void* selector) { @@ -1126,7 +1147,7 @@ typedef struct { i32 x, y; } RGFW_vector; } NSPasteboard* NSPasteboard_generalPasteboard(void) { - return (NSPasteboard*) objc_msgSend_id(objc_getClass("NSPasteboard"), sel_registerName("generalPasteboard")); + return (NSPasteboard*) objc_msgSend_id((id)objc_getClass("NSPasteboard"), sel_registerName("generalPasteboard")); } NSString** cstrToNSStringArray(char** strs, size_t len) { @@ -1144,27 +1165,22 @@ typedef struct { i32 x, y; } RGFW_vector; } NSArray* c_array_to_NSArray(void* array, size_t len) { - void* func = sel_registerName("initWithObjects:count:"); + SEL func = sel_registerName("initWithObjects:count:"); void* nsclass = objc_getClass("NSArray"); - - return ((id(*)(id, SEL, void*, NSUInteger))objc_msgSend) - (NSAlloc(nsclass), func, array, len); + return ((id (*)(id, SEL, void*, NSUInteger))objc_msgSend) + (NSAlloc(nsclass), func, array, len); } - + void NSregisterForDraggedTypes(void* view, NSPasteboardType* newTypes, size_t len) { - NSString** ntypes = cstrToNSStringArray(newTypes, len); - - void* func = sel_registerName("registerForDraggedTypes:"); + NSString** ntypes = cstrToNSStringArray((char**)newTypes, len); NSArray* array = c_array_to_NSArray(ntypes, len); - objc_msgSend_void_id(view, sel_registerName("registerForDraggedTypes:"), array); - NSRelease(array); } NSInteger NSPasteBoard_declareTypes(NSPasteboard* pasteboard, NSPasteboardType* newTypes, size_t len, void* owner) { - NSString** ntypes = cstrToNSStringArray(newTypes, len); + NSString** ntypes = cstrToNSStringArray((char**)newTypes, len); void* func = sel_registerName("declareTypes:owner:"); @@ -1252,13 +1268,17 @@ typedef struct { i32 x, y; } RGFW_vector; (pasteboard, func, array, options); NSRelease(array); - NSUInteger count = NSArray_count(output); const char** res = si_array_init_reserve(sizeof(const char*), count); - for (NSUInteger i = 0; i < count; i++) - res[i] = NSString_to_char(NSArray_objectAtIndex(output, i)); + void* path_func = sel_registerName("path"); + + for (NSUInteger i = 0; i < count; i++) { + void* url = NSArray_objectAtIndex(output, i); + NSString* url_str = ((id(*)(id, SEL))objc_msgSend)(url, path_func); + res[i] = NSString_to_char(url_str); + } return res; } @@ -1301,12 +1321,20 @@ typedef struct { i32 x, y; } RGFW_vector; } #endif + #ifdef RGFW_WINDOWS + __declspec(dllimport) u32 __stdcall timeBeginPeriod(u32 uPeriod); + #endif + RGFWDEF RGFW_window* RGFW_window_basic_init(RGFW_rect rect, u16 args); RGFWDEF void RGFW_init_buffer(RGFW_window* win); RGFW_window* RGFW_window_basic_init(RGFW_rect rect, u16 args) { RGFW_window* win = (RGFW_window*) RGFW_MALLOC(sizeof(RGFW_window)); /* make a new RGFW struct */ + #ifdef RGFW_WINDOWS + timeBeginPeriod(1); + #endif + #ifdef RGFW_ALLOC_DROPFILES win->event.droppedFiles = (char**) RGFW_MALLOC(sizeof(char*) * RGFW_MAX_DROPS); u32 i; @@ -1406,6 +1434,8 @@ typedef struct { i32 x, y; } RGFW_vector; win->src.hdcMem = CreateCompatibleDC(win->src.hdc); #endif +#else +RGFW_UNUSED(win); /* if buffer rendering is not being used */ #endif } @@ -1827,9 +1857,18 @@ typedef struct { i32 x, y; } RGFW_vector; #endif #if defined(RGFW_MACOS) - u8 RGFW_keyMap[128] = { 0 }; + u8 RGFW_keyBoard[128] = { 0 }; + u8 RGFW_keyBoard_prev[128]; #endif + u8 RGFW_isHeldI(RGFW_window* win, u32 key) { + return (RGFW_isPressedI(win, key) && RGFW_wasPressedI(win, key)); + } + + u8 RGFW_isReleasedI(RGFW_window* win, u32 key) { + return (!RGFW_isPressedI(win, key) && RGFW_wasPressedI(win, key)); + } + char* RGFW_keyCodeTokeyStr(u64 key) { #if defined(RGFW_MACOS) static char* keyStrs[128] = { "a", "s", "d", "f", "h", "g", "z", "x", "c", "v", "0", "b", "q", "w", "e", "r", "y", "t", "1", "2", "3", "4", "6", "5", "Equals", "9", "7", "Minus", "8", "0", "CloseBracket", "o", "u", "Bracket", "i", "p", "Return", "l", "j", "Apostrophe", "k", "Semicolon", "BackSlash", "Comma", "Slash", "n", "m", "Period", "Tab", "Space", "Backtick", "BackSpace", "0", "Escape", "0", "Super", "Shift", "CapsLock", "Alt", "Control", "0", "0", "0", "0", "0", "KP_Period", "0", "KP_Minus", "0", "0", "0", "0", "Numlock", "0", "0", "0", "KP_Multiply", "KP_Return", "0", "0", "0", "0", "KP_Slash", "KP_0", "KP_1", "KP_2", "KP_3", "KP_4", "KP_5", "KP_6", "KP_7", "0", "KP_8", "KP_9", "0", "0", "0", "F5", "F6", "F7", "F3", "F8", "F9", "0", "F11", "0", "F13", "0", "F14", "0", "F10", "0", "F12", "0", "F15", "Insert", "Home", "PageUp", "Delete", "F4", "End", "F2", "PageDown", "Left", "Right", "Down", "Up", "F1" }; @@ -1998,12 +2037,14 @@ typedef struct { i32 x, y; } RGFW_vector; u32 RGFW_isPressedJS(RGFW_window* win, u16 c, u8 button) { return win->src.jsPressed[c][button]; } #else - typedef DWORD (WINAPI * PFN_XInputGetState)(DWORD,XINPUT_STATE*); + typedef u64 (WINAPI * PFN_XInputGetState)(DWORD,XINPUT_STATE*); PFN_XInputGetState XInputGetStateSRC = NULL; #define XInputGetState XInputGetStateSRC static HMODULE RGFW_XInput_dll = NULL; u32 RGFW_isPressedJS(RGFW_window* win, u16 c, u8 button) { + RGFW_UNUSED(win) + XINPUT_STATE state; if (XInputGetState == NULL || XInputGetState(c, &state) == ERROR_DEVICE_NOT_CONNECTED) return 0; @@ -2027,9 +2068,15 @@ typedef struct { i32 x, y; } RGFW_vector; } #endif -#ifdef RGFW_OPENGL +#if defined(RGFW_OPENGL) || defined(RGFW_EGL) i32 RGFW_majorVersion = 0, RGFW_minorVersion = 0; + + #ifndef RGFW_EGL i32 RGFW_STENCIL = 8, RGFW_SAMPLES = 4, RGFW_STEREO = GL_FALSE, RGFW_AUX_BUFFERS = 0; + #else + i32 RGFW_STENCIL = 0, RGFW_SAMPLES = 0, RGFW_STEREO = GL_FALSE, RGFW_AUX_BUFFERS = 0; + #endif + void RGFW_setGLStencil(i32 stencil) { RGFW_STENCIL = stencil; } void RGFW_setGLSamples(i32 samples) { RGFW_SAMPLES = samples; } @@ -2041,7 +2088,7 @@ typedef struct { i32 x, y; } RGFW_vector; RGFW_minorVersion = minor; } - u8* RGFW_getMaxGLVersion() { + u8* RGFW_getMaxGLVersion(void) { RGFW_window* dummy = RGFW_createWindow("dummy", RGFW_RECT(0, 0, 1, 1), 0); const char* versionStr = (const char*) glGetString(GL_VERSION); @@ -2055,6 +2102,8 @@ typedef struct { i32 x, y; } RGFW_vector; return version; } +#ifndef RGFW_EGL + #define RGFW_GL_RENDER_TYPE RGFW_OS_BASED_VALUE(GLX_X_VISUAL_TYPE, 0x2003, 73) #define RGFW_GL_ALPHA_SIZE RGFW_OS_BASED_VALUE(GLX_ALPHA_SIZE, 0x201b, 11) #define RGFW_GL_DEPTH_SIZE RGFW_OS_BASED_VALUE(GLX_DEPTH_SIZE, 0x2022, 12) @@ -2087,6 +2136,7 @@ typedef struct { i32 x, y; } RGFW_vector; #endif static u32* RGFW_initAttribs(u32 useSoftware) { + RGFW_UNUSED(useSoftware); static u32 attribs[] = { #ifndef RGFW_MACOS RGFW_GL_RENDER_TYPE, @@ -2165,9 +2215,9 @@ typedef struct { i32 x, y; } RGFW_vector; return attribs; } -#endif +#else -#ifdef RGFW_EGL +#include #if defined(RGFW_LINK_EGL) typedef EGLBoolean(EGLAPIENTRY* PFN_eglInitialize)(EGLDisplay, EGLint*, EGLint*); @@ -2202,8 +2252,8 @@ typedef struct { i32 x, y; } RGFW_vector; #endif -#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 -#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30fb +#define EGL_SURFACE_MAJOR_VERSION_KHR 0x3098 +#define EGL_SURFACE_MINOR_VERSION_KHR 0x30fb #ifndef RGFW_GL_ADD_ATTRIB #define RGFW_GL_ADD_ATTRIB(attrib, attVal) \ @@ -2214,9 +2264,8 @@ typedef struct { i32 x, y; } RGFW_vector; } #endif - void RGFW_createOpenGLContext(RGFW_window* win) { - static EGLContext globalCtx = EGL_NO_CONTEXT; + void RGFW_createOpenGLContext(RGFW_window* win) { #if defined(RGFW_LINK_EGL) eglInitializeSource = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize"); eglGetConfigsSource = (PFNEGLGETCONFIGSPROC) eglGetProcAddress("eglGetConfigs"); @@ -2233,69 +2282,101 @@ typedef struct { i32 x, y; } RGFW_vector; eglDestroySurfaceSource = (PFNEGLDESTROYSURFACEPROC) eglGetProcAddress("eglDestroySurface"); #endif /* RGFW_LINK_EGL */ + #ifdef RGFW_WINDOWS + win->src.EGL_display = eglGetDisplay((EGLNativeDisplayType) win->src.hdc); + #else win->src.EGL_display = eglGetDisplay((EGLNativeDisplayType) win->src.display); + #endif EGLint major, minor; eglInitialize(win->src.EGL_display, &major, &minor); - EGLint config_attribs[] = { + #ifndef EGL_OPENGL_ES1_BIT + #define EGL_OPENGL_ES1_BIT 0x1 + #endif + + EGLint egl_config[] = { EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, #ifdef RGFW_OPENGL_ES1 EGL_OPENGL_ES1_BIT, - #endif - #ifdef RGFW_OPENGL_ES2 + #elif defined(RGFW_OPENGL_ES3) + EGL_OPENGL_ES3_BIT, + #elif defined(RGFW_OPENGL_ES2) EGL_OPENGL_ES2_BIT, #else EGL_OPENGL_BIT, #endif - EGL_NONE + EGL_NONE, EGL_NONE }; EGLConfig config; - EGLint num_configs; - eglChooseConfig(win->src.EGL_display, config_attribs, &config, 1, &num_configs); + EGLint numConfigs; + eglChooseConfig(win->src.EGL_display, egl_config, &config, 1, &numConfigs); -#if defined(RGFW_OPENGL_ES2) || defined(RGFW_OPENGL_ES1) - eglBindAPI(EGL_OPENGL_ES_API); -#else - eglBindAPI(EGL_OPENGL_API); -#endif - EGLint attribs[]{ - EGL_CONTEXT_OPENGL_PROFILE_MASK, EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT, - 0, 0, 0, 0 - }; - - size_t index = 2; - RGFW_GL_ADD_ATTRIB(EGL_STENCIL_SIZE, RGFW_STENCIL); - RGFW_GL_ADD_ATTRIB(EGL_SAMPLES, RGFW_SAMPLES); - RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MAJOR_VERSION, RGFW_majorVersion); - RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MINOR_VERSION, RGFW_minorVersion); - - win->src.rSurf = eglCreateContext(win->src.EGL_display, config, globalCtx, attribs); win->src.EGL_surface = eglCreateWindowSurface(win->src.EGL_display, config, (EGLNativeWindowType) win->src.window, NULL); - if (globalCtx == EGL_NO_CONTEXT) - RGFW_EGLglobalContext = win->src.rSurf; + EGLint attribs[] = { + EGL_CONTEXT_CLIENT_VERSION, + #ifdef RGFW_OPENGL_ES1 + 1, + #else + 2, + #endif + EGL_NONE, EGL_NONE, EGL_NONE, EGL_NONE, EGL_NONE, EGL_NONE + }; - eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.rSurf); + size_t index = 4; + RGFW_GL_ADD_ATTRIB(EGL_STENCIL_SIZE, RGFW_STENCIL); + RGFW_GL_ADD_ATTRIB(EGL_SAMPLES, RGFW_SAMPLES); + + if (RGFW_majorVersion) { + attribs[1] = RGFW_majorVersion; + RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_OPENGL_PROFILE_MASK, EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT); + RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MAJOR_VERSION, RGFW_majorVersion); + RGFW_GL_ADD_ATTRIB(EGL_CONTEXT_MINOR_VERSION, RGFW_minorVersion); + } + + #if defined(RGFW_OPENGL_ES1) || defined(RGFW_OPENGL_ES2) || defined(RGFW_OPENGL_ES3) + eglBindAPI(EGL_OPENGL_ES_API); + #else + eglBindAPI(EGL_OPENGL_API); + #endif + + win->src.EGL_context = eglCreateContext(win->src.EGL_display, config, EGL_NO_CONTEXT, attribs); + + eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.EGL_context); eglSwapBuffers(win->src.EGL_display, win->src.EGL_surface); - - eglSwapInterval(win->src.EGL_display, 1); } - void* RGFW_getProcAddress(const char* procname) { return (void*) eglGetProcAddress(procname); } + #ifdef RGFW_APPLE + void* RGFWnsglFramework = NULL; + #elif defined(RGFW_WINDOWS) + static HMODULE wglinstance = NULL; + #endif + + void* RGFW_getProcAddress(const char* procname) { + #if defined(RGFW_WINDOWS) + void* proc = (void*) GetProcAddress(wglinstance, procname); + + if (proc) + return proc; + #endif + + return (void*) eglGetProcAddress(procname); + } void RGFW_closeEGL(RGFW_window* win) { eglDestroySurface(win->src.EGL_display, win->src.EGL_surface); - eglDestroyContext(win->src.EGL_display, win->src.rSurf); + eglDestroyContext(win->src.EGL_display, win->src.EGL_context); eglTerminate(win->src.EGL_display); } #endif /* RGFW_EGL */ +#endif /* RGFW_GL stuff? */ /* This is where OS specific stuff starts @@ -2388,7 +2469,7 @@ typedef struct { i32 x, y; } RGFW_vector; } u32 i; - for (i = 0; i < fbcount; i++) { + for (i = 0; i < (u32)fbcount; i++) { XVisualInfo* vi = glXGetVisualFromFBConfig((Display*) win->src.display, fbc[i]); if (vi == NULL) continue; @@ -2398,8 +2479,9 @@ typedef struct { i32 x, y; } RGFW_vector; i32 samp_buf, samples; glXGetFBConfigAttrib((Display*) win->src.display, fbc[i], GLX_SAMPLE_BUFFERS, &samp_buf); glXGetFBConfigAttrib((Display*) win->src.display, fbc[i], GLX_SAMPLES, &samples); - if ((best_fbc < 0 || samp_buf) && (samples == RGFW_SAMPLES)) + if ((best_fbc < 0 || samp_buf) && (samples == RGFW_SAMPLES || best_fbc == -1)) { best_fbc = i; + } } if (best_fbc == -1) { @@ -2471,11 +2553,6 @@ typedef struct { i32 x, y; } RGFW_vector; win->src.rSurf = glXCreateContextAttribsARB((Display*) win->src.display, bestFbc, ctx, True, context_attribs); #endif - -#ifdef RGFW_EGL - RGFW_createOpenGLContext(win); -#endif - if (RGFW_root == NULL) RGFW_root = win; @@ -2558,6 +2635,10 @@ typedef struct { i32 x, y; } RGFW_vector; PropModeReplace, (u8*) &version, 1); /* turns on drag and drop */ } + #ifdef RGFW_EGL + RGFW_createOpenGLContext(win); + #endif + RGFW_window_setMouseDefault(win); RGFW_windowsOpen++; @@ -2593,9 +2674,11 @@ typedef struct { i32 x, y; } RGFW_vector; int xAxis = 0, yAxis = 0; + char RGFW_keyboard[32]; + char RGFW_keyboard_prev[32]; + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { assert(win != NULL); - win->event.type = 0; #ifdef __linux__ @@ -2650,13 +2733,6 @@ typedef struct { i32 x, y; } RGFW_vector; } u32 i; - - if (win->event.droppedFilesCount) { - for (i = 0; i < win->event.droppedFilesCount; i++) - win->event.droppedFiles[i][0] = '\0'; - } - - win->event.droppedFilesCount = 0; win->event.type = 0; @@ -2676,6 +2752,11 @@ typedef struct { i32 x, y; } RGFW_vector; win->event.keyCode = XkbKeycodeToKeysym((Display*) win->src.display, E.xkey.keycode, 0, E.xkey.state & ShiftMask ? 1 : 0); win->event.keyName = XKeysymToString(win->event.keyCode); /* convert to string */ + if (RGFW_isPressedI(win, win->event.keyCode)) + RGFW_keyboard_prev[E.xkey.keycode >> 3] |= (1 << (E.xkey.keycode & 7)); + else + RGFW_keyboard_prev[E.xkey.keycode >> 3] |= 0; + /* get keystate data */ win->event.type = (E.type == KeyPress) ? RGFW_keyPressed : RGFW_keyReleased; @@ -2690,6 +2771,8 @@ typedef struct { i32 x, y; } RGFW_vector; else if (win->event.keyCode == XK_Num_Lock) win->event.lockState |= RGFW_NUMLOCK; } + + XQueryKeymap(win->src.display, RGFW_keyboard); /* query the keymap */ break; case ButtonPress: @@ -2718,6 +2801,14 @@ typedef struct { i32 x, y; } RGFW_vector; win->event.type = RGFW_quit; break; } + + /* reset DND values */ + if (win->event.droppedFilesCount) { + for (i = 0; i < win->event.droppedFilesCount; i++) + win->event.droppedFiles[i][0] = '\0'; + } + + win->event.droppedFilesCount = 0; /* much of this event (drag and drop code) is source from glfw @@ -3002,13 +3093,13 @@ typedef struct { i32 x, y; } RGFW_vector; win->src.winArgs &= ~RGFW_MOUSE_CHANGED; } - if (win->src.winArgs & RGFW_HOLD_MOUSE && win->event.inFocus && win->event.type == RGFW_mousePosChanged) { - RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); - - if (XEventsQueued((Display*) win->src.display, QueuedAfterReading) <= 1) - XSync(win->src.display, True); - } + if (win->src.winArgs & RGFW_HOLD_MOUSE && win->event.inFocus && win->event.type == RGFW_mousePosChanged) { + RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + if (XEventsQueued((Display*) win->src.display, QueuedAfterReading) <= 1) + XSync(win->src.display, True); + } + XFlush((Display*) win->src.display); @@ -3022,7 +3113,7 @@ typedef struct { i32 x, y; } RGFW_vector; assert(win != NULL); #ifdef RGFW_VULKAN - for (int i = 0; i < win->src.image_count; i++) { + for (u32 i = 0; i < win->src.image_count; i++) { vkDestroyImageView(RGFW_vulkan_info.device, win->src.swapchain_image_views[i], NULL); } @@ -3212,7 +3303,7 @@ typedef struct { i32 x, y; } RGFW_vector; #ifndef RGFW_NO_X11_CURSOR /* free the previous cursor */ - if (win->src.cursor && win->src.cursor != -1) + if (win->src.cursor) XFreeCursor((Display*) win->src.display, (Cursor) win->src.cursor); XcursorImage* native = XcursorImageCreate(a.w, a.h); @@ -3235,6 +3326,8 @@ typedef struct { i32 x, y; } RGFW_vector; win->src.cursor = XcursorImageLoadCursor((Display*) win->src.display, native); XcursorImageDestroy(native); +#else + RGFW_UNUSED(image) RGFW_UNUSED(a.w) RGFW_UNUSED(channels) #endif } @@ -3256,7 +3349,7 @@ typedef struct { i32 x, y; } RGFW_vector; } RGFWDEF void RGFW_window_disableMouse(RGFW_window* win) { - + RGFW_UNUSED(win); } void RGFW_window_setMouseDefault(RGFW_window* win) { @@ -3267,7 +3360,7 @@ typedef struct { i32 x, y; } RGFW_vector; assert(win != NULL); /* free the previous cursor */ - if (win->src.cursor && win->src.cursor != -1) + if (win->src.cursor) XFreeCursor((Display*) win->src.display, (Cursor) win->src.cursor); win->src.winArgs |= RGFW_MOUSE_CHANGED; @@ -3615,7 +3708,7 @@ typedef struct { i32 x, y; } RGFW_vector; monitor.physW = (monitor.rect.w * 25.4f / 96.f); monitor.physH = (monitor.rect.h * 25.4f / 96.f); - strncpy(monitor.name, DisplayString(display), 128); + strcpy(monitor.name, DisplayString(display)); XGetSystemContentScale(display, &monitor.scaleX, &monitor.scaleY); @@ -3648,7 +3741,7 @@ typedef struct { i32 x, y; } RGFW_vector; RGFW_monitor RGFW_monitors[6]; RGFW_monitor* RGFW_getMonitors(void) { size_t i; - for (i = 0; i < ScreenCount(RGFW_root->src.display) && i < 6; i++) + for (i = 0; i < (size_t)ScreenCount(RGFW_root->src.display) && i < 6; i++) RGFW_monitors[i] = RGFW_XCreateMonitor(i); return RGFW_monitors; @@ -3684,9 +3777,7 @@ typedef struct { i32 x, y; } RGFW_vector; RGFW_monitor RGFW_window_getMonitor(RGFW_window* win) { return RGFW_XCreateMonitor(DefaultScreen(win->src.display)); } - - char keyboard[32]; - + u8 RGFW_isPressedI(RGFW_window* win, u32 key) { Display* d; if (win == (RGFW_window*) 0) @@ -3695,11 +3786,22 @@ typedef struct { i32 x, y; } RGFW_vector; return 0; else d = (Display*) win->src.display; - - XQueryKeymap(d, keyboard); /* query the keymap */ - + KeyCode kc2 = XKeysymToKeycode(d, key); /* convert the key to a keycode */ - return !!(keyboard[kc2 >> 3] & (1 << (kc2 & 7))); /* check if the key is pressed */ + return (RGFW_keyboard[kc2 >> 3] & (1 << (kc2 & 7))); /* check if the key is pressed */ + } + + u8 RGFW_wasPressedI(RGFW_window* win, u32 key) { + Display* d; + if (win == (RGFW_window*) 0) + d = RGFW_root->src.display; + else if (!win->event.inFocus) + return 0; + else + d = (Display*) win->src.display; + + KeyCode kc2 = XKeysymToKeycode(d, key); /* convert the key to a keycode */ + return !!(RGFW_keyboard_prev[kc2 >> 3] & (1 << (kc2 & 7))); /* check if the key is pressed */ } #endif @@ -3742,8 +3844,8 @@ typedef struct { i32 x, y; } RGFW_vector; void* RGFWjoystickApi = NULL; /* these two wgl functions need to be preloaded */ - typedef HGLRC(WINAPI* wglCreateContextAttribsARB_type)(HDC hdc, HGLRC hShareContext, - const i32* attribList); + typedef long long int (WINAPI* wglCreateContextAttribsARB_type)(HDC hdc, HGLRC hShareContext, + const int* attribList); wglCreateContextAttribsARB_type wglCreateContextAttribsARB = NULL; /* defines for creating ARB attributes */ @@ -3785,7 +3887,9 @@ typedef struct { i32 x, y; } RGFW_vector; #define WGL_SAMPLES_ARB 0x2042 #define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9 +#ifndef RGFW_EGL static HMODULE wglinstance = NULL; +#endif #ifdef RGFW_WGL_LOAD typedef HGLRC(WINAPI* PFN_wglCreateContext)(HDC); @@ -3802,13 +3906,13 @@ static HMODULE wglinstance = NULL; PFN_wglGetCurrentDC wglGetCurrentDCSRC; PFN_wglGetCurrentContext wglGetCurrentContextSRC; -#define wglCreateContext wglCreateContextSRC -#define wglDeleteContext wglDeleteContextSRC -#define wglGetProcAddress wglGetProcAddressSRC -#define wglMakeCurrent wglMakeCurrentSRC + #define wglCreateContext wglCreateContextSRC + #define wglDeleteContext wglDeleteContextSRC + #define wglGetProcAddress wglGetProcAddressSRC + #define wglMakeCurrent wglMakeCurrentSRC -#define wglGetCurrentDC wglGetCurrentDCSRC -#define wglGetCurrentContext wglGetCurrentContextSRC + #define wglGetCurrentDC wglGetCurrentDCSRC + #define wglGetCurrentContext wglGetCurrentContextSRC #endif #ifdef RGFW_OPENGL @@ -3820,11 +3924,11 @@ static HMODULE wglinstance = NULL; return (void*) GetProcAddress(wglinstance, procname); } - typedef BOOL(APIENTRY* PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats); + typedef u64 (APIENTRY* PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats); static PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL; #endif - RGFW_window RGFW_eventWindow = { {NULL} }; + RGFW_window RGFW_eventWindow; LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { @@ -3845,7 +3949,7 @@ static HMODULE wglinstance = NULL; #ifndef RGFW_NO_DPI static HMODULE RGFW_Shcore_dll = NULL; - typedef HRESULT (WINAPI * PFN_GetDpiForMonitor)(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); + typedef u64 (WINAPI * PFN_GetDpiForMonitor)(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); PFN_GetDpiForMonitor GetDpiForMonitorSRC = NULL; #define GetDpiForMonitor GetDpiForMonitorSRC #endif @@ -3898,6 +4002,7 @@ static HMODULE wglinstance = NULL; if (name[0] == 0) name = (char*) " "; RGFW_eventWindow.r = RGFW_RECT(-1, -1, -1, -1); + RGFW_eventWindow.src.window = NULL; RGFW_window* win = RGFW_window_basic_init(rect, args); @@ -4036,7 +4141,7 @@ static HMODULE wglinstance = NULL; ReleaseDC(dummyWin, dummy_dc); if (wglCreateContextAttribsARB != NULL) { - PIXELFORMATDESCRIPTOR pfd = { sizeof(pfd), 1, PFD_TYPE_RGBA, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 32, 8, PFD_MAIN_PLANE, 24, 8 }; + PIXELFORMATDESCRIPTOR pfd = (PIXELFORMATDESCRIPTOR){ sizeof(pfd), 1, PFD_TYPE_RGBA, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 32, 8, PFD_MAIN_PLANE, 24, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; if (args & RGFW_OPENGL_SOFTWARE) pfd.dwFlags |= PFD_GENERIC_FORMAT | PFD_GENERIC_ACCELERATED; @@ -4059,15 +4164,15 @@ static HMODULE wglinstance = NULL; u32 index = 0; i32 attribs[40]; -#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 - SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB); + + SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB); if (RGFW_majorVersion || RGFW_minorVersion) { SET_ATTRIB(WGL_CONTEXT_MAJOR_VERSION_ARB, RGFW_majorVersion); SET_ATTRIB(WGL_CONTEXT_MINOR_VERSION_ARB, RGFW_minorVersion); } - SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB); + SET_ATTRIB(WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB); if (RGFW_majorVersion || RGFW_minorVersion) { SET_ATTRIB(WGL_CONTEXT_MAJOR_VERSION_ARB, RGFW_majorVersion); @@ -4076,7 +4181,7 @@ static HMODULE wglinstance = NULL; SET_ATTRIB(0, 0); - win->src.rSurf = wglCreateContextAttribsARB(win->src.hdc, NULL, attribs); + win->src.rSurf = (HGLRC)wglCreateContextAttribsARB(win->src.hdc, NULL, attribs); } else { fprintf(stderr, "Failed to create an accelerated OpenGL Context\n"); @@ -4293,6 +4398,9 @@ static HMODULE wglinstance = NULL; return 0; } + BYTE RGFW_keyBoard[256]; + BYTE RGFW_keyBoard_prev[256]; + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { assert(win != NULL); @@ -4317,14 +4425,6 @@ static HMODULE wglinstance = NULL; return &win->event; } - if (win->event.droppedFilesCount) { - u32 i; - for (i = 0; i < win->event.droppedFilesCount; i++) - win->event.droppedFiles[i][0] = '\0'; - } - - win->event.droppedFilesCount = 0; - win->event.inFocus = (GetForegroundWindow() == win->src.window); if (RGFW_checkXInput(&win->event)) @@ -4334,7 +4434,6 @@ static HMODULE wglinstance = NULL; return NULL; static BYTE keyboardState[256]; - GetKeyboardState(keyboardState); if (PeekMessageA(&msg, win->src.window, 0u, 0u, PM_REMOVE)) { switch (msg.message) { @@ -4345,24 +4444,37 @@ static HMODULE wglinstance = NULL; case WM_KEYUP: win->event.keyCode = (u32) msg.wParam; + if (RGFW_isPressedI(win, win->event.keyCode)) + RGFW_keyBoard_prev[win->event.keyCode] |= 0x80; + else + RGFW_keyBoard_prev[win->event.keyCode] = 0; + strncpy(win->event.keyName, RGFW_keyCodeTokeyStr(msg.lParam), 16); - if (GetKeyState(VK_SHIFT) & 0x8000) { + if (RGFW_isPressedI(win, VK_SHIFT)) { ToAscii((UINT) msg.wParam, MapVirtualKey((UINT) msg.wParam, MAPVK_VK_TO_CHAR), keyboardState, (LPWORD) win->event.keyName, 0); } win->event.type = RGFW_keyReleased; + GetKeyboardState(RGFW_keyBoard); break; case WM_KEYDOWN: win->event.keyCode = (u32) msg.wParam; + + if (RGFW_isPressedI(win, win->event.keyCode)) + RGFW_keyBoard_prev[win->event.keyCode] |= 0x80; + else + RGFW_keyBoard_prev[win->event.keyCode] = 0; + strncpy(win->event.keyName, RGFW_keyCodeTokeyStr(msg.lParam), 16); - if (GetKeyState(VK_SHIFT) & 0x8000) { + if (RGFW_isPressedI(win, VK_SHIFT) & 0x8000) { ToAscii((UINT) msg.wParam, MapVirtualKey((UINT) msg.wParam, MAPVK_VK_TO_CHAR), keyboardState, (LPWORD) win->event.keyName, 0); } win->event.type = RGFW_keyPressed; + GetKeyboardState(RGFW_keyBoard); break; case WM_MOUSEMOVE: @@ -4413,6 +4525,15 @@ static HMODULE wglinstance = NULL; much of this event is source from glfw */ case WM_DROPFILES: { + + if (win->event.droppedFilesCount) { + u32 i; + for (i = 0; i < win->event.droppedFilesCount; i++) + win->event.droppedFiles[i][0] = '\0'; + } + + win->event.droppedFilesCount = 0; + win->event.type = RGFW_dnd; HDROP drop = (HDROP) msg.wParam; @@ -4522,6 +4643,9 @@ static HMODULE wglinstance = NULL; typedef struct { int iIndex; HMONITOR hMonitor; } RGFW_mInfo; BOOL CALLBACK GetMonitorByHandle(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) { + RGFW_UNUSED(hdcMonitor) + RGFW_UNUSED(lprcMonitor) + RGFW_mInfo* info = (RGFW_mInfo*) dwData; if (info->hMonitor == hMonitor) return FALSE; @@ -4586,6 +4710,9 @@ static HMODULE wglinstance = NULL; RGFW_monitor RGFW_monitors[6]; BOOL CALLBACK GetMonitorHandle(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) { + RGFW_UNUSED(hdcMonitor) + RGFW_UNUSED(lprcMonitor) + RGFW_mInfo* info = (RGFW_mInfo*) dwData; if (info->iIndex >= 6) @@ -4618,9 +4745,20 @@ static HMODULE wglinstance = NULL; if (win != NULL && !win->event.inFocus) return 0; - if (GetAsyncKeyState(key) & 0x8000) + if (RGFW_keyBoard[key] & 0x80) return 1; - else return 0; + + return 0; + } + + u8 RGFW_wasPressedI(RGFW_window* win, u32 key) { + if (win != NULL && !win->event.inFocus) + return 0; + + if (RGFW_keyBoard_prev[key] & 0x80) + return 1; + + return 0; } HICON RGFW_loadHandleImage(RGFW_window* win, u8* src, RGFW_area a, BOOL icon) { @@ -4684,6 +4822,7 @@ static HMODULE wglinstance = NULL; void RGFW_window_setMouse(RGFW_window* win, u8* image, RGFW_area a, i32 channels) { assert(win != NULL); + RGFW_UNUSED(channels) HCURSOR cursor = (HCURSOR) RGFW_loadHandleImage(win, image, a, FALSE); SetClassLongPtrA(win->src.window, GCLP_HCURSOR, (LPARAM) cursor); @@ -4824,6 +4963,7 @@ static HMODULE wglinstance = NULL; /* much of this function is sourced from GLFW */ void RGFW_window_setIcon(RGFW_window* win, u8* src, RGFW_area a, i32 channels) { assert(win != NULL); + RGFW_UNUSED(channels) HICON handle = RGFW_loadHandleImage(win, src, a, TRUE); @@ -4900,12 +5040,14 @@ static HMODULE wglinstance = NULL; u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber) { assert(win != NULL); + RGFW_UNUSED(jsNumber) + return RGFW_registerJoystickF(win, (char*) ""); } u16 RGFW_registerJoystickF(RGFW_window* win, char* file) { assert(win != NULL); - + RGFW_UNUSED(file) return win->src.joystickCount - 1; } @@ -4936,7 +5078,7 @@ static HMODULE wglinstance = NULL; } #ifndef RGFW_NO_THREADS - RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args) { return CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) *function_ptr, args, 0, NULL); } + RGFW_thread RGFW_createThread(RGFW_threadFunc_ptr ptr, void* args) { return CreateThread(NULL, 0, ptr, args, 0, NULL); } void RGFW_cancelThread(RGFW_thread thread) { CloseHandle((HANDLE) thread); } void RGFW_joinThread(RGFW_thread thread) { WaitForSingleObject((HANDLE) thread, INFINITE); } void RGFW_setThreadPriority(RGFW_thread thread, u8 priority) { SetThreadPriority((HANDLE) thread, priority); } @@ -4962,7 +5104,10 @@ static HMODULE wglinstance = NULL; } #endif - CVReturn displayCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* inNow, const CVTimeStamp* inOutputTime, CVOptionFlags flagsIn, CVOptionFlags* flagsOut, void* displayLinkContext) { return kCVReturnSuccess; } + CVReturn displayCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* inNow, const CVTimeStamp* inOutputTime, CVOptionFlags flagsIn, CVOptionFlags* flagsOut, void* displayLinkContext) { + RGFW_UNUSED(displayLink) RGFW_UNUSED(inNow) RGFW_UNUSED(inOutputTime) RGFW_UNUSED(flagsIn) RGFW_UNUSED(flagsOut) RGFW_UNUSED(displayLinkContext) + return kCVReturnSuccess; + } RGFW_window* RGFW_windows[10]; u32 RGFW_windows_size = 0; @@ -4983,17 +5128,25 @@ static HMODULE wglinstance = NULL; } /* NOTE(EimaMei): Fixes the constant clicking when the app is running under a terminal. */ - bool acceptsFirstResponder() { return true; } - bool performKeyEquivalent(NSEvent* event) { return true; } + bool acceptsFirstResponder(void) { return true; } + bool performKeyEquivalent(NSEvent* event) { RGFW_UNUSED(event); return true; } - NSDragOperation draggingEntered(id self, SEL sel, id sender) { return NSDragOperationCopy; } - NSDragOperation draggingUpdated(id self, SEL sel, id sender) { return NSDragOperationCopy; } + NSDragOperation draggingEntered(id self, SEL sel, id sender) { + RGFW_UNUSED(sender); RGFW_UNUSED(self); RGFW_UNUSED(sel); + return NSDragOperationCopy; + } + NSDragOperation draggingUpdated(id self, SEL sel, id sender) { + RGFW_UNUSED(sender); RGFW_UNUSED(self); RGFW_UNUSED(sel); + return NSDragOperationCopy; + } bool prepareForDragOperation(void) { return true; } - void RGFW__osxDraggingEnded(id self, SEL sel, id sender) { return; } + void RGFW__osxDraggingEnded(id self, SEL sel, id sender) { RGFW_UNUSED(sender); RGFW_UNUSED(self); RGFW_UNUSED(sel); return; } /* NOTE(EimaMei): Usually, you never need 'id self, SEL cmd' for C -> Obj-C methods. This isn't the case. */ bool performDragOperation(id self, SEL sel, id sender) { + RGFW_UNUSED(sender); RGFW_UNUSED(self); RGFW_UNUSED(sel); + NSWindow* window = objc_msgSend_id(sender, sel_registerName("draggingDestinationWindow")); u32 i; bool found = false; @@ -5007,10 +5160,10 @@ static HMODULE wglinstance = NULL; if (!found) i = 0; - Class* array[] = { objc_getClass("NSURL"), NULL }; - char** droppedFiles = (char**) NSPasteboard_readObjectsForClasses( - (NSPasteboard*) objc_msgSend_id(sender, sel_registerName("draggingPasteboard")), - array, 1, NULL); + Class array[] = { objc_getClass("NSURL"), NULL }; + NSPasteboard* pasteBoard = objc_msgSend_id(sender, sel_registerName("draggingPasteboard")); + + char** droppedFiles = (char**) NSPasteboard_readObjectsForClasses(pasteBoard, array, 1, NULL); RGFW_windows[i]->event.droppedFilesCount = si_array_len(droppedFiles); @@ -5020,11 +5173,12 @@ static HMODULE wglinstance = NULL; strcpy(RGFW_windows[i]->event.droppedFiles[y], droppedFiles[y]); RGFW_windows[i]->event.type = RGFW_dnd; + RGFW_windows[i]->src.dndPassed = false; - NSPoint p = *(NSPoint*) objc_msgSend_id(sender, sel_registerName("draggingLocation")); - RGFW_windows[i]->event.point.x = p.x; - RGFW_windows[i]->event.point.x = p.y; + NSPoint p = ((NSPoint(*)(id, SEL)) objc_msgSend)(sender, sel_registerName("draggingLocation")); + RGFW_windows[i]->event.point.x = (i32)p.x; + RGFW_windows[i]->event.point.x = (i32)p.y; return true; } @@ -5059,6 +5213,8 @@ static HMODULE wglinstance = NULL; NSSize RGFW__osxWindowResize(void* self, SEL sel, NSSize frameSize) { + RGFW_UNUSED(sel); + u32 i; for (i = 0; i < RGFW_windows_size; i++) { if (RGFW_windows[i] && NSWindow_delegate(RGFW_windows[i]) == self) { @@ -5074,6 +5230,8 @@ static HMODULE wglinstance = NULL; } void RGFW__osxWindowMove(void* self, SEL sel) { + RGFW_UNUSED(sel); + u32 i; for (i = 0; i < RGFW_windows_size; i++) { if (RGFW_windows[i] && NSWindow_delegate(RGFW_windows[i]) == self) { @@ -5093,8 +5251,8 @@ static HMODULE wglinstance = NULL; #define APPKIT_EXTERN extern #endif - APPKIT_EXTERN NSPasteboardType const NSPasteboardTypeURL = "public.url"; API_AVAILABLE(macos(10.13)); // Equivalent to kUTTypeURL - APPKIT_EXTERN NSPasteboardType const NSPasteboardTypeFileURL = "public.file-url"; API_AVAILABLE(macos(10.13)); // Equivalent to kUTTypeFileURL + NSPasteboardType const NSPasteboardTypeURL = "public.url"; + NSPasteboardType const NSPasteboardTypeFileURL = "public.file-url"; RGFW_window* RGFW_createWindow(const char* name, RGFW_rect rect, u16 args) { static u8 RGFW_loaded = 0; @@ -5109,7 +5267,7 @@ static HMODULE wglinstance = NULL; si_func_to_SEL("NSWindow", performKeyEquivalent); if (NSApp == NULL) { - NSApp = objc_msgSend_id(objc_getClass("NSApplication"), sel_registerName("sharedApplication")); + NSApp = objc_msgSend_id((id)objc_getClass("NSApplication"), sel_registerName("sharedApplication")); ((void (*)(id, SEL, NSUInteger))objc_msgSend) (NSApp, sel_registerName("setActivationPolicy:"), NSApplicationActivationPolicyRegular); @@ -5164,7 +5322,7 @@ static HMODULE wglinstance = NULL; #else NSRect contentRect = NSMakeRect(0, 0, win->r.w, win->r.h); win->src.view = ((id(*)(id, SEL, NSRect))objc_msgSend) - (NSAlloc(objc_getClass("NSView")), sel_registerName("initWithFrame:"), + (NSAlloc((id)objc_getClass("NSView")), sel_registerName("initWithFrame:"), contentRect); #endif @@ -5193,7 +5351,7 @@ static HMODULE wglinstance = NULL; } win->src.display = CGMainDisplayID(); - CVDisplayLinkCreateWithCGDisplay(win->src.display, &win->src.displayLink); + CVDisplayLinkCreateWithCGDisplay(win->src.display, (CVDisplayLinkRef*)&win->src.displayLink); CVDisplayLinkSetOutputCallback(win->src.displayLink, displayCallback, win); CVDisplayLinkStart(win->src.displayLink); @@ -5213,35 +5371,17 @@ static HMODULE wglinstance = NULL; NSMoveToResourceDir(); Class delegateClass = objc_allocateClassPair(objc_getClass("NSObject"), "WindowDelegate", 0); + + class_addMethod(delegateClass, sel_registerName("windowWillResize:toSize:"), (IMP) RGFW__osxWindowResize, "{NSSize=ff}@:{NSSize=ff}"); class_addMethod(delegateClass, sel_registerName("windowWillMove:"), (IMP) RGFW__osxWindowMove, ""); class_addMethod(delegateClass, sel_registerName("windowDidMove:"), (IMP) RGFW__osxWindowMove, ""); - - - if (args & RGFW_ALLOW_DND) { - win->src.winArgs |= RGFW_ALLOW_DND; - -/* - NSPasteboardType types[] = {NSPasteboardTypeURL, NSPasteboardTypeFileURL, NSPasteboardTypeString}; - - siArray(NSPasteboardType) array = sic_arrayInit(types, sizeof(id), countof(types)); - NSWindow_registerForDraggedTypes(win->hwnd, array); - - win->dndHead = win->dndPrev = out; -*/ - - NSPasteboardType array[] = {NSPasteboardTypeURL, NSPasteboardTypeFileURL, NSPasteboardTypeString}; - NSregisterForDraggedTypes(win->src.window, array, 3); - - /* NOTE(EimaMei): Drag 'n Drop requires too many damn functions for just a Drag 'n Drop event. */ - class_addMethod(delegateClass, "draggingEntered:", draggingEntered, "l@:@"); - class_addMethod(delegateClass, "draggingUpdated:", draggingUpdated, "l@:@"); - class_addMethod(delegateClass, "draggingExited:", RGFW__osxDraggingEnded, "v@:@"); - class_addMethod(delegateClass, "draggingEnded:", RGFW__osxDraggingEnded, "v@:@"); - class_addMethod(delegateClass, "prepareForDragOperation:", prepareForDragOperation, "B@:@"); - class_addMethod(delegateClass, "performDragOperation:", performDragOperation, "B@:@"); - - } + class_addMethod(delegateClass, sel_registerName("draggingEntered:"), (IMP)draggingEntered, "l@:@"); + class_addMethod(delegateClass, sel_registerName("draggingUpdated:"), (IMP)draggingUpdated, "l@:@"); + class_addMethod(delegateClass, sel_registerName("draggingExited:"), (IMP)RGFW__osxDraggingEnded, "v@:@"); + class_addMethod(delegateClass, sel_registerName("draggingEnded:"), (IMP)RGFW__osxDraggingEnded, "v@:@"); + class_addMethod(delegateClass, sel_registerName("prepareForDragOperation:"), (IMP)prepareForDragOperation, "B@:@"); + class_addMethod(delegateClass, sel_registerName("performDragOperation:"), (IMP)performDragOperation, "B@:@"); id delegate = objc_msgSend_id(NSAlloc(delegateClass), sel_registerName("init")); @@ -5249,6 +5389,13 @@ static HMODULE wglinstance = NULL; objc_msgSend_void_id(win->src.window, sel_registerName("setDelegate:"), delegate); + if (args & RGFW_ALLOW_DND) { + win->src.winArgs |= RGFW_ALLOW_DND; + + NSPasteboardType types[] = {NSPasteboardTypeURL, NSPasteboardTypeFileURL, NSPasteboardTypeString}; + NSregisterForDraggedTypes(win->src.window, types, 3); + } + // Show the window ((id(*)(id, SEL, SEL))objc_msgSend)(win->src.window, sel_registerName("makeKeyAndOrderFront:"), NULL); objc_msgSend_void_bool(win->src.window, sel_registerName("setIsVisible:"), true); @@ -5259,6 +5406,8 @@ static HMODULE wglinstance = NULL; RGFW_loaded = 1; } + objc_msgSend_void(win->src.window, sel_registerName("makeKeyWindow")); + NSApplication_finishLaunching(NSApp); RGFW_windows_size++; @@ -5385,12 +5534,25 @@ static HMODULE wglinstance = NULL; }; + typedef enum NSEventModifierFlags { + NSEventModifierFlagCapsLock = 1 << 16, + NSEventModifierFlagShift = 1 << 17, + NSEventModifierFlagControl = 1 << 18, + NSEventModifierFlagOption = 1 << 19, + NSEventModifierFlagCommand = 1 << 20 + } NSEventModifierFlags; + RGFW_Event* RGFW_window_checkEvent(RGFW_window* win) { assert(win != NULL); if (win->event.type == RGFW_quit) return &win->event; + if (win->event.type == RGFW_dnd && win->src.dndPassed == 0) { + win->src.dndPassed = 1; + return &win->event; + } + static void* eventFunc = NULL; if (eventFunc == NULL) eventFunc = sel_registerName("nextEventMatchingMask:untilDate:inMode:dequeue:"); @@ -5426,85 +5588,156 @@ static HMODULE wglinstance = NULL; win->event.inFocus = (bool) objc_msgSend_bool(win->src.window, sel_registerName("isKeyWindow")); switch (objc_msgSend_uint(e, sel_registerName("type"))) { - case NSEventTypeKeyDown: - win->event.type = RGFW_keyPressed; - win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); - win->event.keyName = (const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); + case NSEventTypeKeyDown: + win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); + RGFW_keyBoard_prev[win->event.keyCode] = RGFW_keyBoard[win->event.keyCode]; - RGFW_keyMap[win->event.keyCode] = 1; - break; + win->event.type = RGFW_keyPressed; + win->event.keyName = (char*)(const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); - case NSEventTypeKeyUp: - win->event.type = RGFW_keyReleased; - win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); - win->event.keyName = (const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); + RGFW_keyBoard[win->event.keyCode] = 1; + break; - RGFW_keyMap[win->event.keyCode] = 0; - break; + case NSEventTypeKeyUp: + win->event.keyCode = (u16) objc_msgSend_uint(e, sel_registerName("keyCode")); - case NSEventTypeLeftMouseDragged: - case NSEventTypeOtherMouseDragged: - case NSEventTypeRightMouseDragged: - case NSEventTypeMouseMoved: - win->event.type = RGFW_mousePosChanged; - NSPoint p = ((NSPoint(*)(id, SEL)) objc_msgSend)(e, sel_registerName("locationInWindow")); + RGFW_keyBoard_prev[win->event.keyCode] = RGFW_keyBoard[win->event.keyCode]; - win->event.point = RGFW_VECTOR((u32) p.x, (u32) (win->r.h - p.y)); + win->event.type = RGFW_keyReleased; + win->event.keyName = (char*)(const char*) NSString_to_char(objc_msgSend_id(e, sel_registerName("characters"))); - if (win->src.winArgs & RGFW_HOLD_MOUSE) { - RGFW_vector mouse = RGFW_getGlobalMousePoint(); - if ((mouse.x != win->r.x + (win->r.w / 2) || mouse.y != win->r.y + (win->r.h / 2))) { - RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + RGFW_keyBoard[win->event.keyCode] = 0; + break; + + case NSEventTypeFlagsChanged: { + u32 flags = objc_msgSend_uint(e, sel_registerName("modifierFlags")); + memcpy(RGFW_keyBoard_prev + 55, RGFW_keyBoard + 55, 5); + + if ((flags & NSEventModifierFlagCapsLock) && !RGFW_wasPressedI(win, 57)) { + RGFW_keyBoard[57] = 1; + win->event.type = RGFW_keyPressed; + win->event.keyCode = 57; + break; + } if (!(flags & NSEventModifierFlagCapsLock) && RGFW_wasPressedI(win, 57)) { + RGFW_keyBoard[57] = 0; + win->event.type = RGFW_keyReleased; + win->event.keyCode = 57; + break; } + + if ((flags & NSEventModifierFlagOption) && !RGFW_wasPressedI(win, 58)) { + RGFW_keyBoard[58] = 1; + win->event.type = RGFW_keyPressed; + win->event.keyCode = 58; + break; + } if (!(flags & NSEventModifierFlagOption) && RGFW_wasPressedI(win, 58)) { + RGFW_keyBoard[58] = 0; + win->event.type = RGFW_keyReleased; + win->event.keyCode = 58; + break; + } + + if ((flags & NSEventModifierFlagControl) && !RGFW_wasPressedI(win, 59)) { + RGFW_keyBoard[59] = 1; + win->event.type = RGFW_keyPressed; + win->event.keyCode = 59; + break; + } if (!(flags & NSEventModifierFlagControl) && RGFW_wasPressedI(win, 59)) { + RGFW_keyBoard[59] = 0; + win->event.type = RGFW_keyReleased; + win->event.keyCode = 59; + break; + } + + if ((flags & NSEventModifierFlagCommand) && !RGFW_wasPressedI(win, 55)) { + RGFW_keyBoard[55] = 1; + win->event.type = RGFW_keyPressed; + win->event.keyCode = 55; + break; + } if (!(flags & NSEventModifierFlagCommand) && RGFW_wasPressedI(win, 55)) { + RGFW_keyBoard[55] = 0; + win->event.type = RGFW_keyReleased; + win->event.keyCode = 55; + break; + } + + if ((flags & NSEventModifierFlagShift) && !RGFW_wasPressedI(win, 56)) { + RGFW_keyBoard[56] = 1; + win->event.type = RGFW_keyPressed; + win->event.keyCode = 56; + break; + } if (!(flags & NSEventModifierFlagShift) && RGFW_wasPressedI(win, 56)) { + RGFW_keyBoard[56] = 0; + win->event.type = RGFW_keyReleased; + win->event.keyCode = 56; + break; + } + + break; } - break; + case NSEventTypeLeftMouseDragged: + case NSEventTypeOtherMouseDragged: + case NSEventTypeRightMouseDragged: + case NSEventTypeMouseMoved: + win->event.type = RGFW_mousePosChanged; + NSPoint p = ((NSPoint(*)(id, SEL)) objc_msgSend)(e, sel_registerName("locationInWindow")); - case NSEventTypeLeftMouseDown: - win->event.button = RGFW_mouseLeft; - win->event.type = RGFW_mouseButtonPressed; - break; + win->event.point = RGFW_VECTOR((u32) p.x, (u32) (win->r.h - p.y)); - case NSEventTypeOtherMouseDown: - win->event.button = RGFW_mouseMiddle; - win->event.type = RGFW_mouseButtonPressed; - break; + if (win->src.winArgs & RGFW_HOLD_MOUSE) { + RGFW_vector mouse = RGFW_getGlobalMousePoint(); + if ((mouse.x != win->r.x + (win->r.w / 2) || mouse.y != win->r.y + (win->r.h / 2))) { + RGFW_window_moveMouse(win, RGFW_VECTOR(win->r.x + (win->r.w / 2), win->r.y + (win->r.h / 2))); + } + } + break; - case NSEventTypeRightMouseDown: - win->event.button = RGFW_mouseRight; - win->event.type = RGFW_mouseButtonPressed; - break; + case NSEventTypeLeftMouseDown: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonPressed; + break; - case NSEventTypeLeftMouseUp: - win->event.button = RGFW_mouseLeft; - win->event.type = RGFW_mouseButtonReleased; - break; + case NSEventTypeOtherMouseDown: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonPressed; + break; - case NSEventTypeOtherMouseUp: - win->event.button = RGFW_mouseMiddle; - win->event.type = RGFW_mouseButtonReleased; - break; + case NSEventTypeRightMouseDown: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonPressed; + break; - case NSEventTypeScrollWheel: { - double deltaY = ((CGFloat(*)(id, SEL))abi_objc_msgSend_fpret)(e, sel_registerName("deltaY")); + case NSEventTypeLeftMouseUp: + win->event.button = RGFW_mouseLeft; + win->event.type = RGFW_mouseButtonReleased; + break; - if (deltaY > 0) - win->event.button = RGFW_mouseScrollUp; + case NSEventTypeOtherMouseUp: + win->event.button = RGFW_mouseMiddle; + win->event.type = RGFW_mouseButtonReleased; + break; - else if (deltaY < 0) - win->event.button = RGFW_mouseScrollDown; + case NSEventTypeScrollWheel: { + double deltaY = ((CGFloat(*)(id, SEL))abi_objc_msgSend_fpret)(e, sel_registerName("deltaY")); - win->event.scroll = deltaY; + if (deltaY > 0) + win->event.button = RGFW_mouseScrollUp; - win->event.type = RGFW_mouseButtonReleased; - break; - } - case NSEventTypeRightMouseUp: - win->event.button = RGFW_mouseRight; - win->event.type = RGFW_mouseButtonReleased; - break; + else if (deltaY < 0) + win->event.button = RGFW_mouseScrollDown; - default: - break; + win->event.scroll = deltaY; + + win->event.type = RGFW_mouseButtonReleased; + break; + } + case NSEventTypeRightMouseUp: + win->event.button = RGFW_mouseRight; + win->event.type = RGFW_mouseButtonReleased; + break; + + default: + break; } objc_msgSend_void_id(NSApp, sel_registerName("sendEvent:"), e); @@ -5617,6 +5850,8 @@ static HMODULE wglinstance = NULL; } void RGFW_window_showMouse(RGFW_window* win, i8 show) { + RGFW_UNUSED(win); + if (show) { CGDisplayShowCursor(kCGDirectMainDisplay); } @@ -5626,11 +5861,13 @@ static HMODULE wglinstance = NULL; } void RGFW_window_setMouseStandard(RGFW_window* win, void* mouse) { + RGFW_UNUSED(win); CGDisplayShowCursor(kCGDirectMainDisplay); objc_msgSend_void(mouse, sel_registerName("set")); } void RGFW_window_moveMouse(RGFW_window* win, RGFW_vector v) { + RGFW_UNUSED(win); assert(win != NULL); CGWarpMouseCursorPosition(CGPointMake(v.x, v.y)); @@ -5716,6 +5953,7 @@ static HMODULE wglinstance = NULL; } u8 RGFW_isPressedI(RGFW_window* win, u32 key) { + RGFW_UNUSED(win); if (key >= 128) { #ifdef RGFW_PRINT_ERRORS fprintf(stderr, "RGFW_isPressedI : invalid keycode\n"); @@ -5723,7 +5961,19 @@ static HMODULE wglinstance = NULL; RGFW_error = 1; } - return RGFW_keyMap[key]; + return RGFW_keyBoard[key]; + } + + u8 RGFW_wasPressedI(RGFW_window* win, u32 key) { + RGFW_UNUSED(win); + if (key >= 128) { +#ifdef RGFW_PRINT_ERRORS + fprintf(stderr, "RGFW_wasPressedI : invalid keycode\n"); +#endif + RGFW_error = 1; + } + + return RGFW_keyBoard_prev[key]; } #ifdef __cplusplus @@ -5740,6 +5990,8 @@ static HMODULE wglinstance = NULL; } void RGFW_writeClipboard(const char* text, u32 textLen) { + RGFW_UNUSED(textLen); + NSPasteboardType array[] = { NSPasteboardTypeString, NULL }; NSPasteBoard_declareTypes(NSPasteboard_generalPasteboard(), array, 1, NULL); @@ -5747,12 +5999,16 @@ static HMODULE wglinstance = NULL; } u16 RGFW_registerJoystick(RGFW_window* win, i32 jsNumber) { + RGFW_UNUSED(jsNumber); + assert(win != NULL); return RGFW_registerJoystickF(win, (char*) ""); } u16 RGFW_registerJoystickF(RGFW_window* win, char* file) { + RGFW_UNUSED(file); + assert(win != NULL); return win->src.joystickCount - 1; @@ -5820,9 +6076,11 @@ static HMODULE wglinstance = NULL; #ifndef RGFW_NO_THREADS #include - RGFW_thread RGFW_createThread(void* (*function_ptr)(void*), void* args) { + RGFW_thread RGFW_createThread(RGFW_threadFunc_ptr ptr, void* args) { + RGFW_UNUSED(args); + RGFW_thread t; - pthread_create((pthread_t*) &t, NULL, *function_ptr, NULL); + pthread_create((pthread_t*) &t, NULL, *ptr, NULL); return t; } void RGFW_cancelThread(RGFW_thread thread) { pthread_cancel((pthread_t) thread); } @@ -5848,7 +6106,7 @@ static HMODULE wglinstance = NULL; #endif #else #ifdef RGFW_EGL - eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.rSurf); + eglMakeCurrent(win->src.EGL_display, win->src.EGL_surface, win->src.EGL_surface, win->src.EGL_context); #endif #endif @@ -5927,9 +6185,6 @@ static HMODULE wglinstance = NULL; void RGFW_window_swapBuffers(RGFW_window* win) { assert(win != NULL); - win->event.frames++; - RGFW_window_checkFPS(win); - RGFW_window_makeCurrent(win); /* clear the window*/ @@ -5958,10 +6213,10 @@ static HMODULE wglinstance = NULL; RGFW_area area = RGFW_getScreenSize(); #ifndef RGFW_X11_DONT_CONVERT_BGR - win->src.bitmap->data = (const char*) win->buffer; + win->src.bitmap->data = (char*) win->buffer; u32 x, y; - for (y = 0; y < win->r.h; y++) { - for (x = 0; x < win->r.w; x++) { + for (y = 0; y < (u32)win->r.h; y++) { + for (x = 0; x < (u32)win->r.w; x++) { u32 index = (y * 4 * area.w) + x * 4; u8 red = win->src.bitmap->data[index]; @@ -5992,7 +6247,7 @@ static HMODULE wglinstance = NULL; "NSDeviceRGBColorSpace", 0, area.w * 4, 32 ); - id image = NSAlloc(objc_getClass("NSImage")); + id image = NSAlloc((id)objc_getClass("NSImage")); NSImage_addRepresentation(image, rep); objc_msgSend_void_id(layer, sel_registerName("setContents:"), (id) image); @@ -6009,28 +6264,25 @@ static HMODULE wglinstance = NULL; #endif } - if (win->src.winArgs & RGFW_NO_GPU_RENDER) - return; + if (!(win->src.winArgs & RGFW_NO_GPU_RENDER)) { + #ifdef RGFW_EGL + eglSwapBuffers(win->src.EGL_display, win->src.EGL_surface); + #elif defined(RGFW_OPENGL) + #if defined(RGFW_X11) && defined(RGFW_OPENGL) + glXSwapBuffers((Display*) win->src.display, (Window) win->src.window); + #elif defined(RGFW_WINDOWS) + SwapBuffers(win->src.hdc); + #elif defined(RGFW_MACOS) + NSOpenGLContext_flushBuffer(win->src.rSurf); + #endif + #endif -#ifdef RGFW_OPENGL -#ifdef RGFW_EGL - eglSwapBuffers(win->src.EGL_display, win->src.EGL_surface); -#else -#if defined(RGFW_X11) && defined(RGFW_OPENGL) - glXSwapBuffers((Display*) win->src.display, (Window) win->src.window); -#endif -#ifdef RGFW_WINDOWS - SwapBuffers(win->src.hdc); -#endif -#if defined(RGFW_MACOS) - NSOpenGLContext_flushBuffer(win->src.rSurf); -#endif -#endif -#endif + #if defined(RGFW_WINDOWS) && defined(RGFW_DIRECTX) + win->src.swapchain->lpVtbl->Present(win->src.swapchain, 0, 0); + #endif + } -#if defined(RGFW_WINDOWS) && defined(RGFW_DIRECTX) - win->src.swapchain->lpVtbl->Present(win->src.swapchain, 0, 0); -#endif + RGFW_window_checkFPS(win); } void RGFW_window_maximize(RGFW_window* win) { @@ -6072,11 +6324,11 @@ static HMODULE wglinstance = NULL; #endif } - void RGFW_sleep(u32 ms) { + void RGFW_sleep(u64 ms) { #ifndef RGFW_WINDOWS struct timespec time; time.tv_sec = 0; - time.tv_nsec = ms * 1000; + time.tv_nsec = ms * 1e+6; nanosleep(&time, NULL); #else @@ -6084,32 +6336,31 @@ static HMODULE wglinstance = NULL; #endif } - static float currentFrameTime = 0; - void RGFW_window_checkFPS(RGFW_window* win) { - assert(win != NULL); + u64 deltaTime = RGFW_getTimeNS() - win->event.frameTime; - win->event.fps = RGFW_getFPS(); + u64 fps = round(1e+9 / deltaTime); + win->event.fps = fps; - if (win->fpsCap == 0) - return; + if (win->fpsCap && fps > win->fpsCap) { + u64 frameTimeNS = 1e+9 / win->fpsCap; + u64 sleepTimeMS = (frameTimeNS - deltaTime) / 1e6; - double targetFrameTime = 1.0 / win->fpsCap; - double elapsedTime = RGFW_getTime() - currentFrameTime; - - if (elapsedTime < targetFrameTime) { - u32 sleepTime = (u32) ((targetFrameTime - elapsedTime) * 1e3); - RGFW_sleep(sleepTime); + if (sleepTimeMS > 0) { + RGFW_sleep(sleepTimeMS); + win->event.frameTime = 0; + } } - currentFrameTime = (float) RGFW_getTime(); + win->event.frameTime = RGFW_getTimeNS(); + + if (win->fpsCap) { + u64 deltaTime = RGFW_getTimeNS() - win->event.frameTime2; - if (elapsedTime < targetFrameTime) { - u32 sleepTime = (u32) ((targetFrameTime - elapsedTime) * 1e3); - RGFW_sleep(sleepTime); + win->event.fps = round(1e+9 / deltaTime); + + win->event.frameTime2 = RGFW_getTimeNS(); } - - currentFrameTime = (float) RGFW_getTime(); } #ifdef __APPLE__ @@ -6127,7 +6378,7 @@ static HMODULE wglinstance = NULL; return (u64) (counter.QuadPart * 1e9 / frequency.QuadPart); #elif defined(__unix__) struct timespec ts = { 0 }; - clock_gettime(CLOCK_MONOTONIC, &ts); + clock_gettime(1, &ts); unsigned long long int nanoSeconds = (unsigned long long int)ts.tv_sec*1000000000LLU + (unsigned long long int)ts.tv_nsec; return nanoSeconds; @@ -6151,7 +6402,7 @@ static HMODULE wglinstance = NULL; return (u64) (counter.QuadPart / (double) frequency.QuadPart); #elif defined(__unix__) struct timespec ts = { 0 }; - clock_gettime(CLOCK_MONOTONIC, &ts); + clock_gettime(1, &ts); unsigned long long int nanoSeconds = (unsigned long long int)ts.tv_sec*1000000000LLU + (unsigned long long int)ts.tv_nsec; return (double)(nanoSeconds) * 1e-9; @@ -6165,27 +6416,6 @@ static HMODULE wglinstance = NULL; return 0; } - u32 RGFW_getFPS(void) { - static double previousSeconds = 0.0; - if (previousSeconds == 0.0) - previousSeconds = (double) RGFW_getTime();//glfwGetTime(); - - static i16 frameCount; - double currentSeconds = (double) RGFW_getTime();//glfwGetTime(); - double elapsedSeconds = currentSeconds - previousSeconds; - static double fps = 0; - - if (elapsedSeconds > 0.25) { - previousSeconds = currentSeconds; - fps = (double) frameCount / elapsedSeconds; - frameCount = 0; - } - - frameCount++; - - return (u32) fps; - } - #endif /*RGFW_IMPLEMENTATION*/ #define RGFW_Escape RGFW_OS_BASED_VALUE(0xff1b, 0x1B, 53) diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c index 623dc0e76..f4e317497 100644 --- a/src/platforms/rcore_desktop_rgfw.c +++ b/src/platforms/rcore_desktop_rgfw.c @@ -431,7 +431,11 @@ void SetWindowFocused(void) // Get native window handle void *GetWindowHandle(void) { - return platform.window->src.window; + #ifndef RGFW_WINDOWS + return (void*)platform.window->src.window; + #else + return platform.window->src.hwnd; + #endif } // Get number of monitors @@ -890,8 +894,6 @@ void PollInputEvents(void) CORE.Input.Mouse.currentPosition.x = (event->point.x - (platform.window->r.w / 2)) * 2; CORE.Input.Mouse.currentPosition.y = (event->point.y - (platform.window->r.h / 2)) * 2; - - RGFW_window_showMouse(platform.window, 1); } else { CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; From 6b3c1148bfbcd354dc7e6c825fb1e452c6e0fbfd Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Jun 2024 13:16:18 +0200 Subject: [PATCH 333/745] REVIEWED: Animation name being NULL #4037 --- src/rmodels.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 57059a017..14cfc64aa 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5772,8 +5772,11 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo animDuration = (t > animDuration)? t : animDuration; } - strncpy(animations[i].name, animData.name, sizeof(animations[i].name)); - animations[i].name[sizeof(animations[i].name) - 1] = '\0'; + if (animData.name != NULL) + { + strncpy(animations[i].name, animData.name, sizeof(animations[i].name)); + animations[i].name[sizeof(animations[i].name) - 1] = '\0'; + } animations[i].frameCount = (int)(animDuration*1000.0f/GLTF_ANIMDELAY) + 1; animations[i].framePoses = RL_MALLOC(animations[i].frameCount*sizeof(Transform *)); @@ -5823,7 +5826,7 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo BuildPoseFromParentJoints(animations[i].bones, animations[i].boneCount, animations[i].framePoses[j]); } - TRACELOG(LOG_INFO, "MODEL: [%s] Loaded animation: %s (%d frames, %fs)", fileName, animData.name, animations[i].frameCount, animDuration); + TRACELOG(LOG_INFO, "MODEL: [%s] Loaded animation: %s (%d frames, %fs)", fileName, (animData.name != NULL)? animData.name : "NULL", animations[i].frameCount, animDuration); RL_FREE(boneChannels); } } From 8cbde7f84c345b9c8ae9d226ed9ba315f14658b4 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Jun 2024 13:16:29 +0200 Subject: [PATCH 334/745] tweaks --- src/rcore.c | 2 +- src/rtext.c | 19 +++++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 3aa5a7a65..a4fc4d675 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -2251,7 +2251,7 @@ bool IsFileNameValid(const char *fileName) if ((fileName != NULL) && (fileName[0] != '\0')) { - int length = strlen(fileName); + int length = (int)strlen(fileName); bool allPeriods = true; for (int i = 0; i < length; i++) diff --git a/src/rtext.c b/src/rtext.c index 118a559d6..6ad0f90a0 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1807,10 +1807,7 @@ const char *TextToSnake(const char *text) } buffer[i] = text[j] + 32; } - else - { - buffer[i] = text[j]; - } + else buffer[i] = text[j]; } } @@ -1827,23 +1824,17 @@ const char *TextToCamel(const char *text) if (text != NULL) { // Lower case first character - if ((text[0] >= 'A') && (text[0] <= 'Z')) - buffer[0] = text[0] + 32; - else - buffer[0] = text[0]; + if ((text[0] >= 'A') && (text[0] <= 'Z')) buffer[0] = text[0] + 32; + else buffer[0] = text[0]; // Check for next separator to upper case another character for (int i = 1, j = 1; (i < MAX_TEXT_BUFFER_LENGTH - 1) && (text[j] != '\0'); i++, j++) { - if (text[j] != '_') - buffer[i] = text[j]; + if (text[j] != '_') buffer[i] = text[j]; else { j++; - if ((text[j] >= 'a') && (text[j] <= 'z')) - { - buffer[i] = text[j] - 32; - } + if ((text[j] >= 'a') && (text[j] <= 'z')) buffer[i] = text[j] - 32; } } } From a0a81fddee9365657015b300ed1b892db74acff5 Mon Sep 17 00:00:00 2001 From: carverdamien Date: Sun, 9 Jun 2024 13:29:09 +0200 Subject: [PATCH 335/745] Make addRaylib use options.opengl_version (#4049) --- src/build.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/build.zig b/src/build.zig index 51a8ab7b0..35622a462 100644 --- a/src/build.zig +++ b/src/build.zig @@ -22,6 +22,7 @@ pub fn addRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. .platform_drm = options.platform_drm, .shared = options.shared, .linux_display_backend = options.linux_display_backend, + .opengl_version = options.opengl_version, }); const raylib = raylib_dep.artifact("raylib"); From 29ac31f40980d48087db36072693e62743c96ce1 Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Sun, 9 Jun 2024 18:03:05 +0200 Subject: [PATCH 336/745] Removed Raylib.NET (#4050) --- BINDINGS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index 9ec8c3c3c..d24bf67c7 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -13,7 +13,6 @@ Some people ported raylib to other languages in the form of bindings or wrappers | [Raylib-CsLo](https://github.com/NotNotTech/Raylib-CsLo) | 4.2 | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | | [Raylib-CSharp-Vinculum](https://github.com/ZeroElectric/Raylib-CSharp-Vinculum) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MPL-2.0 | | [Raylib-CSharp](https://github.com/MrScautHD/Raylib-CSharp) | **5.1-dev** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | -| [Raylib.NET](https://github.com/Odex64/Raylib.NET) | **5.0** | [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) | MIT | | [cl-raylib](https://github.com/longlene/cl-raylib) | 4.0 | [Common Lisp](https://common-lisp.net) | MIT | | [claylib/wrap](https://github.com/defun-games/claylib) | 4.5 | [Common Lisp](https://common-lisp.net) | Zlib | | [claw-raylib](https://github.com/bohonghuang/claw-raylib) | **auto** | [Common Lisp](https://common-lisp.net) | Apache-2.0 | From c636618d777053d1a2b968c1aa76e8e06190f29e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1zaro=20Albuquerque?= <33807434+lzralbu@users.noreply.github.com> Date: Mon, 10 Jun 2024 14:50:09 -0400 Subject: [PATCH 337/745] Update Makefile (#4054) Since the flag CUSTOM_CFLAGS should allow users customize things, in particular the optimization level, I figured it should come after other default ones. Based on: "If you use multiple -O options, with or without level numbers, the last such option is the one that is effective." Source: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html --- src/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 23742565d..19251b956 100644 --- a/src/Makefile +++ b/src/Makefile @@ -316,7 +316,7 @@ endif # -D_GNU_SOURCE access to lots of nonstandard GNU/Linux extension functions # -Werror=pointer-arith catch unportable code that does direct arithmetic on void pointers # -fno-strict-aliasing jar_xm.h does shady stuff (breaks strict aliasing) -CFLAGS = -Wall -D_GNU_SOURCE -D$(PLATFORM) -D$(GRAPHICS) -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing $(CUSTOM_CFLAGS) +CFLAGS = -Wall -D_GNU_SOURCE -D$(PLATFORM) -D$(GRAPHICS) -Wno-missing-braces -Werror=pointer-arith -fno-strict-aliasing ifneq ($(RAYLIB_CONFIG_FLAGS), NONE) CFLAGS += -DEXTERNAL_CONFIG_FLAGS $(RAYLIB_CONFIG_FLAGS) @@ -449,6 +449,8 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif +CFLAGS += $(CUSTOM_CFLAGS) + # Define include paths for required headers: INCLUDE_PATHS # NOTE: Several external required libraries (stb and others) #------------------------------------------------------------------------------------------------ From 0fc4b619065291a06787fe38388d1318f7ecfc12 Mon Sep 17 00:00:00 2001 From: VitoTringolo Date: Tue, 11 Jun 2024 11:50:42 +0200 Subject: [PATCH 338/745] LoadBoneInfoGLTF add check for animation name being NULL (#4053) Co-authored-by: Vito Tringolo --- src/rmodels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 14cfc64aa..1ee27602d 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4864,7 +4864,7 @@ static BoneInfo *LoadBoneInfoGLTF(cgltf_skin skin, int *boneCount) for (unsigned int i = 0; i < skin.joints_count; i++) { cgltf_node node = *skin.joints[i]; - strncpy(bones[i].name, node.name, sizeof(bones[i].name)); + if (node.name != NULL) strncpy(bones[i].name, node.name, sizeof(bones[i].name)); // Find parent bone index unsigned int parentIndex = -1; From 2609211207419ceab2e00113b4a442bfdab434d3 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Tue, 11 Jun 2024 02:51:49 -0700 Subject: [PATCH 339/745] [SHAPES] Make functions that draw point arrays take them as const (#4051) * Update raylib_api.* by CI * make functions that take a pointer to an array take them as const pointers * Update raylib_api.* by CI * fix comment alignment. --------- Co-authored-by: github-actions[bot] --- parser/output/raylib_api.json | 20 ++++++++++---------- parser/output/raylib_api.lua | 20 ++++++++++---------- parser/output/raylib_api.txt | 20 ++++++++++---------- parser/output/raylib_api.xml | 20 ++++++++++---------- src/raylib.h | 22 +++++++++++----------- src/rmodels.c | 2 +- src/rshapes.c | 18 +++++++++--------- 7 files changed, 61 insertions(+), 61 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 961578e53..1a38c03ab 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -5345,7 +5345,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6022,7 +6022,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6041,7 +6041,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6145,7 +6145,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6168,7 +6168,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6191,7 +6191,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6214,7 +6214,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6237,7 +6237,7 @@ "returnType": "void", "params": [ { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -6644,7 +6644,7 @@ "name": "point" }, { - "type": "Vector2 *", + "type": "const Vector2 *", "name": "points" }, { @@ -9613,7 +9613,7 @@ "returnType": "void", "params": [ { - "type": "Vector3 *", + "type": "const Vector3 *", "name": "points" }, { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index eb88daab9..3dec7f371 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -4636,7 +4636,7 @@ return { description = "Draw lines sequence (using gl lines)", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "Color", name = "color"} } @@ -4947,7 +4947,7 @@ return { description = "Draw a triangle fan defined by points (first vertex is the center)", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "Color", name = "color"} } @@ -4957,7 +4957,7 @@ return { description = "Draw a triangle strip defined by points", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "Color", name = "color"} } @@ -5004,7 +5004,7 @@ return { description = "Draw spline: Linear, minimum 2 points", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "float", name = "thick"}, {type = "Color", name = "color"} @@ -5015,7 +5015,7 @@ return { description = "Draw spline: B-Spline, minimum 4 points", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "float", name = "thick"}, {type = "Color", name = "color"} @@ -5026,7 +5026,7 @@ return { description = "Draw spline: Catmull-Rom, minimum 4 points", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "float", name = "thick"}, {type = "Color", name = "color"} @@ -5037,7 +5037,7 @@ return { description = "Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "float", name = "thick"}, {type = "Color", name = "color"} @@ -5048,7 +5048,7 @@ return { description = "Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]", returnType = "void", params = { - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "float", name = "thick"}, {type = "Color", name = "color"} @@ -5239,7 +5239,7 @@ return { returnType = "bool", params = { {type = "Vector2", name = "point"}, - {type = "Vector2 *", name = "points"}, + {type = "const Vector2 *", name = "points"}, {type = "int", name = "pointCount"} } }, @@ -6855,7 +6855,7 @@ return { description = "Draw a triangle strip defined by points", returnType = "void", params = { - {type = "Vector3 *", name = "points"}, + {type = "const Vector3 *", name = "points"}, {type = "int", name = "pointCount"}, {type = "Color", name = "color"} } diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 66880130e..2a33a995f 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -2130,7 +2130,7 @@ Function 212: DrawLineStrip() (3 input parameters) Name: DrawLineStrip Return type: void Description: Draw lines sequence (using gl lines) - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) Function 213: DrawLineBezier() (4 input parameters) @@ -2360,14 +2360,14 @@ Function 239: DrawTriangleFan() (3 input parameters) Name: DrawTriangleFan Return type: void Description: Draw a triangle fan defined by points (first vertex is the center) - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) Function 240: DrawTriangleStrip() (3 input parameters) Name: DrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) Function 241: DrawPoly() (5 input parameters) @@ -2402,7 +2402,7 @@ Function 244: DrawSplineLinear() (4 input parameters) Name: DrawSplineLinear Return type: void Description: Draw spline: Linear, minimum 2 points - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) @@ -2410,7 +2410,7 @@ Function 245: DrawSplineBasis() (4 input parameters) Name: DrawSplineBasis Return type: void Description: Draw spline: B-Spline, minimum 4 points - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) @@ -2418,7 +2418,7 @@ Function 246: DrawSplineCatmullRom() (4 input parameters) Name: DrawSplineCatmullRom Return type: void Description: Draw spline: Catmull-Rom, minimum 4 points - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) @@ -2426,7 +2426,7 @@ Function 247: DrawSplineBezierQuadratic() (4 input parameters) Name: DrawSplineBezierQuadratic Return type: void Description: Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) @@ -2434,7 +2434,7 @@ Function 248: DrawSplineBezierCubic() (4 input parameters) Name: DrawSplineBezierCubic Return type: void Description: Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] - Param[1]: points (type: Vector2 *) + Param[1]: points (type: const Vector2 *) Param[2]: pointCount (type: int) Param[3]: thick (type: float) Param[4]: color (type: Color) @@ -2574,7 +2574,7 @@ Function 265: CheckCollisionPointPoly() (3 input parameters) Return type: bool Description: Check if point is within a polygon described by array of vertices Param[1]: point (type: Vector2) - Param[2]: points (type: Vector2 *) + Param[2]: points (type: const Vector2 *) Param[3]: pointCount (type: int) Function 266: CheckCollisionLines() (5 input parameters) Name: CheckCollisionLines @@ -3695,7 +3695,7 @@ Function 432: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points - Param[1]: points (type: Vector3 *) + Param[1]: points (type: const Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) Function 433: DrawCube() (5 input parameters) diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 0e096d5a2..130f22f75 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -1317,7 +1317,7 @@ - + @@ -1493,12 +1493,12 @@ - + - + @@ -1525,31 +1525,31 @@ - + - + - + - + - + @@ -1655,7 +1655,7 @@ - + @@ -2440,7 +2440,7 @@ - + diff --git a/src/raylib.h b/src/raylib.h index c61285641..b1da83cb8 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1233,7 +1233,7 @@ RLAPI void DrawPixelV(Vector2 position, Color color); RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (using gl lines) RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line (using triangles/quads) -RLAPI void DrawLineStrip(Vector2 *points, int pointCount, Color color); // Draw lines sequence (using gl lines) +RLAPI void DrawLineStrip(const Vector2 *points, int pointCount, Color color); // Draw lines sequence (using gl lines) RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw line segment cubic-bezier in-out interpolation RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle RLAPI void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color); // Draw a piece of a circle @@ -1260,18 +1260,18 @@ RLAPI void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segment RLAPI void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float lineThick, Color color); // Draw rectangle with rounded edges outline RLAPI void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) RLAPI void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline (vertex in counter-clockwise order!) -RLAPI void DrawTriangleFan(Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) -RLAPI void DrawTriangleStrip(Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points +RLAPI void DrawTriangleFan(const Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points (first vertex is the center) +RLAPI void DrawTriangleStrip(const Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points RLAPI void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a regular polygon (Vector version) RLAPI void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color); // Draw a polygon outline of n sides RLAPI void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color); // Draw a polygon outline of n sides with extended parameters // Splines drawing functions -RLAPI void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points -RLAPI void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points -RLAPI void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points -RLAPI void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] -RLAPI void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] +RLAPI void DrawSplineLinear(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Linear, minimum 2 points +RLAPI void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: B-Spline, minimum 4 points +RLAPI void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Catmull-Rom, minimum 4 points +RLAPI void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] +RLAPI void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color); // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] RLAPI void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color); // Draw spline segment: Linear, 2 points RLAPI void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: B-Spline, 4 points RLAPI void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color); // Draw spline segment: Catmull-Rom, 4 points @@ -1292,7 +1292,7 @@ RLAPI bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec); RLAPI bool CheckCollisionPointRec(Vector2 point, Rectangle rec); // Check if point is inside rectangle RLAPI bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius); // Check if point is inside circle RLAPI bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3); // Check if point is inside a triangle -RLAPI bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount); // Check if point is within a polygon described by array of vertices +RLAPI bool CheckCollisionPointPoly(Vector2 point, const Vector2 *points, int pointCount); // Check if point is within a polygon described by array of vertices RLAPI bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint); // Check the collision between two lines defined by two points each, returns collision point by reference RLAPI bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold); // Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] RLAPI bool CheckCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2); // Check if circle collides with a line created betweeen two points [p1] and [p2] @@ -1342,7 +1342,7 @@ RLAPI void ImageAlphaClear(Image *image, Color color, float threshold); RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image RLAPI void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel RLAPI void ImageBlurGaussian(Image *image, int blurSize); // Apply Gaussian blur using a box blur approximation -RLAPI void ImageKernelConvolution(Image *image, float* kernel, int kernelSize); // Apply Custom Square image convolution kernel +RLAPI void ImageKernelConvolution(Image *image, float* kernel, int kernelSize); // Apply Custom Square image convolution kernel RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color @@ -1504,7 +1504,7 @@ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color); RLAPI void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space RLAPI void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!) -RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points +RLAPI void DrawTriangleStrip3D(const Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version) RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires diff --git a/src/rmodels.c b/src/rmodels.c index 1ee27602d..5a6c6414c 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -226,7 +226,7 @@ void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color) } // Draw a triangle strip defined by points -void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color) +void DrawTriangleStrip3D(const Vector3 *points, int pointCount, Color color) { if (pointCount < 3) return; // Security check diff --git a/src/rshapes.c b/src/rshapes.c index cb85c1c54..058c96863 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -196,7 +196,7 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) } // Draw lines sequuence (using gl lines) -void DrawLineStrip(Vector2 *points, int pointCount, Color color) +void DrawLineStrip(const Vector2 *points, int pointCount, Color color) { if (pointCount < 2) return; // Security check @@ -1385,7 +1385,7 @@ void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color) // Draw a triangle fan defined by points // NOTE: First vertex provided is the center, shared by all triangles // By default, following vertex should be provided in counter-clockwise order -void DrawTriangleFan(Vector2 *points, int pointCount, Color color) +void DrawTriangleFan(const Vector2 *points, int pointCount, Color color) { if (pointCount >= 3) { @@ -1416,7 +1416,7 @@ void DrawTriangleFan(Vector2 *points, int pointCount, Color color) // Draw a triangle strip defined by points // NOTE: Every new vertex connects with previous two -void DrawTriangleStrip(Vector2 *points, int pointCount, Color color) +void DrawTriangleStrip(const Vector2 *points, int pointCount, Color color) { if (pointCount >= 3) { @@ -1570,7 +1570,7 @@ void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, fl //---------------------------------------------------------------------------------- // Draw spline: linear, minimum 2 points -void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineLinear(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 2) return; @@ -1687,7 +1687,7 @@ void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) } // Draw spline: B-Spline, minimum 4 points -void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 4) return; @@ -1763,7 +1763,7 @@ void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color) } // Draw spline: Catmull-Rom, minimum 4 points -void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 4) return; @@ -1829,7 +1829,7 @@ void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color co } // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] -void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 3) return; @@ -1840,7 +1840,7 @@ void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Col } // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] -void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 4) return; @@ -2195,7 +2195,7 @@ bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 // Check if point is within a polygon described by array of vertices // NOTE: Based on http://jeffreythompson.org/collision-detection/poly-point.php -bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount) +bool CheckCollisionPointPoly(Vector2 point, const Vector2 *points, int pointCount) { bool inside = false; From fffae1a975dbfff8e6c8ee37c989f5256debc90f Mon Sep 17 00:00:00 2001 From: Karl Zylinski Date: Tue, 11 Jun 2024 20:55:13 +0200 Subject: [PATCH 340/745] Fix fragPosition using wrong matrix in lighting_instancing.vs (#4056) fragPosition was multiplied by mvp*instanceTransform, but it should only be multiplied by instanceTransform. Compare to lighting.vs, there we only use mvp for gl_Position, but matModel for the fragPosition. --- .../resources/shaders/glsl330/lighting_instancing.vs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/shaders/resources/shaders/glsl330/lighting_instancing.vs b/examples/shaders/resources/shaders/glsl330/lighting_instancing.vs index 6775a2eb6..3e4da1e28 100644 --- a/examples/shaders/resources/shaders/glsl330/lighting_instancing.vs +++ b/examples/shaders/resources/shaders/glsl330/lighting_instancing.vs @@ -22,15 +22,12 @@ out vec3 fragNormal; void main() { - // Compute MVP for current instance - mat4 mvpi = mvp*instanceTransform; - // Send vertex attributes to fragment shader - fragPosition = vec3(mvpi*vec4(vertexPosition, 1.0)); + fragPosition = vec3(instanceTransform*vec4(vertexPosition, 1.0)); fragTexCoord = vertexTexCoord; //fragColor = vertexColor; fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); - // Calculate final vertex position - gl_Position = mvpi*vec4(vertexPosition, 1.0); + // Calculate final vertex position, note that we multiply mvp by instanceTransform + gl_Position = mvp*instanceTransform*vec4(vertexPosition, 1.0); } From 33c598123c4b6ef78ff2ac3dcc1094da4dd6efef Mon Sep 17 00:00:00 2001 From: Alexey Kutepov Date: Wed, 12 Jun 2024 16:42:41 +0700 Subject: [PATCH 341/745] [raudio] Add 24 bits samples support for FLAC format (#4058) Similarly to how it's done for WAV format, by forcing the conversion to s16 on UpdateMusicStream(). --- src/raudio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/raudio.c b/src/raudio.c index c6bd00165..177bdb5aa 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1428,7 +1428,9 @@ Music LoadMusicStream(const char *fileName) { music.ctxType = MUSIC_AUDIO_FLAC; music.ctxData = ctxFlac; - music.stream = LoadAudioStream(ctxFlac->sampleRate, ctxFlac->bitsPerSample, ctxFlac->channels); + int sampleSize = ctxFlac->bitsPerSample; + if (ctxFlac->bitsPerSample == 24) sampleSize = 16; // Forcing conversion to s16 on UpdateMusicStream() + music.stream = LoadAudioStream(ctxFlac->sampleRate, sampleSize, ctxFlac->channels); music.frameCount = (unsigned int)ctxFlac->totalPCMFrameCount; music.looping = true; // Looping enabled by default musicLoaded = true; From 735c0160b5cc5fa2a2cdd60843d61afa25551991 Mon Sep 17 00:00:00 2001 From: TokyoSU <77746747+TokyoSU@users.noreply.github.com> Date: Wed, 12 Jun 2024 19:36:25 +0200 Subject: [PATCH 342/745] Update rlgl.h (#4059) - The function rlGetMatrixProjectionStereo and rlGetMatrixViewOffsetStereo have RLAPI for the function declaration and cause error when compiling using RLGL_IMPLEMENTATION. --- src/rlgl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rlgl.h b/src/rlgl.h index 2f6a03b8a..530e44efc 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -4518,7 +4518,7 @@ Matrix rlGetMatrixTransform(void) } // Get internal projection matrix for stereo render (selected eye) -RLAPI Matrix rlGetMatrixProjectionStereo(int eye) +Matrix rlGetMatrixProjectionStereo(int eye) { Matrix mat = rlMatrixIdentity(); #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) @@ -4528,7 +4528,7 @@ RLAPI Matrix rlGetMatrixProjectionStereo(int eye) } // Get internal view offset matrix for stereo render (selected eye) -RLAPI Matrix rlGetMatrixViewOffsetStereo(int eye) +Matrix rlGetMatrixViewOffsetStereo(int eye) { Matrix mat = rlMatrixIdentity(); #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) From df849d2fb0c7df6a818f2f79dd8343565dd1274c Mon Sep 17 00:00:00 2001 From: listeria <56203103+ListeriaM@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:05:22 -0300 Subject: [PATCH 343/745] [raudio] fix mapping of wave data in LoadWaveSamples() (#4062) Co-authored-by: Listeria monocytogenes --- src/raudio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/raudio.c b/src/raudio.c index 177bdb5aa..623984e1d 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -1304,8 +1304,8 @@ float *LoadWaveSamples(Wave wave) for (unsigned int i = 0; i < wave.frameCount*wave.channels; i++) { - if (wave.sampleSize == 8) samples[i] = (float)(((unsigned char *)wave.data)[i] - 127)/256.0f; - else if (wave.sampleSize == 16) samples[i] = (float)(((short *)wave.data)[i])/32767.0f; + if (wave.sampleSize == 8) samples[i] = (float)(((unsigned char *)wave.data)[i] - 128)/128.0f; + else if (wave.sampleSize == 16) samples[i] = (float)(((short *)wave.data)[i])/32768.0f; else if (wave.sampleSize == 32) samples[i] = ((float *)wave.data)[i]; } From fca53c77996ab0b723dd4ee5235671cba9274ca7 Mon Sep 17 00:00:00 2001 From: kai-z99 <147789796+kai-z99@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:19:17 -0700 Subject: [PATCH 344/745] optimize (#4065) --- src/rshapes.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index 058c96863..e9a84834e 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -2233,9 +2233,10 @@ bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, floa float dx = center2.x - center1.x; // X distance between centers float dy = center2.y - center1.y; // Y distance between centers - float distance = sqrtf(dx*dx + dy*dy); // Distance between centers + float distanceSquared = dx * dx + dy * dy; // Distance between centers squared + float radiusSum = radius1 + radius2; - if (distance <= (radius1 + radius2)) collision = true; + collision = (distanceSquared <= (radiusSum * radiusSum)); return collision; } From b4fbdc028302f9a697f196e8d02a7dca28912f59 Mon Sep 17 00:00:00 2001 From: ShalokShalom Date: Fri, 14 Jun 2024 22:46:50 +0200 Subject: [PATCH 345/745] Update Julia Bindings (#4068) --- BINDINGS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BINDINGS.md b/BINDINGS.md index d24bf67c7..22b740588 100644 --- a/BINDINGS.md +++ b/BINDINGS.md @@ -36,7 +36,7 @@ Some people ported raylib to other languages in the form of bindings or wrappers | [jaylib](https://github.com/janet-lang/jaylib) | **5.0** | [Janet](https://janet-lang.org) | MIT | | [jaylib](https://github.com/electronstudio/jaylib/) | 4.5 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | GPLv3+CE | | [raylib-j](https://github.com/CreedVI/Raylib-J) | 4.0 | [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) | Zlib | -| [raylib.jl](https://github.com/irishgreencitrus/raylib.jl) | 4.2 | [Julia](https://julialang.org) | Zlib | +| [Raylib.jl](https://github.com/chengchingwen/Raylib.jl) | 4.2 | [Julia](https://julialang.org) | Zlib | | [kaylib](https://github.com/electronstudio/kaylib) | 3.7 | [Kotlin/native](https://kotlinlang.org) | **???** | | [KaylibKit](https://codeberg.org/Kenta/KaylibKit) | 4.5 | [Kotlin/native](https://kotlinlang.org) | Zlib | | [raylib-lua](https://github.com/TSnake41/raylib-lua) | 4.5 | [Lua](http://www.lua.org) | ISC | From eff7b065eba17725ddc3c16aef16eb8eeca1d888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Poceduli=C4=87?= <58425080+okvik@users.noreply.github.com> Date: Sun, 16 Jun 2024 09:37:45 +0200 Subject: [PATCH 346/745] [build.zig] Fix raygui build when using addRaygui externally (#4027) When addRaygui is used from an external build, for example in a bindings project, the build of a generated `raygui.c` fails with "raylib.h not found" error from the compiler. I've traced this down to a raylib step not adding its `src/` to the shared list of include paths using `addIncludePath` but relying on `addCSourceFiles` `.root` to provide the implicit include path for raylib proper's own files. If raygui is later added to the step the compiler won't know where to look for `raylib.h` and friends and will fail to build. This change simply adds raylib's `src/` to the include path list. --- src/build.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/build.zig b/src/build.zig index 35622a462..81d4a7662 100644 --- a/src/build.zig +++ b/src/build.zig @@ -217,6 +217,7 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std. }, } + raylib.addIncludePath(b.path("src")); raylib.root_module.addCSourceFiles(.{ .root = b.path("src"), .files = c_source_files.items, From 81ff879b047186e1453cb682c70782c0bd338f2a Mon Sep 17 00:00:00 2001 From: Mike Will Date: Sun, 16 Jun 2024 03:38:54 -0400 Subject: [PATCH 347/745] zig: run examples from their directories (#4063) So that they can find their respective resource folders. --- examples/build.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/build.zig b/examples/build.zig index 5a17382ca..df0cdf8c1 100644 --- a/examples/build.zig +++ b/examples/build.zig @@ -75,6 +75,7 @@ fn add_module(comptime module: []const u8, b: *std.Build, target: std.Build.Reso const install_cmd = b.addInstallArtifact(exe, .{}); const run_cmd = b.addRunArtifact(exe); + run_cmd.cwd = b.path(module); run_cmd.step.dependOn(&install_cmd.step); const run_step = b.step(name, name); From 640eaca8bf1d2b49a6a730c274b94a96c3a87146 Mon Sep 17 00:00:00 2001 From: Santiago Pelufo Date: Sun, 16 Jun 2024 05:21:54 -0300 Subject: [PATCH 348/745] [rshapes] Fix multisegment Bezier splines. (#3744) * [rshapes] Fix multisegment Bezier splines. It seems to me that these functions are wrong, if you step the index by 1 you move to a control point instead of the next segment. * Fix example shapes/shapes_splines_drawing for bezier splines. * Draw circles to fill gaps between bezier segments. --- examples/shapes/shapes_splines_drawing.c | 21 +++++++++++++++++---- src/rshapes.c | 14 ++++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/examples/shapes/shapes_splines_drawing.c b/examples/shapes/shapes_splines_drawing.c index 8df5f09f4..0d5693eb2 100644 --- a/examples/shapes/shapes_splines_drawing.c +++ b/examples/shapes/shapes_splines_drawing.c @@ -63,7 +63,7 @@ int main(void) Vector2 *focusedControlPoint = NULL; // Cubic Bezier control points initialization - ControlPoint control[MAX_SPLINE_POINTS] = { 0 }; + ControlPoint control[MAX_SPLINE_POINTS-1] = { 0 }; for (int i = 0; i < pointCount - 1; i++) { control[i].start = (Vector2){ points[i].x + 50, points[i].y }; @@ -88,6 +88,9 @@ int main(void) if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON) && (pointCount < MAX_SPLINE_POINTS)) { points[pointCount] = GetMousePosition(); + int i = pointCount - 1; + control[i].start = (Vector2){ points[i].x + 50, points[i].y }; + control[i].end = (Vector2){ points[i + 1].x - 50, points[i + 1].y }; pointCount++; } @@ -114,7 +117,7 @@ int main(void) if ((splineTypeActive == SPLINE_BEZIER) && (focusedPoint == -1)) { // Spline control point focus and selection logic - for (int i = 0; i < pointCount; i++) + for (int i = 0; i < pointCount - 1; i++) { if (CheckCollisionPointCircle(GetMousePosition(), control[i].start, 6.0f)) { @@ -186,10 +189,20 @@ int main(void) else if (splineTypeActive == SPLINE_BEZIER) { // Draw spline: cubic-bezier (with control points) + + Vector2 fullPoints[3*(MAX_SPLINE_POINTS-1)+1] = {0}; + for (int i = 0; i < pointCount-1; i++) { + fullPoints[3*i] = points[i]; + fullPoints[3*i+1] = control[i].start; + fullPoints[3*i+2] = control[i].end; + } + fullPoints[3*(pointCount-1)] = points[pointCount-1], + DrawSplineBezierCubic(fullPoints, 3*(pointCount-1)+1, splineThickness, RED); + for (int i = 0; i < pointCount - 1; i++) { // Drawing individual segments, not considering thickness connection compensation - DrawSplineSegmentBezierCubic(points[i], control[i].start, control[i].end, points[i + 1], splineThickness, RED); + // DrawSplineSegmentBezierCubic(points[i], control[i].start, control[i].end, points[i + 1], splineThickness, RED); // Every cubic bezier point should have two control points DrawCircleV(control[i].start, 6, GOLD); @@ -244,4 +257,4 @@ int main(void) //-------------------------------------------------------------------------------------- return 0; -} \ No newline at end of file +} diff --git a/src/rshapes.c b/src/rshapes.c index e9a84834e..2c4a57d38 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -1832,8 +1832,11 @@ void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Co void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 3) return; - - for (int i = 0; i < pointCount - 2; i++) + for (int i = 2; i < pointCount - 2; i += 2) + { + DrawCircleV(points[i], thick/2.0f, color); + } + for (int i = 0; i < pointCount - 2; i += 2) { DrawSplineSegmentBezierQuadratic(points[i], points[i + 1], points[i + 2], thick, color); } @@ -1843,8 +1846,11 @@ void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thic void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color) { if (pointCount < 4) return; - - for (int i = 0; i < pointCount - 3; i++) + for (int i = 3; i < pointCount - 3; i += 3) + { + DrawCircleV(points[i], thick/2.0f, color); + } + for (int i = 0; i < pointCount - 3; i += 3) { DrawSplineSegmentBezierCubic(points[i], points[i + 1], points[i + 2], points[i + 3], thick, color); } From 4119b6dd660544bff9f6431fa04f162eacb612a3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 16 Jun 2024 10:23:38 +0200 Subject: [PATCH 349/745] Update raylib.h --- src/raylib.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index b1da83cb8..9f06462fb 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1141,7 +1141,7 @@ RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize // Automation events functionality RLAPI AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS -RLAPI void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file +RLAPI void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file RLAPI bool ExportAutomationEventList(AutomationEventList list, const char *fileName); // Export automation events list as text file RLAPI void SetAutomationEventList(AutomationEventList *list); // Set automation event list to record to RLAPI void SetAutomationEventBaseFrame(int frame); // Set automation event internal base frame to start recording @@ -1342,10 +1342,10 @@ RLAPI void ImageAlphaClear(Image *image, Color color, float threshold); RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image RLAPI void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel RLAPI void ImageBlurGaussian(Image *image, int blurSize); // Apply Gaussian blur using a box blur approximation -RLAPI void ImageKernelConvolution(Image *image, float* kernel, int kernelSize); // Apply Custom Square image convolution kernel +RLAPI void ImageKernelConvolution(Image *image, float *kernel, int kernelSize); // Apply Custom Square image convolution kernel RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) -RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color +RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color RLAPI void ImageMipmaps(Image *image); // Compute all mipmap levels for a provided image RLAPI void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp); // Dither image data to 16bpp or lower (Floyd-Steinberg dithering) RLAPI void ImageFlipVertical(Image *image); // Flip image vertically @@ -1436,7 +1436,7 @@ RLAPI int GetPixelDataSize(int width, int height, int format); // G // Font loading/unloading functions RLAPI Font GetFontDefault(void); // Get the default Font RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM) -RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount); // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set +RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount); // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style) RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf' RLAPI bool IsFontReady(Font font); // Check if a font is ready From 32c98717b159c3b34ab1e22a6bf99a8d70b4a9e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 16 Jun 2024 08:23:57 +0000 Subject: [PATCH 350/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 2 +- parser/output/raylib_api.lua | 2 +- parser/output/raylib_api.txt | 2 +- parser/output/raylib_api.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index 1a38c03ab..ad49b64a5 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -7359,7 +7359,7 @@ "name": "image" }, { - "type": "float*", + "type": "float *", "name": "kernel" }, { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 3dec7f371..2918b934c 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -5621,7 +5621,7 @@ return { returnType = "void", params = { {type = "Image *", name = "image"}, - {type = "float*", name = "kernel"}, + {type = "float *", name = "kernel"}, {type = "int", name = "kernelSize"} } }, diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 2a33a995f..ffcea1615 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -2842,7 +2842,7 @@ Function 304: ImageKernelConvolution() (3 input parameters) Return type: void Description: Apply Custom Square image convolution kernel Param[1]: image (type: Image *) - Param[2]: kernel (type: float*) + Param[2]: kernel (type: float *) Param[3]: kernelSize (type: int) Function 305: ImageResize() (3 input parameters) Name: ImageResize diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 130f22f75..58f7df806 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -1844,7 +1844,7 @@ - + From 715633e0de101cb1a2b7b322455e4eab047f5f15 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 16 Jun 2024 10:41:47 +0200 Subject: [PATCH 351/745] REVIEWED: Spline cubic bezier example --- examples/shapes/shapes_splines_drawing.c | 37 ++++++++++++++++-------- src/rshapes.c | 30 +++++++++---------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/examples/shapes/shapes_splines_drawing.c b/examples/shapes/shapes_splines_drawing.c index 0d5693eb2..7c099e7ef 100644 --- a/examples/shapes/shapes_splines_drawing.c +++ b/examples/shapes/shapes_splines_drawing.c @@ -56,6 +56,10 @@ int main(void) { 710.0f, 260.0f }, }; + // Array required for spline bezier-cubic, + // including control points interleaved with start-end segment points + Vector2 pointsInterleaved[3*(MAX_SPLINE_POINTS - 1) + 1] = { 0 }; + int pointCount = 5; int selectedPoint = -1; int focusedPoint = -1; @@ -188,23 +192,32 @@ int main(void) } else if (splineTypeActive == SPLINE_BEZIER) { - // Draw spline: cubic-bezier (with control points) - - Vector2 fullPoints[3*(MAX_SPLINE_POINTS-1)+1] = {0}; - for (int i = 0; i < pointCount-1; i++) { - fullPoints[3*i] = points[i]; - fullPoints[3*i+1] = control[i].start; - fullPoints[3*i+2] = control[i].end; + // NOTE: Cubic-bezier spline requires the 2 control points of each segnment to be + // provided interleaved with the start and end point of every segment + for (int i = 0; i < (pointCount - 1); i++) + { + pointsInterleaved[3*i] = points[i]; + pointsInterleaved[3*i + 1] = control[i].start; + pointsInterleaved[3*i + 2] = control[i].end; } - fullPoints[3*(pointCount-1)] = points[pointCount-1], - DrawSplineBezierCubic(fullPoints, 3*(pointCount-1)+1, splineThickness, RED); + + pointsInterleaved[3*(pointCount - 1)] = points[pointCount - 1]; - for (int i = 0; i < pointCount - 1; i++) + // Draw spline: cubic-bezier (with control points) + DrawSplineBezierCubic(pointsInterleaved, 3*(pointCount - 1) + 1, splineThickness, RED); + + /* + for (int i = 0; i < 3*(pointCount - 1); i += 3) { // Drawing individual segments, not considering thickness connection compensation - // DrawSplineSegmentBezierCubic(points[i], control[i].start, control[i].end, points[i + 1], splineThickness, RED); + DrawSplineSegmentBezierCubic(pointsInterleaved[i], pointsInterleaved[i + 1], pointsInterleaved[i + 2], pointsInterleaved[i + 3], splineThickness, MAROON); + } + */ - // Every cubic bezier point should have two control points + // Draw spline control points + for (int i = 0; i < pointCount - 1; i++) + { + // Every cubic bezier point have two control points DrawCircleV(control[i].start, 6, GOLD); DrawCircleV(control[i].end, 6, GOLD); if (focusedControlPoint == &control[i].start) DrawCircleV(control[i].start, 8, GREEN); diff --git a/src/rshapes.c b/src/rshapes.c index 2c4a57d38..95c54770e 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -1759,7 +1759,8 @@ void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color c DrawTriangleStrip(vertices, 2*SPLINE_SEGMENT_DIVISIONS + 2, color); } - DrawCircleV(currentPoint, thick/2.0f, color); // Draw end line circle-cap + // Cap circle drawing at the end of every segment + DrawCircleV(currentPoint, thick/2.0f, color); } // Draw spline: Catmull-Rom, minimum 4 points @@ -1825,34 +1826,31 @@ void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Co DrawTriangleStrip(vertices, 2*SPLINE_SEGMENT_DIVISIONS + 2, color); } - DrawCircleV(currentPoint, thick/2.0f, color); // Draw end line circle-cap + // Cap circle drawing at the end of every segment + DrawCircleV(currentPoint, thick/2.0f, color); } // Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color) { - if (pointCount < 3) return; - for (int i = 2; i < pointCount - 2; i += 2) + if (pointCount >= 3) { - DrawCircleV(points[i], thick/2.0f, color); - } - for (int i = 0; i < pointCount - 2; i += 2) - { - DrawSplineSegmentBezierQuadratic(points[i], points[i + 1], points[i + 2], thick, color); + for (int i = 0; i < pointCount - 2; i += 2) DrawSplineSegmentBezierQuadratic(points[i], points[i + 1], points[i + 2], thick, color); + + // Cap circle drawing at the end of every segment + //for (int i = 2; i < pointCount - 2; i += 2) DrawCircleV(points[i], thick/2.0f, color); } } // Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color) { - if (pointCount < 4) return; - for (int i = 3; i < pointCount - 3; i += 3) + if (pointCount >= 4) { - DrawCircleV(points[i], thick/2.0f, color); - } - for (int i = 0; i < pointCount - 3; i += 3) - { - DrawSplineSegmentBezierCubic(points[i], points[i + 1], points[i + 2], points[i + 3], thick, color); + for (int i = 0; i < pointCount - 3; i += 3) DrawSplineSegmentBezierCubic(points[i], points[i + 1], points[i + 2], points[i + 3], thick, color); + + // Cap circle drawing at the end of every segment + //for (int i = 3; i < pointCount - 3; i += 3) DrawCircleV(points[i], thick/2.0f, color); } } From cc40a91343b124abf87ab0ae2fae22abf1f9561b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1zaro=20Albuquerque?= <33807434+lzralbu@users.noreply.github.com> Date: Sun, 16 Jun 2024 04:42:50 -0400 Subject: [PATCH 352/745] [build] Fix some warnings on web builds and remove some redundant flags. (#4069) * update * Revert "update" This reverts commit e8adcabd94830be66938e12143c8fe23cdeab605. * update * remove a not stricly required flag --- cmake/LibraryConfigurations.cmake | 1 - examples/CMakeLists.txt | 5 ++--- src/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index 23a7ec2f0..f6dd4f314 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -59,7 +59,6 @@ if (${PLATFORM} MATCHES "Desktop") elseif (${PLATFORM} MATCHES "Web") set(PLATFORM_CPP "PLATFORM_WEB") set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 --profiling") set(CMAKE_STATIC_LIBRARY_SUFFIX ".a") elseif (${PLATFORM} MATCHES "Android") diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 28550eaec..64b6d7604 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -96,10 +96,9 @@ if (${PLATFORM} MATCHES "Android") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_basic_lighting.c) elseif (${PLATFORM} MATCHES "Web") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os") # Since WASM is used, ALLOW_MEMORY_GROWTH has no extra overheads - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s ALLOW_MEMORY_GROWTH=1 --no-heap-copy") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --shell-file ${CMAKE_SOURCE_DIR}/src/shell.html") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s WASM=1 -s ASYNCIFY -s ALLOW_MEMORY_GROWTH=1 --shell-file ${CMAKE_SOURCE_DIR}/src/shell.html") set(CMAKE_EXECUTABLE_SUFFIX ".html") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 387665705..bfb4b05b5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -69,7 +69,7 @@ else() endif() if (${PLATFORM} MATCHES "Web") - target_link_options(raylib PRIVATE "-sUSE_GLFW=3") + target_link_options(raylib PUBLIC "-sUSE_GLFW=3") endif() set_target_properties(raylib PROPERTIES From a29d334734f720431872266743ba5560870e3453 Mon Sep 17 00:00:00 2001 From: kai-z99 <147789796+kai-z99@users.noreply.github.com> Date: Sun, 16 Jun 2024 01:44:31 -0700 Subject: [PATCH 353/745] [rmodels] Read uninitialized values in GenMeshTangents() - fix bounding case (#4066) * fix * assert --- src/rmodels.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index 5a6c6414c..308fb0a70 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -3436,7 +3436,12 @@ void GenMeshTangents(Mesh *mesh) Vector3 *tan1 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); Vector3 *tan2 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); - for (int i = 0; i < mesh->vertexCount - 3; i += 3) + if (mesh->vertexCount % 3 != 0) + { + TRACELOG(LOG_WARNING, "MESH: vertexCount expected to be a multiple of 3. Expect uninitialized values."); + } + + for (int i = 0; i <= mesh->vertexCount - 3; i += 3) { // Get triangle vertices Vector3 v1 = { mesh->vertices[(i + 0)*3 + 0], mesh->vertices[(i + 0)*3 + 1], mesh->vertices[(i + 0)*3 + 2] }; From 307c998495a769092a8587c91a3efdb526de909c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1zaro=20Albuquerque?= <33807434+lzralbu@users.noreply.github.com> Date: Sun, 16 Jun 2024 04:49:59 -0400 Subject: [PATCH 354/745] [build] Making `config.h` fully available to CMake users (#4044) * Create ParseConfigHeader.cmake This script parses the config.h file to automate the process of exposing the configuration flags and configuration values found in the latter. * Update CompileDefinitions.cmake Makes use of the new functionality found in ParseConfigHeader.cmake to make things consistent. * Update CMakeOptions.txt Makes use of the new functionality found in ParseConfigHeader.cmake to make things consistent. * Update CMakeLists.txt Changes required to make possible building raylib for web on Windows 10. * Update LibraryConfigurations.cmake Removes a warning that linker-only flags were being passed to the compiler, which is in accordance to https://emscripten.org/docs/tools_reference/settings_reference.html. * Update CMakeOptions.txt Removed clutter. * Update CompileDefinitions.cmake Removed clutter. * Update CompileDefinitions.cmake Some applications might check for PLATFORM_WEB instead of __EMSCRIPTEN__. * Update CompileDefinitions.cmake Reverting * Update CMakeLists.txt USE_AUDIO is redundant in the presence of the already existent and more descriptive SUPPORT_MODULE_RAUDIO. * Update CompileDefinitions.cmake USE_AUDIO is redundant in the presence of the already existent and more descriptive SUPPORT_MODULE_RAUDIO. * Update ParseConfigHeader.cmake * Revert "Update CMakeLists.txt" This reverts commit 1785fc06b5b89e65515cea3afd3e3c095f15e350. * Revert "Update CompileDefinitions.cmake" This reverts commit 62f9a3a0ea21af7bd0a1ab74d10a305fca2a5695. * Revert "Update CMakeLists.txt" This reverts commit 3e7912144edc5c69c53ed5a9515ae21d66937963. * Revert "Update LibraryConfigurations.cmake" This reverts commit bcc4310c4960c200c340671caa298983340ea386. --- CMakeOptions.txt | 84 ++------------------- cmake/CompileDefinitions.cmake | 130 ++++----------------------------- cmake/ParseConfigHeader.cmake | 17 +++++ 3 files changed, 38 insertions(+), 193 deletions(-) create mode 100644 cmake/ParseConfigHeader.cmake diff --git a/CMakeOptions.txt b/CMakeOptions.txt index 2c58cd5cc..b063f02a1 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -1,4 +1,4 @@ -### Config options ### +# ## Config options ### include(CMakeDependentOption) include(EnumOption) @@ -9,14 +9,14 @@ enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific # Configuration options option(BUILD_EXAMPLES "Build the examples." ${RAYLIB_IS_MAIN}) option(CUSTOMIZE_BUILD "Show options for customizing your Raylib library build." OFF) -option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF) +option(ENABLE_ASAN "Enable AddressSanitizer (ASAN) for debugging (degrades performance)" OFF) option(ENABLE_UBSAN "Enable UndefinedBehaviorSanitizer (UBSan) for debugging" OFF) option(ENABLE_MSAN "Enable MemorySanitizer (MSan) for debugging (not recommended to run with ASAN)" OFF) # Shared library is always PIC. Static library should be PIC too if linked into a shared library option(WITH_PIC "Compile static library as position-independent code" OFF) option(BUILD_SHARED_LIBS "Build raylib as a shared library" OFF) -option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" OFF) +option(MACOS_FATLIB "Build fat library for both i386 and x86_64 on macOS" OFF) cmake_dependent_option(USE_AUDIO "Build raylib with audio module" ON CUSTOMIZE_BUILD ON) enum_option(USE_EXTERNAL_GLFW "OFF;IF_POSSIBLE;ON" "Link raylib against system GLFW instead of embedded one") @@ -28,77 +28,9 @@ option(GLFW_BUILD_X11 "Build the bundled GLFW with X11 support" ON) option(INCLUDE_EVERYTHING "Include everything disabled by default (for CI usage" OFF) set(OFF ${INCLUDE_EVERYTHING} CACHE INTERNAL "Replace any OFF by default with \${OFF} to have it covered by this option") -# raylib modules included -cmake_dependent_option(SUPPORT_MODULE_RSHAPES "Include module: rshapes" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_MODULE_RTEXTURES "Include module: rtextures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_MODULE_RTEXT "Include module: rtext" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_MODULE_RMODELS "Include module: rmodels" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_MODULE_RAUDIO "Include module: raudio" ON CUSTOMIZE_BUILD ON) +include(ParseConfigHeader) -# rcore.c -cmake_dependent_option(SUPPORT_CAMERA_SYSTEM "Provide camera module (rcamera.h) with multiple predefined cameras: free, 1st/3rd person, orbital" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_GESTURES_SYSTEM "Gestures module is included (rgestures.h) to support gestures detection: tap, hold, swipe, drag" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_RPRAND_GENERATOR "Include pseudo-random numbers generator (rprand.h), based on Xoshiro128** and SplitMix64" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_MOUSE_GESTURES "Mouse gestures are directly mapped like touches and processed by gestures system" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_SSH_KEYBOARD_RPI "Reconfigure standard input to receive key inputs, works with SSH connection" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_DEFAULT_FONT "Default font is loaded on window initialization to be available for the user to render simple text. If enabled, uses external module functions to load default raylib font (module: text)" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_SCREEN_CAPTURE "Allow automatic screen capture of current screen pressing F12, defined in KeyCallback()" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_GIF_RECORDING "Allow automatic gif recording of current screen pressing CTRL+F12, defined in KeyCallback()" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_BUSY_WAIT_LOOP "Use busy wait loop for timing sync instead of a high-resolution timer" OFF CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_EVENTS_WAITING "Wait for events passively (sleeping while no events) instead of polling them actively every frame" OFF CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_WINMM_HIGHRES_TIMER "Setting a higher resolution can improve the accuracy of time-out intervals in wait functions" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_COMPRESSION_API "Support for compression API" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_EVENTS_AUTOMATION "Support automatic generated events, loading and recording of those events when required" OFF CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_CUSTOM_FRAME_CONTROL "Enabling this flag allows manual control of the frame processes, use at your own risk" OFF CUSTOMIZE_BUILD OFF) - -# rshapes.c -cmake_dependent_option(SUPPORT_QUADS_DRAW_MODE "Use QUADS instead of TRIANGLES for drawing when possible. Some lines-based shapes could still use lines" ON CUSTOMIZE_BUILD ON) - -# rtextures.c -cmake_dependent_option(SUPPORT_IMAGE_EXPORT "Support image exporting to file" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_IMAGE_GENERATION "Support procedural image generation functionality (gradient, spot, perlin-noise, cellular)" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_IMAGE_MANIPULATION "Support multiple image editing functions to scale, adjust colors, flip, draw on images, crop... If not defined only three image editing functions supported: ImageFormat(), ImageAlphaMask(), ImageToPOT()" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_PNG "Support loading PNG as textures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_DDS "Support loading DDS as textures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_HDR "Support loading HDR as textures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_PIC "Support loading PIC as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_PNM "Support loading PNM as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_KTX "Support loading KTX as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_ASTC "Support loading ASTC as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_TGA "Support loading TGA as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_JPG "Support loading JPG as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_GIF "Support loading GIF as textures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_QOI "Support loading QOI as textures" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_PSD "Support loading PSD as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_PKM "Support loading PKM as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_PVR "Support loading PVR as textures" ${OFF} CUSTOMIZE_BUILD OFF) -cmake_dependent_option(SUPPORT_FILEFORMAT_SVG "Support loading SVG as textures" ${OFF} CUSTOMIZE_BUILD OFF) - -# rtext.c -cmake_dependent_option(SUPPORT_FILEFORMAT_FNT "Support loading fonts in FNT format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_TTF "Support loading font in TTF/OTF format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_TEXT_MANIPULATION "Support text manipulation functions" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FONT_ATLAS_WHITE_REC "Support white rec on font atlas bottom-right corner" ON CUSTOMIZE_BUILD ON) - -# rmodels.c -cmake_dependent_option(SUPPORT_MESH_GENERATION "Support procedural mesh generation functions, uses external par_shapes.h library. NOTE: Some generated meshes DO NOT include generated texture coordinates" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_OBJ "Support loading OBJ file format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_MTL "Support loading MTL file format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_IQM "Support loading IQM file format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_GLTF "Support loading GLTF file format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_VOX "Support loading VOX file format" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_M3D "Support loading M3D file format" ON CUSTOMIZE_BUILD ON) - -# raudio.c -cmake_dependent_option(SUPPORT_FILEFORMAT_WAV "Support loading WAV for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_OGG "Support loading OGG for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_XM "Support loading XM for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_MOD "Support loading MOD for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_MP3 "Support loading MP3 for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_QOA "Support loading QOA for sound" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_FILEFORMAT_FLAC "Support loading FLAC for sound" ${OFF} CUSTOMIZE_BUILD OFF) - -# utils.c -cmake_dependent_option(SUPPORT_STANDARD_FILEIO "Support standard file io library (stdio.h)" ON CUSTOMIZE_BUILD ON) -cmake_dependent_option(SUPPORT_TRACELOG "Show TraceLog() output messages. NOTE: By default LOG_DEBUG traces not shown" ON CUSTOMIZE_BUILD ON) +foreach(FLAG IN LISTS CONFIG_HEADER_FLAGS) + string(REGEX MATCH "([^=]+)=(.+)" _ ${FLAG}) + cmake_dependent_option(${CMAKE_MATCH_1} "" ${CMAKE_MATCH_2} CUSTOMIZE_BUILD ${CMAKE_MATCH_2}) +endforeach() diff --git a/cmake/CompileDefinitions.cmake b/cmake/CompileDefinitions.cmake index cc8324c4b..0acbe2fa5 100644 --- a/cmake/CompileDefinitions.cmake +++ b/cmake/CompileDefinitions.cmake @@ -3,126 +3,22 @@ target_compile_definitions("raylib" PUBLIC "${PLATFORM_CPP}") target_compile_definitions("raylib" PUBLIC "${GRAPHICS}") function(define_if target variable) - if (${${variable}}) + if(${${variable}}) message(STATUS "${variable}=${${variable}}") - target_compile_definitions(${target} PUBLIC "${variable}") - endif () + target_compile_definitions(${target} PRIVATE "${variable}") + endif() endfunction() -if (${CUSTOMIZE_BUILD}) - target_compile_definitions("raylib" PUBLIC EXTERNAL_CONFIG_FLAGS) +if(${CUSTOMIZE_BUILD}) + target_compile_definitions("raylib" PRIVATE EXTERNAL_CONFIG_FLAGS) define_if("raylib" USE_AUDIO) - define_if("raylib" SUPPORT_MODULE_RSHAPES) - define_if("raylib" SUPPORT_MODULE_RTEXTURES) - define_if("raylib" SUPPORT_MODULE_RTEXT) - define_if("raylib" SUPPORT_MODULE_RMODELS) - define_if("raylib" SUPPORT_MODULE_RAUDIO) - define_if("raylib" SUPPORT_CAMERA_SYSTEM) - define_if("raylib" SUPPORT_GESTURES_SYSTEM) - define_if("raylib" SUPPORT_MOUSE_GESTURES) - define_if("raylib" SUPPORT_SSH_KEYBOARD_RPI) - define_if("raylib" SUPPORT_DEFAULT_FONT) - define_if("raylib" SUPPORT_SCREEN_CAPTURE) - define_if("raylib" SUPPORT_GIF_RECORDING) - define_if("raylib" SUPPORT_BUSY_WAIT_LOOP) - define_if("raylib" SUPPORT_EVENTS_WAITING) - define_if("raylib" SUPPORT_WINMM_HIGHRES_TIMER) - define_if("raylib" SUPPORT_COMPRESSION_API) - define_if("raylib" SUPPORT_EVENTS_AUTOMATION) - define_if("raylib" SUPPORT_CUSTOM_FRAME_CONTROL) - define_if("raylib" SUPPORT_QUADS_DRAW_MODE) - define_if("raylib" SUPPORT_IMAGE_EXPORT) - define_if("raylib" SUPPORT_IMAGE_GENERATION) - define_if("raylib" SUPPORT_IMAGE_MANIPULATION) - define_if("raylib" SUPPORT_FILEFORMAT_PNG) - define_if("raylib" SUPPORT_FILEFORMAT_DDS) - define_if("raylib" SUPPORT_FILEFORMAT_HDR) - define_if("raylib" SUPPORT_FILEFORMAT_PIC) - define_if("raylib" SUPPORT_FILEFORMAT_PNM) - define_if("raylib" SUPPORT_FILEFORMAT_KTX) - define_if("raylib" SUPPORT_FILEFORMAT_ASTC) - define_if("raylib" SUPPORT_FILEFORMAT_BMP) - define_if("raylib" SUPPORT_FILEFORMAT_TGA) - define_if("raylib" SUPPORT_FILEFORMAT_JPG) - define_if("raylib" SUPPORT_FILEFORMAT_GIF) - define_if("raylib" SUPPORT_FILEFORMAT_QOI) - define_if("raylib" SUPPORT_FILEFORMAT_PSD) - define_if("raylib" SUPPORT_FILEFORMAT_PKM) - define_if("raylib" SUPPORT_FILEFORMAT_PVR) - define_if("raylib" SUPPORT_FILEFORMAT_SVG) - define_if("raylib" SUPPORT_FILEFORMAT_FNT) - define_if("raylib" SUPPORT_FILEFORMAT_TTF) - define_if("raylib" SUPPORT_TEXT_MANIPULATION) - define_if("raylib" SUPPORT_MESH_GENERATION) - define_if("raylib" SUPPORT_FILEFORMAT_OBJ) - define_if("raylib" SUPPORT_FILEFORMAT_MTL) - define_if("raylib" SUPPORT_FILEFORMAT_IQM) - define_if("raylib" SUPPORT_FILEFORMAT_GLTF) - define_if("raylib" SUPPORT_FILEFORMAT_VOX) - define_if("raylib" SUPPORT_FILEFORMAT_M3D) - define_if("raylib" SUPPORT_FILEFORMAT_WAV) - define_if("raylib" SUPPORT_FILEFORMAT_OGG) - define_if("raylib" SUPPORT_FILEFORMAT_XM) - define_if("raylib" SUPPORT_FILEFORMAT_MOD) - define_if("raylib" SUPPORT_FILEFORMAT_MP3) - define_if("raylib" SUPPORT_FILEFORMAT_QOA) - define_if("raylib" SUPPORT_FILEFORMAT_FLAC) - define_if("raylib" SUPPORT_STANDARD_FILEIO) - define_if("raylib" SUPPORT_TRACELOG) - if (UNIX AND NOT APPLE) - target_compile_definitions("raylib" PUBLIC "MAX_FILEPATH_LENGTH=4096") - else () - target_compile_definitions("raylib" PUBLIC "MAX_FILEPATH_LENGTH=512") - endif () - - target_compile_definitions("raylib" PUBLIC "MAX_GAMEPADS=4") - target_compile_definitions("raylib" PUBLIC "MAX_GAMEPAD_AXIS=8") - target_compile_definitions("raylib" PUBLIC "MAX_GAMEPAD_BUTTONS=32") - target_compile_definitions("raylib" PUBLIC "MAX_TOUCH_POINTS=10") - target_compile_definitions("raylib" PUBLIC "MAX_KEY_PRESSED_QUEUE=16") - - target_compile_definitions("raylib" PUBLIC "STORAGE_DATA_FILE=\"storage.data\"") - target_compile_definitions("raylib" PUBLIC "MAX_CHAR_PRESSED_QUEUE=16") - target_compile_definitions("raylib" PUBLIC "MAX_DECOMPRESSION_SIZE=64") - - if (${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_33" OR ${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_11") - target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_BUFFER_ELEMENTS=8192") - elseif (${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES2") - target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_BUFFER_ELEMENTS=2048") - endif () - - target_compile_definitions("raylib" PUBLIC "DEFAULT_BATCH_DRAWCALLS=256") - target_compile_definitions("raylib" PUBLIC "MAX_MATRIX_STACK_SIZE=32") - target_compile_definitions("raylib" PUBLIC "MAX_SHADER_LOCATIONS=32") - target_compile_definitions("raylib" PUBLIC "MAX_MATERIAL_MAPS=12") - target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_NEAR=0.01") - target_compile_definitions("raylib" PUBLIC "RL_CULL_DISTANCE_FAR=1000.0") - - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION=0") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD=1") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL=2") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR=3") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT=4") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2=5") - - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION=\"vertexPosition\"") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD=\"vertexTexCoord\"") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL=\"vertexNormal\"") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR=\"vertexColor\"") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT=\"vertexTangent\"") - target_compile_definitions("raylib" PUBLIC "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2=\"vertexTexCoord2\"") - - target_compile_definitions("raylib" PUBLIC "MAX_TEXT_BUFFER_LENGTH=1024") - target_compile_definitions("raylib" PUBLIC "MAX_TEXT_UNICODE_CHARS=512") - target_compile_definitions("raylib" PUBLIC "MAX_TEXTSPLIT_COUNT=128") - - target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_FORMAT=ma_format_f32") - target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_CHANNELS=2") - target_compile_definitions("raylib" PUBLIC "AUDIO_DEVICE_SAMPLE_RATE=44100") - target_compile_definitions("raylib" PUBLIC "DEFAULT_AUDIO_BUFFER_SIZE=4096") - - target_compile_definitions("raylib" PUBLIC "MAX_TRACELOG_MSG_LENGTH=128") - target_compile_definitions("raylib" PUBLIC "MAX_UWP_MESSAGES=512") -endif () + foreach(FLAG IN LISTS CONFIG_HEADER_FLAGS) + string(REGEX MATCH "([^=]+)=(.+)" _ ${FLAG}) + define_if("raylib" ${CMAKE_MATCH_1}) + endforeach() + foreach(VALUE IN LISTS CONFIG_HEADER_VALUES) + target_compile_definitions("raylib" PRIVATE ${VALUE}) + endforeach() +endif() diff --git a/cmake/ParseConfigHeader.cmake b/cmake/ParseConfigHeader.cmake new file mode 100644 index 000000000..797eea3cd --- /dev/null +++ b/cmake/ParseConfigHeader.cmake @@ -0,0 +1,17 @@ +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/src/config.h" CONFIG_HEADER_CONTENT) + +set(BLANK_OR_BACKSLASH_PATTERN "[ \t\r\n\\]") +set(VALID_IDENTIFIER_PATTERN "[A-Za-z_]+[A-Za-z_0-9]*") +set(VALID_VALUE_PATTERN [=["?[A-Za-z_0-9.-]+"?]=]) # not really correct but does the job since the config.h file hopefully will have been checked by a C preprocessor. +set(MACRO_REGEX "(//${BLANK_OR_BACKSLASH_PATTERN}*)?\#define${BLANK_OR_BACKSLASH_PATTERN}+(${VALID_IDENTIFIER_PATTERN})${BLANK_OR_BACKSLASH_PATTERN}+(${VALID_VALUE_PATTERN})") + +string(REGEX MATCHALL ${MACRO_REGEX} MACRO_LIST ${CONFIG_HEADER_CONTENT}) + +set(CONFIG_HEADER_FLAGS ${MACRO_LIST}) +list(FILTER CONFIG_HEADER_FLAGS INCLUDE REGEX "^.+SUPPORT_") +list(TRANSFORM CONFIG_HEADER_FLAGS REPLACE ${MACRO_REGEX} [[\2=OFF]] REGEX "^//") +list(TRANSFORM CONFIG_HEADER_FLAGS REPLACE ${MACRO_REGEX} [[\2=ON]]) + +set(CONFIG_HEADER_VALUES ${MACRO_LIST}) +list(FILTER CONFIG_HEADER_VALUES EXCLUDE REGEX "(^.+SUPPORT_)|(^//)") +list(TRANSFORM CONFIG_HEADER_VALUES REPLACE ${MACRO_REGEX} [[\2=\3]]) From dcf2f6a8e97911c90efce5722bd7f0c7cdc8601e Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 16 Jun 2024 11:17:34 +0200 Subject: [PATCH 355/745] Added note about performace #4067 --- examples/models/models_waving_cubes.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/models/models_waving_cubes.c b/examples/models/models_waving_cubes.c index 5dc1fc4aa..521a4afd5 100644 --- a/examples/models/models_waving_cubes.c +++ b/examples/models/models_waving_cubes.c @@ -89,6 +89,8 @@ int main() }; // Pick a color with a hue depending on cube position for the rainbow color effect + // NOTE: This function is quite costly to be done per cube and frame, + // pre-catching the results into a separate array could improve performance Color cubeColor = ColorFromHSV((float)(((x + y + z)*18)%360), 0.75f, 0.9f); // Calculate cube size From 52f2a10db610d0e9f619fd7c521db08a876547d0 Mon Sep 17 00:00:00 2001 From: Anthony Carbajal <5776225+CrackedPixel@users.noreply.github.com> Date: Mon, 17 Jun 2024 06:42:53 -0500 Subject: [PATCH 356/745] fixed issue with GetScreenWidth/GetScreenHeight (#4074) --- src/platforms/rcore_desktop.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/platforms/rcore_desktop.c b/src/platforms/rcore_desktop.c index 6fe054a8a..bb3fcf4f0 100644 --- a/src/platforms/rcore_desktop.c +++ b/src/platforms/rcore_desktop.c @@ -666,6 +666,9 @@ void SetWindowMaxSize(int width, int height) // Set window dimensions void SetWindowSize(int width, int height) { + CORE.Window.screen.width = width; + CORE.Window.screen.height = height; + glfwSetWindowSize(platform.handle, width, height); } From e7acdd12d8b02617728f11720725ca989fe2390b Mon Sep 17 00:00:00 2001 From: manuel5975p Date: Fri, 21 Jun 2024 09:07:01 +0200 Subject: [PATCH 357/745] [build] CMake: support OpenGL ES3 in `LibraryConfigurations.cmake` (#4079) * Allow ES3 in LibraryConfigurations.cmake * Put FULL_ES3 as linker option --- cmake/LibraryConfigurations.cmake | 4 +++- src/CMakeLists.txt | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index f6dd4f314..6d2250c71 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -58,7 +58,9 @@ if (${PLATFORM} MATCHES "Desktop") elseif (${PLATFORM} MATCHES "Web") set(PLATFORM_CPP "PLATFORM_WEB") - set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") + if(NOT GRAPHICS) + set(GRAPHICS "GRAPHICS_API_OPENGL_ES2") + endif() set(CMAKE_STATIC_LIBRARY_SUFFIX ".a") elseif (${PLATFORM} MATCHES "Android") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bfb4b05b5..4ba1c7007 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,6 +70,9 @@ endif() if (${PLATFORM} MATCHES "Web") target_link_options(raylib PUBLIC "-sUSE_GLFW=3") + if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3") + target_link_options(raylib PUBLIC "-sFULL_ES3=1") + endif() endif() set_target_properties(raylib PROPERTIES From 0d59235adef78ca11e1d6940521815b3b0786286 Mon Sep 17 00:00:00 2001 From: Anthony Carbajal <5776225+CrackedPixel@users.noreply.github.com> Date: Sat, 22 Jun 2024 12:15:21 -0500 Subject: [PATCH 358/745] add warning log multiple of 4 (#4080) --- src/external/rl_gputex.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/external/rl_gputex.h b/src/external/rl_gputex.h index c57730552..6b26d1c8d 100644 --- a/src/external/rl_gputex.h +++ b/src/external/rl_gputex.h @@ -171,6 +171,10 @@ void *rl_load_dds_from_memory(const unsigned char *file_data, unsigned int file_ *width = header->width; *height = header->height; + + if (*width % 4 != 0) LOG("WARNING: IMAGE: DDS file width must be multiple of 4. Image will not display correctly"); + if (*height % 4 != 0) LOG("WARNING: IMAGE: DDS file height must be multiple of 4. Image will not display correctly"); + image_pixel_size = header->width*header->height; if (header->mipmap_count == 0) *mips = 1; // Parameter not used From 28f88fd9840057991a1573212a497b0123631fbc Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Sat, 22 Jun 2024 18:16:36 +0100 Subject: [PATCH 359/745] Fix mistakes in example usages in raylib_parser help text (#4084) --- parser/raylib_parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parser/raylib_parser.c b/parser/raylib_parser.c index 63f957284..cfb0133c3 100644 --- a/parser/raylib_parser.c +++ b/parser/raylib_parser.c @@ -1100,7 +1100,7 @@ static void ShowCommandLineInfo(void) printf(" NOTE: If not specified, defaults to: raylib_api.txt\n\n"); printf(" -f, --format : Define output format for parser data.\n"); printf(" Supported types: DEFAULT, JSON, XML, LUA, CODE\n\n"); - printf(" -d, --define : Define functions specifiers (i.e. RLAPI for raylib.h, RMDEF for raymath.h, etc.)\n"); + printf(" -d, --define : Define functions specifiers (i.e. RLAPI for raylib.h, RMAPI for raymath.h, etc.)\n"); printf(" NOTE: If no specifier defined, defaults to: RLAPI\n\n"); printf(" -t, --truncate : Define string to truncate input after (i.e. \"RLGL IMPLEMENTATION\" for rlgl.h)\n"); printf(" NOTE: If not specified, the full input file is parsed.\n\n"); @@ -1110,7 +1110,7 @@ static void ShowCommandLineInfo(void) printf(" Process to generate \n\n"); printf(" > raylib_parser --output raylib_data.info --format XML\n"); printf(" Process to generate as XML text data\n\n"); - printf(" > raylib_parser --input raymath.h --output raymath_data.info --format XML\n"); + printf(" > raylib_parser --input raymath.h --output raymath_data.info --format XML --define RMAPI\n"); printf(" Process to generate as XML text data\n\n"); } From b0d49579c17e7b2bcebd0afc0b8cdb7314b5f41d Mon Sep 17 00:00:00 2001 From: Alice Nyaa <62451415+Minnowo@users.noreply.github.com> Date: Sat, 22 Jun 2024 13:17:31 -0400 Subject: [PATCH 360/745] fixed LoadCodepoints returning a freed ptr when count is 0 (#4089) --- src/rtext.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 6ad0f90a0..62d786eac 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -1892,8 +1892,7 @@ int *LoadCodepoints(const char *text, int *count) } // Re-allocate buffer to the actual number of codepoints loaded - int *temp = (int *)RL_REALLOC(codepoints, codepointCount*sizeof(int)); - if (temp != NULL) codepoints = temp; + codepoints = (int *)RL_REALLOC(codepoints, codepointCount*sizeof(int)); *count = codepointCount; From 5ba18575decc14409d9aecb6614624abb7a313b6 Mon Sep 17 00:00:00 2001 From: manuel5975p Date: Sat, 22 Jun 2024 19:20:33 +0200 Subject: [PATCH 361/745] [build] CMake: pass -sFULL_ES3 instead of -sFULL_ES3=1 (#4090) * Allow ES3 in LibraryConfigurations.cmake * Put FULL_ES3 as linker option * Remove =1 --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ba1c7007..c1360ee29 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -71,7 +71,7 @@ endif() if (${PLATFORM} MATCHES "Web") target_link_options(raylib PUBLIC "-sUSE_GLFW=3") if(${GRAPHICS} MATCHES "GRAPHICS_API_OPENGL_ES3") - target_link_options(raylib PUBLIC "-sFULL_ES3=1") + target_link_options(raylib PUBLIC "-sFULL_ES3") endif() endif() From d582becbc2a358202de65cac39bd68ed9148a731 Mon Sep 17 00:00:00 2001 From: Paul Melis Date: Sat, 22 Jun 2024 19:42:11 +0200 Subject: [PATCH 362/745] [rmodels] Initial work to correctly handle the node hierarchy in a glTF file (#4037) * Initial work to correctly handle the node hierarchy in a glTF file. Static meshes seem to work fine in my tests. Haven't tried anything animated yet, but it's almost certainly broken. * Fix variable naming, some comment tweaks * Only count primitives made up of triangles in glTF meshes * Update processing of gltf mesh animation data, to match earlier changes to vertex/normal/tangent data --- src/rmodels.c | 143 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 112 insertions(+), 31 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 308fb0a70..e48ec9dfd 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4895,6 +4895,7 @@ static Model LoadGLTF(const char *fileName) /********************************************************************************************* Function implemented by Wilhem Barbier(@wbrbr), with modifications by Tyler Bezera(@gamerfiend) + Transform handling implemented by Paul Melis (@paulmelis). Reviewed by Ramon Santamaria (@raysan5) FEATURES: @@ -4904,6 +4905,10 @@ static Model LoadGLTF(const char *fileName) PBR specular/glossiness flow and extended texture flows not supported - Supports multiple meshes per model (every primitives is loaded as a separate mesh) - Supports basic animations + - Transforms, including parent-child relations, are applied on the mesh data, but the + hierarchy is not kept (as it can't be represented). + - Mesh instances in the glTF file (i.e. same mesh linked from multiple nodes) + are turned into separate raylib Meshes. RESTRICTIONS: - Only triangle meshes supported @@ -4913,7 +4918,8 @@ static Model LoadGLTF(const char *fileName) > Texcoords: vec2: float > Colors: vec4: u8, u16, f32 (normalized) > Indices: u16, u32 (truncated to u16) - - Node hierarchies or transforms not supported + - Scenes defined in the glTF file are ignored. All nodes in the file + are used. ***********************************************************************************************/ @@ -4965,8 +4971,22 @@ static Model LoadGLTF(const char *fileName) if (result != cgltf_result_success) TRACELOG(LOG_INFO, "MODEL: [%s] Failed to load mesh/material buffers", fileName); int primitivesCount = 0; - // NOTE: We will load every primitive in the glTF as a separate raylib mesh - for (unsigned int i = 0; i < data->meshes_count; i++) primitivesCount += (int)data->meshes[i].primitives_count; + // NOTE: We will load every primitive in the glTF as a separate raylib Mesh. + // Determine total number of meshes needed from the node hierarchy. + for (unsigned int i = 0; i < data->nodes_count; i++) + { + cgltf_node *node = &(data->nodes[i]); + cgltf_mesh *mesh = node->mesh; + if (!mesh) + continue; + + for (unsigned int p = 0; p < mesh->primitives_count; p++) + { + if (mesh->primitives[p].type == cgltf_primitive_type_triangles) + primitivesCount++; + } + } + TRACELOG(LOG_DEBUG, " > Primitives (triangles only) count based on hierarchy : %i", primitivesCount); // Load our model data: meshes and materials model.meshCount = primitivesCount; @@ -5069,27 +5089,51 @@ static Model LoadGLTF(const char *fileName) // has_clearcoat, has_transmission, has_volume, has_ior, has specular, has_sheen } - // Load meshes data + // Visit each node in the hierarchy and process any mesh linked from it. + // Each primitive within a glTF node becomes a Raylib Mesh. + // The local-to-world transform of each node is used to transform the + // points/normals/tangents of the created Mesh(es). + // Any glTF mesh linked from more than one Node (i.e. instancing) + // is turned into multiple Mesh's, as each Node will have its own + // transform applied. + // Note: the code below disregards the scenes defined in the file, all nodes are used. //---------------------------------------------------------------------------------------------------- - for (unsigned int i = 0, meshIndex = 0; i < data->meshes_count; i++) + int meshIndex = 0; + for (unsigned int i = 0; i < data->nodes_count; i++) { - // NOTE: meshIndex accumulates primitives + cgltf_node *node = &(data->nodes[i]); - for (unsigned int p = 0; p < data->meshes[i].primitives_count; p++) + cgltf_mesh *mesh = node->mesh; + if (!mesh) + continue; + + cgltf_float worldTransform[16]; + cgltf_node_transform_world(node, worldTransform); + + Matrix worldMatrix = { + worldTransform[0], worldTransform[4], worldTransform[8], worldTransform[12], + worldTransform[1], worldTransform[5], worldTransform[9], worldTransform[13], + worldTransform[2], worldTransform[6], worldTransform[10], worldTransform[14], + worldTransform[3], worldTransform[7], worldTransform[11], worldTransform[15] + }; + + Matrix worldMatrixNormals = MatrixTranspose(MatrixInvert(worldMatrix)); + + for (unsigned int p = 0; p < mesh->primitives_count; p++) { // NOTE: We only support primitives defined by triangles // Other alternatives: points, lines, line_strip, triangle_strip - if (data->meshes[i].primitives[p].type != cgltf_primitive_type_triangles) continue; + if (mesh->primitives[p].type != cgltf_primitive_type_triangles) continue; // NOTE: Attributes data could be provided in several data formats (8, 8u, 16u, 32...), // Only some formats for each attribute type are supported, read info at the top of this function! - for (unsigned int j = 0; j < data->meshes[i].primitives[p].attributes_count; j++) + for (unsigned int j = 0; j < mesh->primitives[p].attributes_count; j++) { // Check the different attributes for every primitive - if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_position) // POSITION, vec3, float + if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_position) // POSITION, vec3, float { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; // WARNING: SPECS: POSITION accessor MUST have its min and max properties defined @@ -5101,12 +5145,22 @@ static Model LoadGLTF(const char *fileName) // Load 3 components of float data type into mesh.vertices LOAD_ATTRIBUTE(attribute, 3, float, model.meshes[meshIndex].vertices) + + // Transform the vertices + float *vertices = model.meshes[meshIndex].vertices; + for (int k = 0; k < attribute->count; k++) + { + Vector3 vt = Vector3Transform((Vector3){ vertices[3*k], vertices[3*k+1], vertices[3*k+2] }, worldMatrix); + vertices[3*k] = vt.x; + vertices[3*k+1] = vt.y; + vertices[3*k+2] = vt.z; + } } else TRACELOG(LOG_WARNING, "MODEL: [%s] Vertices attribute data format not supported, use vec3 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_normal) // NORMAL, vec3, float + else if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_normal) // NORMAL, vec3, float { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; if ((attribute->type == cgltf_type_vec3) && (attribute->component_type == cgltf_component_type_r_32f)) { @@ -5115,12 +5169,22 @@ static Model LoadGLTF(const char *fileName) // Load 3 components of float data type into mesh.normals LOAD_ATTRIBUTE(attribute, 3, float, model.meshes[meshIndex].normals) + + // Transform the normals + float *normals = model.meshes[meshIndex].normals; + for (int k = 0; k < attribute->count; k++) + { + Vector3 nt = Vector3Transform((Vector3){ normals[3*k], normals[3*k+1], normals[3*k+2] }, worldMatrixNormals); + normals[3*k] = nt.x; + normals[3*k+1] = nt.y; + normals[3*k+2] = nt.z; + } } else TRACELOG(LOG_WARNING, "MODEL: [%s] Normal attribute data format not supported, use vec3 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_tangent) // TANGENT, vec3, float + else if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_tangent) // TANGENT, vec3, float { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; if ((attribute->type == cgltf_type_vec4) && (attribute->component_type == cgltf_component_type_r_32f)) { @@ -5129,15 +5193,25 @@ static Model LoadGLTF(const char *fileName) // Load 4 components of float data type into mesh.tangents LOAD_ATTRIBUTE(attribute, 4, float, model.meshes[meshIndex].tangents) + + // Transform the tangents + float *tangents = model.meshes[meshIndex].tangents; + for (int k = 0; k < attribute->count; k++) + { + Vector3 tt = Vector3Transform((Vector3){ tangents[3*k], tangents[3*k+1], tangents[3*k+2] }, worldMatrix); + tangents[3*k] = tt.x; + tangents[3*k+1] = tt.y; + tangents[3*k+2] = tt.z; + } } else TRACELOG(LOG_WARNING, "MODEL: [%s] Tangent attribute data format not supported, use vec4 float", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_n, vec2, float/u8n/u16n + else if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_texcoord) // TEXCOORD_n, vec2, float/u8n/u16n { // Support up to 2 texture coordinates attributes float *texcoordPtr = NULL; - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; if (attribute->type == cgltf_type_vec2) { @@ -5181,7 +5255,7 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Texcoords attribute data format not supported, use vec2 float", fileName); - int index = data->meshes[i].primitives[p].attributes[j].index; + int index = mesh->primitives[p].attributes[j].index; if (index == 0) model.meshes[meshIndex].texcoords = texcoordPtr; else if (index == 1) model.meshes[meshIndex].texcoords2 = texcoordPtr; else @@ -5190,9 +5264,9 @@ static Model LoadGLTF(const char *fileName) if (texcoordPtr != NULL) RL_FREE(texcoordPtr); } } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_n, vec3/vec4, float/u8n/u16n + else if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_color) // COLOR_n, vec3/vec4, float/u8n/u16n { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; // WARNING: SPECS: All components of each COLOR_n accessor element MUST be clamped to [0.0, 1.0] range @@ -5309,9 +5383,9 @@ static Model LoadGLTF(const char *fileName) } // Load primitive indices data (if provided) - if (data->meshes[i].primitives[p].indices != NULL) + if (mesh->primitives[p].indices != NULL) { - cgltf_accessor *attribute = data->meshes[i].primitives[p].indices; + cgltf_accessor *attribute = mesh->primitives[p].indices; model.meshes[meshIndex].triangleCount = (int)attribute->count/3; @@ -5351,7 +5425,7 @@ static Model LoadGLTF(const char *fileName) // raylib instead assigns to the mesh the by its index, as loaded in model.materials array // To get the index, we check if material pointers match, and we assign the corresponding index, // skipping index 0, the default material - if (&data->materials[m] == data->meshes[i].primitives[p].material) + if (&data->materials[m] == mesh->primitives[p].material) { model.meshMaterial[meshIndex] = m + 1; break; @@ -5401,20 +5475,27 @@ static Model LoadGLTF(const char *fileName) TRACELOG(LOG_ERROR, "MODEL: [%s] can only load one skin (armature) per model, but gltf skins_count == %i", fileName, data->skins_count); } - for (unsigned int i = 0, meshIndex = 0; i < data->meshes_count; i++) + meshIndex = 0; + for (unsigned int i = 0; i < data->nodes_count; i++) { - for (unsigned int p = 0; p < data->meshes[i].primitives_count; p++) + cgltf_node *node = &(data->nodes[i]); + + cgltf_mesh *mesh = node->mesh; + if (!mesh) + continue; + + for (unsigned int p = 0; p < mesh->primitives_count; p++) { // NOTE: We only support primitives defined by triangles - if (data->meshes[i].primitives[p].type != cgltf_primitive_type_triangles) continue; + if (mesh->primitives[p].type != cgltf_primitive_type_triangles) continue; - for (unsigned int j = 0; j < data->meshes[i].primitives[p].attributes_count; j++) + for (unsigned int j = 0; j < mesh->primitives[p].attributes_count; j++) { // NOTE: JOINTS_1 + WEIGHT_1 will be used for +4 joints influencing a vertex -> Not supported by raylib - if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_joints) // JOINTS_n (vec4: 4 bones max per vertex / u8, u16) + if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_joints) // JOINTS_n (vec4: 4 bones max per vertex / u8, u16) { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; // NOTE: JOINTS_n can only be vec4 and u8/u16 // SPECS: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview @@ -5462,9 +5543,9 @@ static Model LoadGLTF(const char *fileName) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); } - else if (data->meshes[i].primitives[p].attributes[j].type == cgltf_attribute_type_weights) // WEIGHTS_n (vec4, u8n/u16n/f32) + else if (mesh->primitives[p].attributes[j].type == cgltf_attribute_type_weights) // WEIGHTS_n (vec4, u8n/u16n/f32) { - cgltf_accessor *attribute = data->meshes[i].primitives[p].attributes[j].data; + cgltf_accessor *attribute = mesh->primitives[p].attributes[j].data; if (attribute->type == cgltf_type_vec4) { From 77732540225eabb0ff659710167315265401c772 Mon Sep 17 00:00:00 2001 From: SuperUserNameMan <9801802+SuperUserNameMan@users.noreply.github.com> Date: Sun, 23 Jun 2024 21:14:03 +0200 Subject: [PATCH 363/745] LoadIQM() set model.meshMaterial[] (#4092) --- src/rmodels.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index e48ec9dfd..a169ec50d 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4326,6 +4326,8 @@ static Model LoadIQM(const char *fileName) model.materials[i] = LoadMaterialDefault(); model.materials[i].maps[MATERIAL_MAP_ALBEDO].texture = LoadTexture(TextFormat("%s/%s", basePath, material)); + model.meshMaterial[i] = i; + TRACELOG(LOG_DEBUG, "MODEL: [%s] mesh name (%s), material (%s)", fileName, name, material); model.meshes[i].vertexCount = imesh[i].num_vertexes; From 7e50270d496762e7202b61e26ba1c42c47161c4e Mon Sep 17 00:00:00 2001 From: Le Juez Victor <90587919+Bigfoot71@users.noreply.github.com> Date: Sun, 23 Jun 2024 22:51:24 +0200 Subject: [PATCH 364/745] [rtextures] Adding triangle drawing function for images (#4094) * adding triangle drawing function for images * remove unnecessary check * fix an iteration mistake --- src/raylib.h | 5 ++ src/rtextures.c | 188 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) diff --git a/src/raylib.h b/src/raylib.h index 9f06462fb..7195fd55f 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1381,6 +1381,11 @@ RLAPI void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int hei RLAPI void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color); // Draw rectangle within an image (Vector version) RLAPI void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color); // Draw rectangle within an image RLAPI void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color); // Draw rectangle lines within an image +RLAPI void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle within an image +RLAPI void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3); // Draw triangle with interpolated colors within an image +RLAPI void ImageDrawTriangleLines(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline within an image +RLAPI void ImageDrawTriangleFan(Image *dst, Vector2 *points, int pointCount, Color color); // Draw a triangle fan defined by points within an image (first vertex is the center) +RLAPI void ImageDrawTriangleStrip(Image *dst, Vector2 *points, int pointCount, Color color); // Draw a triangle strip defined by points within an image RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint); // Draw a source image within a destination image (tint applied to source) RLAPI void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) within an image (destination) RLAPI void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text (custom sprite font) within an image (destination) diff --git a/src/rtextures.c b/src/rtextures.c index 2f02afece..39c0f78f2 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3627,6 +3627,194 @@ void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color) ImageDrawRectangle(dst, (int)rec.x, (int)(rec.y + rec.height - thick), (int)rec.width, thick, color); } +// Draw triangle within an image +void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) +{ + // Calculate the 2D bounding box of the triangle + // Determine the minimum and maximum x and y coordinates of the triangle vertices + int xMin = (v1.x < v2.x)? ((v1.x < v3.x)? v1.x : v3.x) : ((v2.x < v3.x)? v2.x : v3.x); + int yMin = (v1.y < v2.y)? ((v1.y < v3.y)? v1.y : v3.y) : ((v2.y < v3.y)? v2.y : v3.y); + int xMax = (v1.x > v2.x)? ((v1.x > v3.x)? v1.x : v3.x) : ((v2.x > v3.x)? v2.x : v3.x); + int yMax = (v1.y > v2.y)? ((v1.y > v3.y)? v1.y : v3.y) : ((v2.y > v3.y)? v2.y : v3.y); + + // Clamp the bounding box to the image dimensions + if (xMin < 0) xMin = 0; + if (yMin < 0) yMin = 0; + if (xMax > dst->width) xMax = dst->width; + if (yMax > dst->height) yMax = dst->height; + + // Check the order of the vertices to determine if it's a front or back face + // NOTE: if signedArea is equal to 0, the face is degenerate + float signedArea = (v2.x - v1.x)*(v3.y - v1.y) - (v3.x - v1.x)*(v2.y - v1.y); + bool isBackFace = (signedArea > 0); + + // Barycentric interpolation setup + // Calculate the step increments for the barycentric coordinates + int w1XStep = v3.y - v2.y, w1YStep = v2.x - v3.x; + int w2XStep = v1.y - v3.y, w2YStep = v3.x - v1.x; + int w3XStep = v2.y - v1.y, w3YStep = v1.x - v2.x; + + // If the triangle is a back face, invert the steps + if (isBackFace) + { + w1XStep = -w1XStep, w1YStep = -w1YStep; + w2XStep = -w2XStep, w2YStep = -w2YStep; + w3XStep = -w3XStep, w3YStep = -w3YStep; + } + + // Calculate the initial barycentric coordinates for the top-left point of the bounding box + int w1Row = (xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y); + int w2Row = (xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y); + int w3Row = (xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y); + + // Rasterization loop + // Iterate through each pixel in the bounding box + for (int y = yMin; y <= yMax; y++) + { + int w1 = w1Row; + int w2 = w2Row; + int w3 = w3Row; + + for (int x = xMin; x <= xMax; x++) + { + // Check if the pixel is inside the triangle using barycentric coordinates + // If it is then we can draw the pixel with the given color + if ((w1 | w2 | w3) >= 0) ImageDrawPixel(dst, x, y, color); + + // Increment the barycentric coordinates for the next pixel + w1 += w1XStep; + w2 += w2XStep; + w3 += w3XStep; + } + + // Move to the next row in the bounding box + w1Row += w1YStep; + w2Row += w2YStep; + w3Row += w3YStep; + } +} + +// Draw triangle with interpolated colors within an image +void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3) +{ + // Calculate the 2D bounding box of the triangle + // Determine the minimum and maximum x and y coordinates of the triangle vertices + int xMin = (v1.x < v2.x)? ((v1.x < v3.x)? v1.x : v3.x) : ((v2.x < v3.x)? v2.x : v3.x); + int yMin = (v1.y < v2.y)? ((v1.y < v3.y)? v1.y : v3.y) : ((v2.y < v3.y)? v2.y : v3.y); + int xMax = (v1.x > v2.x)? ((v1.x > v3.x)? v1.x : v3.x) : ((v2.x > v3.x)? v2.x : v3.x); + int yMax = (v1.y > v2.y)? ((v1.y > v3.y)? v1.y : v3.y) : ((v2.y > v3.y)? v2.y : v3.y); + + // Clamp the bounding box to the image dimensions + if (xMin < 0) xMin = 0; + if (yMin < 0) yMin = 0; + if (xMax > dst->width) xMax = dst->width; + if (yMax > dst->height) yMax = dst->height; + + // Check the order of the vertices to determine if it's a front or back face + // NOTE: if signedArea is equal to 0, the face is degenerate + float signedArea = (v2.x - v1.x)*(v3.y - v1.y) - (v3.x - v1.x)*(v2.y - v1.y); + bool isBackFace = (signedArea > 0); + + // Barycentric interpolation setup + // Calculate the step increments for the barycentric coordinates + int w1XStep = v3.y - v2.y, w1YStep = v2.x - v3.x; + int w2XStep = v1.y - v3.y, w2YStep = v3.x - v1.x; + int w3XStep = v2.y - v1.y, w3YStep = v1.x - v2.x; + + // If the triangle is a back face, invert the steps + if (isBackFace) + { + w1XStep = -w1XStep, w1YStep = -w1YStep; + w2XStep = -w2XStep, w2YStep = -w2YStep; + w3XStep = -w3XStep, w3YStep = -w3YStep; + } + + // Calculate the initial barycentric coordinates for the top-left point of the bounding box + int w1Row = (xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y); + int w2Row = (xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y); + int w3Row = (xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y); + + // Calculate the inverse of the sum of the barycentric coordinates for normalization + // NOTE 1: Here, we act as if we multiply by 255 the reciprocal, which avoids additional + // calculations in the loop. This is acceptable because we are only interpolating colors. + // NOTE 2: This sum remains constant throughout the triangle + float wInvSum = 255.0f/(w1Row + w2Row + w3Row); + + // Rasterization loop + // Iterate through each pixel in the bounding box + for (int y = yMin; y <= yMax; y++) + { + int w1 = w1Row; + int w2 = w2Row; + int w3 = w3Row; + + for (int x = xMin; x <= xMax; x++) + { + // Check if the pixel is inside the triangle using barycentric coordinates + if ((w1 | w2 | w3) >= 0) + { + // Compute the normalized barycentric coordinates + unsigned char aW1 = (unsigned char)((float)w1*wInvSum); + unsigned char aW2 = (unsigned char)((float)w2*wInvSum); + unsigned char aW3 = (unsigned char)((float)w3*wInvSum); + + // Interpolate the color using the barycentric coordinates + Color finalColor = { 0 }; + finalColor.r = (c1.r*aW1 + c2.r*aW2 + c3.r*aW3)/255; + finalColor.g = (c1.g*aW1 + c2.g*aW2 + c3.g*aW3)/255; + finalColor.b = (c1.b*aW1 + c2.b*aW2 + c3.b*aW3)/255; + finalColor.a = (c1.a*aW1 + c2.a*aW2 + c3.a*aW3)/255; + + // Draw the pixel with the interpolated color + ImageDrawPixel(dst, x, y, finalColor); + } + + // Increment the barycentric coordinates for the next pixel + w1 += w1XStep; + w2 += w2XStep; + w3 += w3XStep; + } + + // Move to the next row in the bounding box + w1Row += w1YStep; + w2Row += w2YStep; + w3Row += w3YStep; + } +} + +// Draw triangle outline within an image +void ImageDrawTriangleLines(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) +{ + ImageDrawLine(dst, v1.x, v1.y, v2.x, v2.y, color); + ImageDrawLine(dst, v2.x, v2.y, v3.x, v3.y, color); + ImageDrawLine(dst, v3.x, v3.y, v1.x, v1.y, color); +} + +// Draw a triangle fan defined by points within an image (first vertex is the center) +void ImageDrawTriangleFan(Image *dst, Vector2 *points, int pointCount, Color color) +{ + if (pointCount >= 3) + { + for (int i = 1; i < pointCount - 1; i++) + { + ImageDrawTriangle(dst, points[0], points[i], points[i + 1], color); + } + } +} + +// Draw a triangle strip defined by points within an image +void ImageDrawTriangleStrip(Image *dst, Vector2 *points, int pointCount, Color color) +{ + if (pointCount >= 3) + { + for (int i = 2; i < pointCount; i++) + { + if ((i%2) == 0) ImageDrawTriangle(dst, points[i], points[i - 2], points[i - 1], color); + else ImageDrawTriangle(dst, points[i], points[i - 1], points[i - 2], color); + } + } +} + // Draw an image (source) within an image (destination) // NOTE: Color tint is applied to source image void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint) From c7bda3d10fe27051ad41cdb30146a884ce6b35af Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 23 Jun 2024 20:51:38 +0000 Subject: [PATCH 365/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 135 +++++++++ parser/output/raylib_api.lua | 60 ++++ parser/output/raylib_api.txt | 501 ++++++++++++++++++---------------- parser/output/raylib_api.xml | 37 ++- 4 files changed, 504 insertions(+), 229 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index ad49b64a5..c4577e68d 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -8013,6 +8013,141 @@ } ] }, + { + "name": "ImageDrawTriangle", + "description": "Draw triangle within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "Vector2", + "name": "v3" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawTriangleEx", + "description": "Draw triangle with interpolated colors within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "Vector2", + "name": "v3" + }, + { + "type": "Color", + "name": "c1" + }, + { + "type": "Color", + "name": "c2" + }, + { + "type": "Color", + "name": "c3" + } + ] + }, + { + "name": "ImageDrawTriangleLines", + "description": "Draw triangle outline within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "v1" + }, + { + "type": "Vector2", + "name": "v2" + }, + { + "type": "Vector2", + "name": "v3" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawTriangleFan", + "description": "Draw a triangle fan defined by points within an image (first vertex is the center)", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, + { + "name": "ImageDrawTriangleStrip", + "description": "Draw a triangle strip defined by points within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2 *", + "name": "points" + }, + { + "type": "int", + "name": "pointCount" + }, + { + "type": "Color", + "name": "color" + } + ] + }, { "name": "ImageDraw", "description": "Draw a source image within a destination image (tint applied to source)", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 2918b934c..7cd1b5f20 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -5970,6 +5970,66 @@ return { {type = "Color", name = "color"} } }, + { + name = "ImageDrawTriangle", + description = "Draw triangle within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleEx", + description = "Draw triangle with interpolated colors within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "c1"}, + {type = "Color", name = "c2"}, + {type = "Color", name = "c3"} + } + }, + { + name = "ImageDrawTriangleLines", + description = "Draw triangle outline within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleFan", + description = "Draw a triangle fan defined by points within an image (first vertex is the center)", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleStrip", + description = "Draw a triangle strip defined by points within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, { name = "ImageDraw", description = "Draw a source image within a destination image (tint applied to source)", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index ffcea1615..5b09bb972 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 566 +Functions found: 571 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -3084,7 +3084,52 @@ Function 339: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 340: ImageDraw() (5 input parameters) +Function 340: ImageDrawTriangle() (5 input parameters) + Name: ImageDrawTriangle + Return type: void + Description: Draw triangle within an image + Param[1]: dst (type: Image *) + Param[2]: v1 (type: Vector2) + Param[3]: v2 (type: Vector2) + Param[4]: v3 (type: Vector2) + Param[5]: color (type: Color) +Function 341: ImageDrawTriangleEx() (7 input parameters) + Name: ImageDrawTriangleEx + Return type: void + Description: Draw triangle with interpolated colors within an image + Param[1]: dst (type: Image *) + Param[2]: v1 (type: Vector2) + Param[3]: v2 (type: Vector2) + Param[4]: v3 (type: Vector2) + Param[5]: c1 (type: Color) + Param[6]: c2 (type: Color) + Param[7]: c3 (type: Color) +Function 342: ImageDrawTriangleLines() (5 input parameters) + Name: ImageDrawTriangleLines + Return type: void + Description: Draw triangle outline within an image + Param[1]: dst (type: Image *) + Param[2]: v1 (type: Vector2) + Param[3]: v2 (type: Vector2) + Param[4]: v3 (type: Vector2) + Param[5]: color (type: Color) +Function 343: ImageDrawTriangleFan() (4 input parameters) + Name: ImageDrawTriangleFan + Return type: void + Description: Draw a triangle fan defined by points within an image (first vertex is the center) + Param[1]: dst (type: Image *) + Param[2]: points (type: Vector2 *) + Param[3]: pointCount (type: int) + Param[4]: color (type: Color) +Function 344: ImageDrawTriangleStrip() (4 input parameters) + Name: ImageDrawTriangleStrip + Return type: void + Description: Draw a triangle strip defined by points within an image + Param[1]: dst (type: Image *) + Param[2]: points (type: Vector2 *) + Param[3]: pointCount (type: int) + Param[4]: color (type: Color) +Function 345: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3093,7 +3138,7 @@ Function 340: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 341: ImageDrawText() (6 input parameters) +Function 346: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3103,7 +3148,7 @@ Function 341: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 342: ImageDrawTextEx() (7 input parameters) +Function 347: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3114,79 +3159,79 @@ Function 342: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 343: LoadTexture() (1 input parameters) +Function 348: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 344: LoadTextureFromImage() (1 input parameters) +Function 349: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 345: LoadTextureCubemap() (2 input parameters) +Function 350: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 346: LoadRenderTexture() (2 input parameters) +Function 351: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 347: IsTextureReady() (1 input parameters) +Function 352: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 348: UnloadTexture() (1 input parameters) +Function 353: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 349: IsRenderTextureReady() (1 input parameters) +Function 354: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 350: UnloadRenderTexture() (1 input parameters) +Function 355: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 351: UpdateTexture() (2 input parameters) +Function 356: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 352: UpdateTextureRec() (3 input parameters) +Function 357: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 353: GenTextureMipmaps() (1 input parameters) +Function 358: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 354: SetTextureFilter() (2 input parameters) +Function 359: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 355: SetTextureWrap() (2 input parameters) +Function 360: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 356: DrawTexture() (4 input parameters) +Function 361: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3194,14 +3239,14 @@ Function 356: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 357: DrawTextureV() (3 input parameters) +Function 362: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 358: DrawTextureEx() (5 input parameters) +Function 363: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3210,7 +3255,7 @@ Function 358: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 359: DrawTextureRec() (4 input parameters) +Function 364: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3218,7 +3263,7 @@ Function 359: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 360: DrawTexturePro() (6 input parameters) +Function 365: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3228,7 +3273,7 @@ Function 360: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 361: DrawTextureNPatch() (6 input parameters) +Function 366: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3238,112 +3283,112 @@ Function 361: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 362: ColorIsEqual() (2 input parameters) +Function 367: ColorIsEqual() (2 input parameters) Name: ColorIsEqual Return type: bool Description: Check if two colors are equal Param[1]: col1 (type: Color) Param[2]: col2 (type: Color) -Function 363: Fade() (2 input parameters) +Function 368: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 364: ColorToInt() (1 input parameters) +Function 369: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) -Function 365: ColorNormalize() (1 input parameters) +Function 370: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 366: ColorFromNormalized() (1 input parameters) +Function 371: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 367: ColorToHSV() (1 input parameters) +Function 372: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 368: ColorFromHSV() (3 input parameters) +Function 373: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 369: ColorTint() (2 input parameters) +Function 374: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 370: ColorBrightness() (2 input parameters) +Function 375: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 371: ColorContrast() (2 input parameters) +Function 376: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 372: ColorAlpha() (2 input parameters) +Function 377: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 373: ColorAlphaBlend() (3 input parameters) +Function 378: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 374: GetColor() (1 input parameters) +Function 379: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 375: GetPixelColor() (2 input parameters) +Function 380: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 376: SetPixelColor() (3 input parameters) +Function 381: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 377: GetPixelDataSize() (3 input parameters) +Function 382: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 378: GetFontDefault() (0 input parameters) +Function 383: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 379: LoadFont() (1 input parameters) +Function 384: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 380: LoadFontEx() (4 input parameters) +Function 385: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3351,14 +3396,14 @@ Function 380: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 381: LoadFontFromImage() (3 input parameters) +Function 386: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 382: LoadFontFromMemory() (6 input parameters) +Function 387: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3368,12 +3413,12 @@ Function 382: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 383: IsFontReady() (1 input parameters) +Function 388: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 384: LoadFontData() (6 input parameters) +Function 389: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3383,7 +3428,7 @@ Function 384: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 385: GenImageFontAtlas() (6 input parameters) +Function 390: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3393,30 +3438,30 @@ Function 385: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 386: UnloadFontData() (2 input parameters) +Function 391: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 387: UnloadFont() (1 input parameters) +Function 392: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 388: ExportFontAsCode() (2 input parameters) +Function 393: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 389: DrawFPS() (2 input parameters) +Function 394: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 390: DrawText() (5 input parameters) +Function 395: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3425,7 +3470,7 @@ Function 390: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 391: DrawTextEx() (6 input parameters) +Function 396: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3435,7 +3480,7 @@ Function 391: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 392: DrawTextPro() (8 input parameters) +Function 397: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3447,7 +3492,7 @@ Function 392: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 393: DrawTextCodepoint() (5 input parameters) +Function 398: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3456,7 +3501,7 @@ Function 393: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 394: DrawTextCodepoints() (7 input parameters) +Function 399: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3467,18 +3512,18 @@ Function 394: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 395: SetTextLineSpacing() (1 input parameters) +Function 400: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 396: MeasureText() (2 input parameters) +Function 401: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 397: MeasureTextEx() (4 input parameters) +Function 402: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3486,195 +3531,195 @@ Function 397: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 398: GetGlyphIndex() (2 input parameters) +Function 403: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 399: GetGlyphInfo() (2 input parameters) +Function 404: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 400: GetGlyphAtlasRec() (2 input parameters) +Function 405: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 401: LoadUTF8() (2 input parameters) +Function 406: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 402: UnloadUTF8() (1 input parameters) +Function 407: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 403: LoadCodepoints() (2 input parameters) +Function 408: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 404: UnloadCodepoints() (1 input parameters) +Function 409: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 405: GetCodepointCount() (1 input parameters) +Function 410: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 406: GetCodepoint() (2 input parameters) +Function 411: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 407: GetCodepointNext() (2 input parameters) +Function 412: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 408: GetCodepointPrevious() (2 input parameters) +Function 413: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 409: CodepointToUTF8() (2 input parameters) +Function 414: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 410: TextCopy() (2 input parameters) +Function 415: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 411: TextIsEqual() (2 input parameters) +Function 416: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 412: TextLength() (1 input parameters) +Function 417: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 413: TextFormat() (2 input parameters) +Function 418: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 414: TextSubtext() (3 input parameters) +Function 419: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 415: TextReplace() (3 input parameters) +Function 420: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 416: TextInsert() (3 input parameters) +Function 421: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 417: TextJoin() (3 input parameters) +Function 422: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 418: TextSplit() (3 input parameters) +Function 423: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 419: TextAppend() (3 input parameters) +Function 424: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 420: TextFindIndex() (2 input parameters) +Function 425: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 421: TextToUpper() (1 input parameters) +Function 426: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 422: TextToLower() (1 input parameters) +Function 427: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 423: TextToPascal() (1 input parameters) +Function 428: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 424: TextToSnake() (1 input parameters) +Function 429: TextToSnake() (1 input parameters) Name: TextToSnake Return type: const char * Description: Get Snake case notation version of provided string Param[1]: text (type: const char *) -Function 425: TextToCamel() (1 input parameters) +Function 430: TextToCamel() (1 input parameters) Name: TextToCamel Return type: const char * Description: Get Camel case notation version of provided string Param[1]: text (type: const char *) -Function 426: TextToInteger() (1 input parameters) +Function 431: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 427: TextToFloat() (1 input parameters) +Function 432: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 428: DrawLine3D() (3 input parameters) +Function 433: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 429: DrawPoint3D() (2 input parameters) +Function 434: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 430: DrawCircle3D() (5 input parameters) +Function 435: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3683,7 +3728,7 @@ Function 430: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 431: DrawTriangle3D() (4 input parameters) +Function 436: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3691,14 +3736,14 @@ Function 431: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 432: DrawTriangleStrip3D() (3 input parameters) +Function 437: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: const Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 433: DrawCube() (5 input parameters) +Function 438: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3707,14 +3752,14 @@ Function 433: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 434: DrawCubeV() (3 input parameters) +Function 439: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 435: DrawCubeWires() (5 input parameters) +Function 440: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3723,21 +3768,21 @@ Function 435: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 436: DrawCubeWiresV() (3 input parameters) +Function 441: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 437: DrawSphere() (3 input parameters) +Function 442: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 438: DrawSphereEx() (5 input parameters) +Function 443: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3746,7 +3791,7 @@ Function 438: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 439: DrawSphereWires() (5 input parameters) +Function 444: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3755,7 +3800,7 @@ Function 439: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 440: DrawCylinder() (6 input parameters) +Function 445: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3765,7 +3810,7 @@ Function 440: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 441: DrawCylinderEx() (6 input parameters) +Function 446: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3775,7 +3820,7 @@ Function 441: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 442: DrawCylinderWires() (6 input parameters) +Function 447: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3785,7 +3830,7 @@ Function 442: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 443: DrawCylinderWiresEx() (6 input parameters) +Function 448: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3795,7 +3840,7 @@ Function 443: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 444: DrawCapsule() (6 input parameters) +Function 449: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3805,7 +3850,7 @@ Function 444: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 445: DrawCapsuleWires() (6 input parameters) +Function 450: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3815,51 +3860,51 @@ Function 445: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 446: DrawPlane() (3 input parameters) +Function 451: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 447: DrawRay() (2 input parameters) +Function 452: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 448: DrawGrid() (2 input parameters) +Function 453: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 449: LoadModel() (1 input parameters) +Function 454: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 450: LoadModelFromMesh() (1 input parameters) +Function 455: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 451: IsModelReady() (1 input parameters) +Function 456: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 452: UnloadModel() (1 input parameters) +Function 457: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 453: GetModelBoundingBox() (1 input parameters) +Function 458: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 454: DrawModel() (4 input parameters) +Function 459: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3867,7 +3912,7 @@ Function 454: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 455: DrawModelEx() (6 input parameters) +Function 460: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3877,7 +3922,7 @@ Function 455: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 456: DrawModelWires() (4 input parameters) +Function 461: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3885,7 +3930,7 @@ Function 456: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 457: DrawModelWiresEx() (6 input parameters) +Function 462: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3895,13 +3940,13 @@ Function 457: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 458: DrawBoundingBox() (2 input parameters) +Function 463: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 459: DrawBillboard() (5 input parameters) +Function 464: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3910,7 +3955,7 @@ Function 459: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 460: DrawBillboardRec() (6 input parameters) +Function 465: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3920,7 +3965,7 @@ Function 460: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 461: DrawBillboardPro() (9 input parameters) +Function 466: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3933,13 +3978,13 @@ Function 461: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 462: UploadMesh() (2 input parameters) +Function 467: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 463: UpdateMeshBuffer() (5 input parameters) +Function 468: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3948,19 +3993,19 @@ Function 463: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 464: UnloadMesh() (1 input parameters) +Function 469: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 465: DrawMesh() (3 input parameters) +Function 470: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 466: DrawMeshInstanced() (4 input parameters) +Function 471: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -3968,35 +4013,35 @@ Function 466: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 467: GetMeshBoundingBox() (1 input parameters) +Function 472: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 468: GenMeshTangents() (1 input parameters) +Function 473: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 469: ExportMesh() (2 input parameters) +Function 474: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 470: ExportMeshAsCode() (2 input parameters) +Function 475: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 471: GenMeshPoly() (2 input parameters) +Function 476: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 472: GenMeshPlane() (4 input parameters) +Function 477: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -4004,42 +4049,42 @@ Function 472: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 473: GenMeshCube() (3 input parameters) +Function 478: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 474: GenMeshSphere() (3 input parameters) +Function 479: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 475: GenMeshHemiSphere() (3 input parameters) +Function 480: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 476: GenMeshCylinder() (3 input parameters) +Function 481: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 477: GenMeshCone() (3 input parameters) +Function 482: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 478: GenMeshTorus() (4 input parameters) +Function 483: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4047,7 +4092,7 @@ Function 478: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 479: GenMeshKnot() (4 input parameters) +Function 484: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4055,84 +4100,84 @@ Function 479: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 480: GenMeshHeightmap() (2 input parameters) +Function 485: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 481: GenMeshCubicmap() (2 input parameters) +Function 486: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 482: LoadMaterials() (2 input parameters) +Function 487: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 483: LoadMaterialDefault() (0 input parameters) +Function 488: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 484: IsMaterialReady() (1 input parameters) +Function 489: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 485: UnloadMaterial() (1 input parameters) +Function 490: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 486: SetMaterialTexture() (3 input parameters) +Function 491: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 487: SetModelMeshMaterial() (3 input parameters) +Function 492: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 488: LoadModelAnimations() (2 input parameters) +Function 493: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 489: UpdateModelAnimation() (3 input parameters) +Function 494: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 490: UnloadModelAnimation() (1 input parameters) +Function 495: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 491: UnloadModelAnimations() (2 input parameters) +Function 496: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 492: IsModelAnimationValid() (2 input parameters) +Function 497: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 493: CheckCollisionSpheres() (4 input parameters) +Function 498: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4140,40 +4185,40 @@ Function 493: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 494: CheckCollisionBoxes() (2 input parameters) +Function 499: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 495: CheckCollisionBoxSphere() (3 input parameters) +Function 500: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 496: GetRayCollisionSphere() (3 input parameters) +Function 501: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 497: GetRayCollisionBox() (2 input parameters) +Function 502: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 498: GetRayCollisionMesh() (3 input parameters) +Function 503: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 499: GetRayCollisionTriangle() (4 input parameters) +Function 504: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4181,7 +4226,7 @@ Function 499: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 500: GetRayCollisionQuad() (5 input parameters) +Function 505: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4190,158 +4235,158 @@ Function 500: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 501: InitAudioDevice() (0 input parameters) +Function 506: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 502: CloseAudioDevice() (0 input parameters) +Function 507: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 503: IsAudioDeviceReady() (0 input parameters) +Function 508: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 504: SetMasterVolume() (1 input parameters) +Function 509: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 505: GetMasterVolume() (0 input parameters) +Function 510: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 506: LoadWave() (1 input parameters) +Function 511: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 507: LoadWaveFromMemory() (3 input parameters) +Function 512: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 508: IsWaveReady() (1 input parameters) +Function 513: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 509: LoadSound() (1 input parameters) +Function 514: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 510: LoadSoundFromWave() (1 input parameters) +Function 515: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 511: LoadSoundAlias() (1 input parameters) +Function 516: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 512: IsSoundReady() (1 input parameters) +Function 517: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 513: UpdateSound() (3 input parameters) +Function 518: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 514: UnloadWave() (1 input parameters) +Function 519: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 515: UnloadSound() (1 input parameters) +Function 520: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 516: UnloadSoundAlias() (1 input parameters) +Function 521: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 517: ExportWave() (2 input parameters) +Function 522: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 518: ExportWaveAsCode() (2 input parameters) +Function 523: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 519: PlaySound() (1 input parameters) +Function 524: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 520: StopSound() (1 input parameters) +Function 525: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 521: PauseSound() (1 input parameters) +Function 526: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 522: ResumeSound() (1 input parameters) +Function 527: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 523: IsSoundPlaying() (1 input parameters) +Function 528: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 524: SetSoundVolume() (2 input parameters) +Function 529: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 525: SetSoundPitch() (2 input parameters) +Function 530: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 526: SetSoundPan() (2 input parameters) +Function 531: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 527: WaveCopy() (1 input parameters) +Function 532: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 528: WaveCrop() (3 input parameters) +Function 533: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) Param[2]: initFrame (type: int) Param[3]: finalFrame (type: int) -Function 529: WaveFormat() (4 input parameters) +Function 534: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4349,203 +4394,203 @@ Function 529: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 530: LoadWaveSamples() (1 input parameters) +Function 535: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 531: UnloadWaveSamples() (1 input parameters) +Function 536: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 532: LoadMusicStream() (1 input parameters) +Function 537: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 533: LoadMusicStreamFromMemory() (3 input parameters) +Function 538: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 534: IsMusicReady() (1 input parameters) +Function 539: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 535: UnloadMusicStream() (1 input parameters) +Function 540: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 536: PlayMusicStream() (1 input parameters) +Function 541: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 537: IsMusicStreamPlaying() (1 input parameters) +Function 542: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 538: UpdateMusicStream() (1 input parameters) +Function 543: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 539: StopMusicStream() (1 input parameters) +Function 544: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 540: PauseMusicStream() (1 input parameters) +Function 545: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 541: ResumeMusicStream() (1 input parameters) +Function 546: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 542: SeekMusicStream() (2 input parameters) +Function 547: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 543: SetMusicVolume() (2 input parameters) +Function 548: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 544: SetMusicPitch() (2 input parameters) +Function 549: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 545: SetMusicPan() (2 input parameters) +Function 550: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 546: GetMusicTimeLength() (1 input parameters) +Function 551: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 547: GetMusicTimePlayed() (1 input parameters) +Function 552: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 548: LoadAudioStream() (3 input parameters) +Function 553: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 549: IsAudioStreamReady() (1 input parameters) +Function 554: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 550: UnloadAudioStream() (1 input parameters) +Function 555: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 551: UpdateAudioStream() (3 input parameters) +Function 556: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 552: IsAudioStreamProcessed() (1 input parameters) +Function 557: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 553: PlayAudioStream() (1 input parameters) +Function 558: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 554: PauseAudioStream() (1 input parameters) +Function 559: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 555: ResumeAudioStream() (1 input parameters) +Function 560: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 556: IsAudioStreamPlaying() (1 input parameters) +Function 561: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 557: StopAudioStream() (1 input parameters) +Function 562: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 558: SetAudioStreamVolume() (2 input parameters) +Function 563: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 559: SetAudioStreamPitch() (2 input parameters) +Function 564: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 560: SetAudioStreamPan() (2 input parameters) +Function 565: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 561: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 566: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 562: SetAudioStreamCallback() (2 input parameters) +Function 567: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 563: AttachAudioStreamProcessor() (2 input parameters) +Function 568: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 564: DetachAudioStreamProcessor() (2 input parameters) +Function 569: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 565: AttachAudioMixedProcessor() (1 input parameters) +Function 570: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 566: DetachAudioMixedProcessor() (1 input parameters) +Function 571: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 58f7df806..39e86c211 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -2017,6 +2017,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c2df1698473687a97e0f40562477921aee07b3e7 Mon Sep 17 00:00:00 2001 From: Le Juez Victor <90587919+Bigfoot71@users.noreply.github.com> Date: Mon, 24 Jun 2024 09:27:59 +0200 Subject: [PATCH 366/745] [rtextures] Adding `ImageDrawLineEx` function (#4097) * adding `ImageDrawLineEx` function also review other functions for drawing lines in images * fix `ImageDrawLineV` --- src/raylib.h | 1 + src/rtextures.c | 166 ++++++++++++++++++++++++++---------------------- 2 files changed, 91 insertions(+), 76 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 7195fd55f..8cd1d1ec0 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1373,6 +1373,7 @@ RLAPI void ImageDrawPixel(Image *dst, int posX, int posY, Color color); RLAPI void ImageDrawPixelV(Image *dst, Vector2 position, Color color); // Draw pixel within an image (Vector version) RLAPI void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw line within an image RLAPI void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color); // Draw line within an image (Vector version) +RLAPI void ImageDrawLineEx(Image *dst, Vector2 start, Vector2 end, int thick, Color color); // Draw a line defining thickness within an image RLAPI void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color); // Draw a filled circle within an image RLAPI void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color); // Draw a filled circle within an image (Vector version) RLAPI void ImageDrawCircleLines(Image *dst, int centerX, int centerY, int radius, Color color); // Draw circle outline within an image diff --git a/src/rtextures.c b/src/rtextures.c index 39c0f78f2..df9ccbdf4 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3403,98 +3403,112 @@ void ImageDrawPixelV(Image *dst, Vector2 position, Color color) // Draw line within an image void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color) { - // Using Bresenham's algorithm as described in - // Drawing Lines with Pixels - Joshua Scott - March 2012 - // https://classic.csunplugged.org/wp-content/uploads/2014/12/Lines.pdf + // Calculate differences in coordinates + int shortLen = endPosY - startPosY; + int longLen = endPosX - startPosX; + bool yLonger = false; - int changeInX = (endPosX - startPosX); - int absChangeInX = (changeInX < 0)? -changeInX : changeInX; - int changeInY = (endPosY - startPosY); - int absChangeInY = (changeInY < 0)? -changeInY : changeInY; - - int startU, startV, endU, stepV; // Substitutions, either U = X, V = Y or vice versa. See loop at end of function - //int endV; // Not needed but left for better understanding, check code below - int A, B, P; // See linked paper above, explained down in the main loop - int reversedXY = (absChangeInY < absChangeInX); - - if (reversedXY) + // Determine if the line is more vertical than horizontal + if (abs(shortLen) > abs(longLen)) { - A = 2*absChangeInY; - B = A - 2*absChangeInX; - P = A - absChangeInX; + // Swap the lengths if the line is more vertical + int temp = shortLen; + shortLen = longLen; + longLen = temp; + yLonger = true; + } - if (changeInX > 0) + // Initialize variables for drawing loop + int endVal = longLen; + int sgnInc = 1; + + // Adjust direction increment based on longLen sign + if (longLen < 0) + { + longLen = -longLen; + sgnInc = -1; + } + + // Calculate fixed-point increment for shorter length + int decInc = (longLen == 0)? 0 : (shortLen<<16) / longLen; + + // Draw the line pixel by pixel + if (yLonger) + { + // If line is more vertical, iterate over y-axis + for (int i = 0, j = 0; i != endVal; i += sgnInc, j += decInc) { - startU = startPosX; - startV = startPosY; - endU = endPosX; - //endV = endPosY; + // Calculate pixel position and draw it + ImageDrawPixel(dst, startPosX + (j>>16), startPosY + i, color); } - else - { - startU = endPosX; - startV = endPosY; - endU = startPosX; - //endV = startPosY; - - // Since start and end are reversed - changeInX = -changeInX; - changeInY = -changeInY; - } - - stepV = (changeInY < 0)? -1 : 1; - - ImageDrawPixel(dst, startU, startV, color); // At this point they are correctly ordered... } else { - A = 2*absChangeInX; - B = A - 2*absChangeInY; - P = A - absChangeInY; - - if (changeInY > 0) + // If line is more horizontal, iterate over x-axis + for (int i = 0, j = 0; i != endVal; i += sgnInc, j += decInc) { - startU = startPosY; - startV = startPosX; - endU = endPosY; - //endV = endPosX; + // Calculate pixel position and draw it + ImageDrawPixel(dst, startPosX + i, startPosY + (j>>16), color); } - else - { - startU = endPosY; - startV = endPosX; - endU = startPosY; - //endV = startPosX; - - // Since start and end are reversed - changeInX = -changeInX; - changeInY = -changeInY; - } - - stepV = (changeInX < 0)? -1 : 1; - - ImageDrawPixel(dst, startV, startU, color); // ... but need to be reversed here. Repeated in the main loop below - } - - // We already drew the start point. If we started at startU + 0, the line would be crooked and too short - for (int u = startU + 1, v = startV; u <= endU; u++) - { - if (P >= 0) - { - v += stepV; // Adjusts whenever we stray too far from the direct line. Details in the linked paper above - P += B; // Remembers that we corrected our path - } - else P += A; // Remembers how far we are from the direct line - - if (reversedXY) ImageDrawPixel(dst, u, v, color); - else ImageDrawPixel(dst, v, u, color); } } // Draw line within an image (Vector version) void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color) { - ImageDrawLine(dst, (int)start.x, (int)start.y, (int)end.x, (int)end.y, color); + // Round start and end positions to nearest integer coordinates + int x1 = (int)(start.x + 0.5f); + int y1 = (int)(start.y + 0.5f); + int x2 = (int)(end.x + 0.5f); + int y2 = (int)(end.y + 0.5f); + + // Draw a vertical line using ImageDrawLine function + ImageDrawLine(dst, x1, y1, x2, y2, color); +} + +// Draw a line defining thickness within an image +void ImageDrawLineEx(Image *dst, Vector2 start, Vector2 end, int thick, Color color) +{ + // Round start and end positions to nearest integer coordinates + int x1 = (int)(start.x + 0.5f); + int y1 = (int)(start.y + 0.5f); + int x2 = (int)(end.x + 0.5f); + int y2 = (int)(end.y + 0.5f); + + // Calculate differences in x and y coordinates + int dx = x2 - x1; + int dy = y2 - y1; + + // Draw the main line between (x1, y1) and (x2, y2) + ImageDrawLine(dst, x1, y1, x2, y2, color); + + // Determine if the line is more horizontal or vertical + if (dx != 0 && abs(dy/dx) < 1) + { + // Line is more horizontal + // Calculate half the width of the line + int wy = (thick - 1)*sqrtf(dx*dx + dy*dy)/(2*abs(dx)); + + // Draw additional lines above and below the main line + for (int i = 1; i <= wy; i++) + { + ImageDrawLine(dst, x1, y1 - i, x2, y2 - i, color); // Draw above the main line + ImageDrawLine(dst, x1, y1 + i, x2, y2 + i, color); // Draw below the main line + } + } + else if (dy != 0) + { + // Line is more vertical or perfectly horizontal + // Calculate half the width of the line + int wx = (thick - 1)*sqrtf(dx*dx + dy*dy)/(2*abs(dy)); + + // Draw additional lines to the left and right of the main line + for (int i = 1; i <= wx; i++) + { + ImageDrawLine(dst, x1 - i, y1, x2 - i, y2, color); // Draw left of the main line + ImageDrawLine(dst, x1 + i, y1, x2 + i, y2, color); // Draw right of the main line + } + } } // Draw circle within an image From f947f890617fade5bdcaccaaeb812306dc7658de Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 24 Jun 2024 07:28:17 +0000 Subject: [PATCH 367/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 27 ++ parser/output/raylib_api.lua | 12 + parser/output/raylib_api.txt | 491 +++++++++++++++++----------------- parser/output/raylib_api.xml | 9 +- 4 files changed, 297 insertions(+), 242 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index c4577e68d..a75b94ed0 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -7817,6 +7817,33 @@ } ] }, + { + "name": "ImageDrawLineEx", + "description": "Draw a line defining thickness within an image", + "returnType": "void", + "params": [ + { + "type": "Image *", + "name": "dst" + }, + { + "type": "Vector2", + "name": "start" + }, + { + "type": "Vector2", + "name": "end" + }, + { + "type": "int", + "name": "thick" + }, + { + "type": "Color", + "name": "color" + } + ] + }, { "name": "ImageDrawCircle", "description": "Draw a filled circle within an image", diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 7cd1b5f20..7dcb1fa41 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -5879,6 +5879,18 @@ return { {type = "Color", name = "color"} } }, + { + name = "ImageDrawLineEx", + description = "Draw a line defining thickness within an image", + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "start"}, + {type = "Vector2", name = "end"}, + {type = "int", name = "thick"}, + {type = "Color", name = "color"} + } + }, { name = "ImageDrawCircle", description = "Draw a filled circle within an image", diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index 5b09bb972..fd082d074 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -984,7 +984,7 @@ Callback 006: AudioCallback() (2 input parameters) Param[1]: bufferData (type: void *) Param[2]: frames (type: unsigned int) -Functions found: 571 +Functions found: 572 Function 001: InitWindow() (3 input parameters) Name: InitWindow @@ -3017,7 +3017,16 @@ Function 331: ImageDrawLineV() (4 input parameters) Param[2]: start (type: Vector2) Param[3]: end (type: Vector2) Param[4]: color (type: Color) -Function 332: ImageDrawCircle() (5 input parameters) +Function 332: ImageDrawLineEx() (5 input parameters) + Name: ImageDrawLineEx + Return type: void + Description: Draw a line defining thickness within an image + Param[1]: dst (type: Image *) + Param[2]: start (type: Vector2) + Param[3]: end (type: Vector2) + Param[4]: thick (type: int) + Param[5]: color (type: Color) +Function 333: ImageDrawCircle() (5 input parameters) Name: ImageDrawCircle Return type: void Description: Draw a filled circle within an image @@ -3026,7 +3035,7 @@ Function 332: ImageDrawCircle() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 333: ImageDrawCircleV() (4 input parameters) +Function 334: ImageDrawCircleV() (4 input parameters) Name: ImageDrawCircleV Return type: void Description: Draw a filled circle within an image (Vector version) @@ -3034,7 +3043,7 @@ Function 333: ImageDrawCircleV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 334: ImageDrawCircleLines() (5 input parameters) +Function 335: ImageDrawCircleLines() (5 input parameters) Name: ImageDrawCircleLines Return type: void Description: Draw circle outline within an image @@ -3043,7 +3052,7 @@ Function 334: ImageDrawCircleLines() (5 input parameters) Param[3]: centerY (type: int) Param[4]: radius (type: int) Param[5]: color (type: Color) -Function 335: ImageDrawCircleLinesV() (4 input parameters) +Function 336: ImageDrawCircleLinesV() (4 input parameters) Name: ImageDrawCircleLinesV Return type: void Description: Draw circle outline within an image (Vector version) @@ -3051,7 +3060,7 @@ Function 335: ImageDrawCircleLinesV() (4 input parameters) Param[2]: center (type: Vector2) Param[3]: radius (type: int) Param[4]: color (type: Color) -Function 336: ImageDrawRectangle() (6 input parameters) +Function 337: ImageDrawRectangle() (6 input parameters) Name: ImageDrawRectangle Return type: void Description: Draw rectangle within an image @@ -3061,7 +3070,7 @@ Function 336: ImageDrawRectangle() (6 input parameters) Param[4]: width (type: int) Param[5]: height (type: int) Param[6]: color (type: Color) -Function 337: ImageDrawRectangleV() (4 input parameters) +Function 338: ImageDrawRectangleV() (4 input parameters) Name: ImageDrawRectangleV Return type: void Description: Draw rectangle within an image (Vector version) @@ -3069,14 +3078,14 @@ Function 337: ImageDrawRectangleV() (4 input parameters) Param[2]: position (type: Vector2) Param[3]: size (type: Vector2) Param[4]: color (type: Color) -Function 338: ImageDrawRectangleRec() (3 input parameters) +Function 339: ImageDrawRectangleRec() (3 input parameters) Name: ImageDrawRectangleRec Return type: void Description: Draw rectangle within an image Param[1]: dst (type: Image *) Param[2]: rec (type: Rectangle) Param[3]: color (type: Color) -Function 339: ImageDrawRectangleLines() (4 input parameters) +Function 340: ImageDrawRectangleLines() (4 input parameters) Name: ImageDrawRectangleLines Return type: void Description: Draw rectangle lines within an image @@ -3084,7 +3093,7 @@ Function 339: ImageDrawRectangleLines() (4 input parameters) Param[2]: rec (type: Rectangle) Param[3]: thick (type: int) Param[4]: color (type: Color) -Function 340: ImageDrawTriangle() (5 input parameters) +Function 341: ImageDrawTriangle() (5 input parameters) Name: ImageDrawTriangle Return type: void Description: Draw triangle within an image @@ -3093,7 +3102,7 @@ Function 340: ImageDrawTriangle() (5 input parameters) Param[3]: v2 (type: Vector2) Param[4]: v3 (type: Vector2) Param[5]: color (type: Color) -Function 341: ImageDrawTriangleEx() (7 input parameters) +Function 342: ImageDrawTriangleEx() (7 input parameters) Name: ImageDrawTriangleEx Return type: void Description: Draw triangle with interpolated colors within an image @@ -3104,7 +3113,7 @@ Function 341: ImageDrawTriangleEx() (7 input parameters) Param[5]: c1 (type: Color) Param[6]: c2 (type: Color) Param[7]: c3 (type: Color) -Function 342: ImageDrawTriangleLines() (5 input parameters) +Function 343: ImageDrawTriangleLines() (5 input parameters) Name: ImageDrawTriangleLines Return type: void Description: Draw triangle outline within an image @@ -3113,7 +3122,7 @@ Function 342: ImageDrawTriangleLines() (5 input parameters) Param[3]: v2 (type: Vector2) Param[4]: v3 (type: Vector2) Param[5]: color (type: Color) -Function 343: ImageDrawTriangleFan() (4 input parameters) +Function 344: ImageDrawTriangleFan() (4 input parameters) Name: ImageDrawTriangleFan Return type: void Description: Draw a triangle fan defined by points within an image (first vertex is the center) @@ -3121,7 +3130,7 @@ Function 343: ImageDrawTriangleFan() (4 input parameters) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) Param[4]: color (type: Color) -Function 344: ImageDrawTriangleStrip() (4 input parameters) +Function 345: ImageDrawTriangleStrip() (4 input parameters) Name: ImageDrawTriangleStrip Return type: void Description: Draw a triangle strip defined by points within an image @@ -3129,7 +3138,7 @@ Function 344: ImageDrawTriangleStrip() (4 input parameters) Param[2]: points (type: Vector2 *) Param[3]: pointCount (type: int) Param[4]: color (type: Color) -Function 345: ImageDraw() (5 input parameters) +Function 346: ImageDraw() (5 input parameters) Name: ImageDraw Return type: void Description: Draw a source image within a destination image (tint applied to source) @@ -3138,7 +3147,7 @@ Function 345: ImageDraw() (5 input parameters) Param[3]: srcRec (type: Rectangle) Param[4]: dstRec (type: Rectangle) Param[5]: tint (type: Color) -Function 346: ImageDrawText() (6 input parameters) +Function 347: ImageDrawText() (6 input parameters) Name: ImageDrawText Return type: void Description: Draw text (using default font) within an image (destination) @@ -3148,7 +3157,7 @@ Function 346: ImageDrawText() (6 input parameters) Param[4]: posY (type: int) Param[5]: fontSize (type: int) Param[6]: color (type: Color) -Function 347: ImageDrawTextEx() (7 input parameters) +Function 348: ImageDrawTextEx() (7 input parameters) Name: ImageDrawTextEx Return type: void Description: Draw text (custom sprite font) within an image (destination) @@ -3159,79 +3168,79 @@ Function 347: ImageDrawTextEx() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 348: LoadTexture() (1 input parameters) +Function 349: LoadTexture() (1 input parameters) Name: LoadTexture Return type: Texture2D Description: Load texture from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 349: LoadTextureFromImage() (1 input parameters) +Function 350: LoadTextureFromImage() (1 input parameters) Name: LoadTextureFromImage Return type: Texture2D Description: Load texture from image data Param[1]: image (type: Image) -Function 350: LoadTextureCubemap() (2 input parameters) +Function 351: LoadTextureCubemap() (2 input parameters) Name: LoadTextureCubemap Return type: TextureCubemap Description: Load cubemap from image, multiple image cubemap layouts supported Param[1]: image (type: Image) Param[2]: layout (type: int) -Function 351: LoadRenderTexture() (2 input parameters) +Function 352: LoadRenderTexture() (2 input parameters) Name: LoadRenderTexture Return type: RenderTexture2D Description: Load texture for rendering (framebuffer) Param[1]: width (type: int) Param[2]: height (type: int) -Function 352: IsTextureReady() (1 input parameters) +Function 353: IsTextureReady() (1 input parameters) Name: IsTextureReady Return type: bool Description: Check if a texture is ready Param[1]: texture (type: Texture2D) -Function 353: UnloadTexture() (1 input parameters) +Function 354: UnloadTexture() (1 input parameters) Name: UnloadTexture Return type: void Description: Unload texture from GPU memory (VRAM) Param[1]: texture (type: Texture2D) -Function 354: IsRenderTextureReady() (1 input parameters) +Function 355: IsRenderTextureReady() (1 input parameters) Name: IsRenderTextureReady Return type: bool Description: Check if a render texture is ready Param[1]: target (type: RenderTexture2D) -Function 355: UnloadRenderTexture() (1 input parameters) +Function 356: UnloadRenderTexture() (1 input parameters) Name: UnloadRenderTexture Return type: void Description: Unload render texture from GPU memory (VRAM) Param[1]: target (type: RenderTexture2D) -Function 356: UpdateTexture() (2 input parameters) +Function 357: UpdateTexture() (2 input parameters) Name: UpdateTexture Return type: void Description: Update GPU texture with new data Param[1]: texture (type: Texture2D) Param[2]: pixels (type: const void *) -Function 357: UpdateTextureRec() (3 input parameters) +Function 358: UpdateTextureRec() (3 input parameters) Name: UpdateTextureRec Return type: void Description: Update GPU texture rectangle with new data Param[1]: texture (type: Texture2D) Param[2]: rec (type: Rectangle) Param[3]: pixels (type: const void *) -Function 358: GenTextureMipmaps() (1 input parameters) +Function 359: GenTextureMipmaps() (1 input parameters) Name: GenTextureMipmaps Return type: void Description: Generate GPU mipmaps for a texture Param[1]: texture (type: Texture2D *) -Function 359: SetTextureFilter() (2 input parameters) +Function 360: SetTextureFilter() (2 input parameters) Name: SetTextureFilter Return type: void Description: Set texture scaling filter mode Param[1]: texture (type: Texture2D) Param[2]: filter (type: int) -Function 360: SetTextureWrap() (2 input parameters) +Function 361: SetTextureWrap() (2 input parameters) Name: SetTextureWrap Return type: void Description: Set texture wrapping mode Param[1]: texture (type: Texture2D) Param[2]: wrap (type: int) -Function 361: DrawTexture() (4 input parameters) +Function 362: DrawTexture() (4 input parameters) Name: DrawTexture Return type: void Description: Draw a Texture2D @@ -3239,14 +3248,14 @@ Function 361: DrawTexture() (4 input parameters) Param[2]: posX (type: int) Param[3]: posY (type: int) Param[4]: tint (type: Color) -Function 362: DrawTextureV() (3 input parameters) +Function 363: DrawTextureV() (3 input parameters) Name: DrawTextureV Return type: void Description: Draw a Texture2D with position defined as Vector2 Param[1]: texture (type: Texture2D) Param[2]: position (type: Vector2) Param[3]: tint (type: Color) -Function 363: DrawTextureEx() (5 input parameters) +Function 364: DrawTextureEx() (5 input parameters) Name: DrawTextureEx Return type: void Description: Draw a Texture2D with extended parameters @@ -3255,7 +3264,7 @@ Function 363: DrawTextureEx() (5 input parameters) Param[3]: rotation (type: float) Param[4]: scale (type: float) Param[5]: tint (type: Color) -Function 364: DrawTextureRec() (4 input parameters) +Function 365: DrawTextureRec() (4 input parameters) Name: DrawTextureRec Return type: void Description: Draw a part of a texture defined by a rectangle @@ -3263,7 +3272,7 @@ Function 364: DrawTextureRec() (4 input parameters) Param[2]: source (type: Rectangle) Param[3]: position (type: Vector2) Param[4]: tint (type: Color) -Function 365: DrawTexturePro() (6 input parameters) +Function 366: DrawTexturePro() (6 input parameters) Name: DrawTexturePro Return type: void Description: Draw a part of a texture defined by a rectangle with 'pro' parameters @@ -3273,7 +3282,7 @@ Function 365: DrawTexturePro() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 366: DrawTextureNPatch() (6 input parameters) +Function 367: DrawTextureNPatch() (6 input parameters) Name: DrawTextureNPatch Return type: void Description: Draws a texture (or part of it) that stretches or shrinks nicely @@ -3283,112 +3292,112 @@ Function 366: DrawTextureNPatch() (6 input parameters) Param[4]: origin (type: Vector2) Param[5]: rotation (type: float) Param[6]: tint (type: Color) -Function 367: ColorIsEqual() (2 input parameters) +Function 368: ColorIsEqual() (2 input parameters) Name: ColorIsEqual Return type: bool Description: Check if two colors are equal Param[1]: col1 (type: Color) Param[2]: col2 (type: Color) -Function 368: Fade() (2 input parameters) +Function 369: Fade() (2 input parameters) Name: Fade Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 369: ColorToInt() (1 input parameters) +Function 370: ColorToInt() (1 input parameters) Name: ColorToInt Return type: int Description: Get hexadecimal value for a Color (0xRRGGBBAA) Param[1]: color (type: Color) -Function 370: ColorNormalize() (1 input parameters) +Function 371: ColorNormalize() (1 input parameters) Name: ColorNormalize Return type: Vector4 Description: Get Color normalized as float [0..1] Param[1]: color (type: Color) -Function 371: ColorFromNormalized() (1 input parameters) +Function 372: ColorFromNormalized() (1 input parameters) Name: ColorFromNormalized Return type: Color Description: Get Color from normalized values [0..1] Param[1]: normalized (type: Vector4) -Function 372: ColorToHSV() (1 input parameters) +Function 373: ColorToHSV() (1 input parameters) Name: ColorToHSV Return type: Vector3 Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1] Param[1]: color (type: Color) -Function 373: ColorFromHSV() (3 input parameters) +Function 374: ColorFromHSV() (3 input parameters) Name: ColorFromHSV Return type: Color Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1] Param[1]: hue (type: float) Param[2]: saturation (type: float) Param[3]: value (type: float) -Function 374: ColorTint() (2 input parameters) +Function 375: ColorTint() (2 input parameters) Name: ColorTint Return type: Color Description: Get color multiplied with another color Param[1]: color (type: Color) Param[2]: tint (type: Color) -Function 375: ColorBrightness() (2 input parameters) +Function 376: ColorBrightness() (2 input parameters) Name: ColorBrightness Return type: Color Description: Get color with brightness correction, brightness factor goes from -1.0f to 1.0f Param[1]: color (type: Color) Param[2]: factor (type: float) -Function 376: ColorContrast() (2 input parameters) +Function 377: ColorContrast() (2 input parameters) Name: ColorContrast Return type: Color Description: Get color with contrast correction, contrast values between -1.0f and 1.0f Param[1]: color (type: Color) Param[2]: contrast (type: float) -Function 377: ColorAlpha() (2 input parameters) +Function 378: ColorAlpha() (2 input parameters) Name: ColorAlpha Return type: Color Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f Param[1]: color (type: Color) Param[2]: alpha (type: float) -Function 378: ColorAlphaBlend() (3 input parameters) +Function 379: ColorAlphaBlend() (3 input parameters) Name: ColorAlphaBlend Return type: Color Description: Get src alpha-blended into dst color with tint Param[1]: dst (type: Color) Param[2]: src (type: Color) Param[3]: tint (type: Color) -Function 379: GetColor() (1 input parameters) +Function 380: GetColor() (1 input parameters) Name: GetColor Return type: Color Description: Get Color structure from hexadecimal value Param[1]: hexValue (type: unsigned int) -Function 380: GetPixelColor() (2 input parameters) +Function 381: GetPixelColor() (2 input parameters) Name: GetPixelColor Return type: Color Description: Get Color from a source pixel pointer of certain format Param[1]: srcPtr (type: void *) Param[2]: format (type: int) -Function 381: SetPixelColor() (3 input parameters) +Function 382: SetPixelColor() (3 input parameters) Name: SetPixelColor Return type: void Description: Set color formatted into destination pixel pointer Param[1]: dstPtr (type: void *) Param[2]: color (type: Color) Param[3]: format (type: int) -Function 382: GetPixelDataSize() (3 input parameters) +Function 383: GetPixelDataSize() (3 input parameters) Name: GetPixelDataSize Return type: int Description: Get pixel data size in bytes for certain format Param[1]: width (type: int) Param[2]: height (type: int) Param[3]: format (type: int) -Function 383: GetFontDefault() (0 input parameters) +Function 384: GetFontDefault() (0 input parameters) Name: GetFontDefault Return type: Font Description: Get the default Font No input parameters -Function 384: LoadFont() (1 input parameters) +Function 385: LoadFont() (1 input parameters) Name: LoadFont Return type: Font Description: Load font from file into GPU memory (VRAM) Param[1]: fileName (type: const char *) -Function 385: LoadFontEx() (4 input parameters) +Function 386: LoadFontEx() (4 input parameters) Name: LoadFontEx Return type: Font Description: Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont @@ -3396,14 +3405,14 @@ Function 385: LoadFontEx() (4 input parameters) Param[2]: fontSize (type: int) Param[3]: codepoints (type: int *) Param[4]: codepointCount (type: int) -Function 386: LoadFontFromImage() (3 input parameters) +Function 387: LoadFontFromImage() (3 input parameters) Name: LoadFontFromImage Return type: Font Description: Load font from Image (XNA style) Param[1]: image (type: Image) Param[2]: key (type: Color) Param[3]: firstChar (type: int) -Function 387: LoadFontFromMemory() (6 input parameters) +Function 388: LoadFontFromMemory() (6 input parameters) Name: LoadFontFromMemory Return type: Font Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf' @@ -3413,12 +3422,12 @@ Function 387: LoadFontFromMemory() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: codepoints (type: int *) Param[6]: codepointCount (type: int) -Function 388: IsFontReady() (1 input parameters) +Function 389: IsFontReady() (1 input parameters) Name: IsFontReady Return type: bool Description: Check if a font is ready Param[1]: font (type: Font) -Function 389: LoadFontData() (6 input parameters) +Function 390: LoadFontData() (6 input parameters) Name: LoadFontData Return type: GlyphInfo * Description: Load font data for further use @@ -3428,7 +3437,7 @@ Function 389: LoadFontData() (6 input parameters) Param[4]: codepoints (type: int *) Param[5]: codepointCount (type: int) Param[6]: type (type: int) -Function 390: GenImageFontAtlas() (6 input parameters) +Function 391: GenImageFontAtlas() (6 input parameters) Name: GenImageFontAtlas Return type: Image Description: Generate image font atlas using chars info @@ -3438,30 +3447,30 @@ Function 390: GenImageFontAtlas() (6 input parameters) Param[4]: fontSize (type: int) Param[5]: padding (type: int) Param[6]: packMethod (type: int) -Function 391: UnloadFontData() (2 input parameters) +Function 392: UnloadFontData() (2 input parameters) Name: UnloadFontData Return type: void Description: Unload font chars info data (RAM) Param[1]: glyphs (type: GlyphInfo *) Param[2]: glyphCount (type: int) -Function 392: UnloadFont() (1 input parameters) +Function 393: UnloadFont() (1 input parameters) Name: UnloadFont Return type: void Description: Unload font from GPU memory (VRAM) Param[1]: font (type: Font) -Function 393: ExportFontAsCode() (2 input parameters) +Function 394: ExportFontAsCode() (2 input parameters) Name: ExportFontAsCode Return type: bool Description: Export font as code file, returns true on success Param[1]: font (type: Font) Param[2]: fileName (type: const char *) -Function 394: DrawFPS() (2 input parameters) +Function 395: DrawFPS() (2 input parameters) Name: DrawFPS Return type: void Description: Draw current FPS Param[1]: posX (type: int) Param[2]: posY (type: int) -Function 395: DrawText() (5 input parameters) +Function 396: DrawText() (5 input parameters) Name: DrawText Return type: void Description: Draw text (using default font) @@ -3470,7 +3479,7 @@ Function 395: DrawText() (5 input parameters) Param[3]: posY (type: int) Param[4]: fontSize (type: int) Param[5]: color (type: Color) -Function 396: DrawTextEx() (6 input parameters) +Function 397: DrawTextEx() (6 input parameters) Name: DrawTextEx Return type: void Description: Draw text using font and additional parameters @@ -3480,7 +3489,7 @@ Function 396: DrawTextEx() (6 input parameters) Param[4]: fontSize (type: float) Param[5]: spacing (type: float) Param[6]: tint (type: Color) -Function 397: DrawTextPro() (8 input parameters) +Function 398: DrawTextPro() (8 input parameters) Name: DrawTextPro Return type: void Description: Draw text using Font and pro parameters (rotation) @@ -3492,7 +3501,7 @@ Function 397: DrawTextPro() (8 input parameters) Param[6]: fontSize (type: float) Param[7]: spacing (type: float) Param[8]: tint (type: Color) -Function 398: DrawTextCodepoint() (5 input parameters) +Function 399: DrawTextCodepoint() (5 input parameters) Name: DrawTextCodepoint Return type: void Description: Draw one character (codepoint) @@ -3501,7 +3510,7 @@ Function 398: DrawTextCodepoint() (5 input parameters) Param[3]: position (type: Vector2) Param[4]: fontSize (type: float) Param[5]: tint (type: Color) -Function 399: DrawTextCodepoints() (7 input parameters) +Function 400: DrawTextCodepoints() (7 input parameters) Name: DrawTextCodepoints Return type: void Description: Draw multiple character (codepoint) @@ -3512,18 +3521,18 @@ Function 399: DrawTextCodepoints() (7 input parameters) Param[5]: fontSize (type: float) Param[6]: spacing (type: float) Param[7]: tint (type: Color) -Function 400: SetTextLineSpacing() (1 input parameters) +Function 401: SetTextLineSpacing() (1 input parameters) Name: SetTextLineSpacing Return type: void Description: Set vertical line spacing when drawing with line-breaks Param[1]: spacing (type: int) -Function 401: MeasureText() (2 input parameters) +Function 402: MeasureText() (2 input parameters) Name: MeasureText Return type: int Description: Measure string width for default font Param[1]: text (type: const char *) Param[2]: fontSize (type: int) -Function 402: MeasureTextEx() (4 input parameters) +Function 403: MeasureTextEx() (4 input parameters) Name: MeasureTextEx Return type: Vector2 Description: Measure string size for Font @@ -3531,195 +3540,195 @@ Function 402: MeasureTextEx() (4 input parameters) Param[2]: text (type: const char *) Param[3]: fontSize (type: float) Param[4]: spacing (type: float) -Function 403: GetGlyphIndex() (2 input parameters) +Function 404: GetGlyphIndex() (2 input parameters) Name: GetGlyphIndex Return type: int Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 404: GetGlyphInfo() (2 input parameters) +Function 405: GetGlyphInfo() (2 input parameters) Name: GetGlyphInfo Return type: GlyphInfo Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 405: GetGlyphAtlasRec() (2 input parameters) +Function 406: GetGlyphAtlasRec() (2 input parameters) Name: GetGlyphAtlasRec Return type: Rectangle Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found Param[1]: font (type: Font) Param[2]: codepoint (type: int) -Function 406: LoadUTF8() (2 input parameters) +Function 407: LoadUTF8() (2 input parameters) Name: LoadUTF8 Return type: char * Description: Load UTF-8 text encoded from codepoints array Param[1]: codepoints (type: const int *) Param[2]: length (type: int) -Function 407: UnloadUTF8() (1 input parameters) +Function 408: UnloadUTF8() (1 input parameters) Name: UnloadUTF8 Return type: void Description: Unload UTF-8 text encoded from codepoints array Param[1]: text (type: char *) -Function 408: LoadCodepoints() (2 input parameters) +Function 409: LoadCodepoints() (2 input parameters) Name: LoadCodepoints Return type: int * Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter Param[1]: text (type: const char *) Param[2]: count (type: int *) -Function 409: UnloadCodepoints() (1 input parameters) +Function 410: UnloadCodepoints() (1 input parameters) Name: UnloadCodepoints Return type: void Description: Unload codepoints data from memory Param[1]: codepoints (type: int *) -Function 410: GetCodepointCount() (1 input parameters) +Function 411: GetCodepointCount() (1 input parameters) Name: GetCodepointCount Return type: int Description: Get total number of codepoints in a UTF-8 encoded string Param[1]: text (type: const char *) -Function 411: GetCodepoint() (2 input parameters) +Function 412: GetCodepoint() (2 input parameters) Name: GetCodepoint Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 412: GetCodepointNext() (2 input parameters) +Function 413: GetCodepointNext() (2 input parameters) Name: GetCodepointNext Return type: int Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 413: GetCodepointPrevious() (2 input parameters) +Function 414: GetCodepointPrevious() (2 input parameters) Name: GetCodepointPrevious Return type: int Description: Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure Param[1]: text (type: const char *) Param[2]: codepointSize (type: int *) -Function 414: CodepointToUTF8() (2 input parameters) +Function 415: CodepointToUTF8() (2 input parameters) Name: CodepointToUTF8 Return type: const char * Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter) Param[1]: codepoint (type: int) Param[2]: utf8Size (type: int *) -Function 415: TextCopy() (2 input parameters) +Function 416: TextCopy() (2 input parameters) Name: TextCopy Return type: int Description: Copy one string to another, returns bytes copied Param[1]: dst (type: char *) Param[2]: src (type: const char *) -Function 416: TextIsEqual() (2 input parameters) +Function 417: TextIsEqual() (2 input parameters) Name: TextIsEqual Return type: bool Description: Check if two text string are equal Param[1]: text1 (type: const char *) Param[2]: text2 (type: const char *) -Function 417: TextLength() (1 input parameters) +Function 418: TextLength() (1 input parameters) Name: TextLength Return type: unsigned int Description: Get text length, checks for '\0' ending Param[1]: text (type: const char *) -Function 418: TextFormat() (2 input parameters) +Function 419: TextFormat() (2 input parameters) Name: TextFormat Return type: const char * Description: Text formatting with variables (sprintf() style) Param[1]: text (type: const char *) Param[2]: args (type: ...) -Function 419: TextSubtext() (3 input parameters) +Function 420: TextSubtext() (3 input parameters) Name: TextSubtext Return type: const char * Description: Get a piece of a text string Param[1]: text (type: const char *) Param[2]: position (type: int) Param[3]: length (type: int) -Function 420: TextReplace() (3 input parameters) +Function 421: TextReplace() (3 input parameters) Name: TextReplace Return type: char * Description: Replace text string (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: replace (type: const char *) Param[3]: by (type: const char *) -Function 421: TextInsert() (3 input parameters) +Function 422: TextInsert() (3 input parameters) Name: TextInsert Return type: char * Description: Insert text in a position (WARNING: memory must be freed!) Param[1]: text (type: const char *) Param[2]: insert (type: const char *) Param[3]: position (type: int) -Function 422: TextJoin() (3 input parameters) +Function 423: TextJoin() (3 input parameters) Name: TextJoin Return type: const char * Description: Join text strings with delimiter Param[1]: textList (type: const char **) Param[2]: count (type: int) Param[3]: delimiter (type: const char *) -Function 423: TextSplit() (3 input parameters) +Function 424: TextSplit() (3 input parameters) Name: TextSplit Return type: const char ** Description: Split text into multiple strings Param[1]: text (type: const char *) Param[2]: delimiter (type: char) Param[3]: count (type: int *) -Function 424: TextAppend() (3 input parameters) +Function 425: TextAppend() (3 input parameters) Name: TextAppend Return type: void Description: Append text at specific position and move cursor! Param[1]: text (type: char *) Param[2]: append (type: const char *) Param[3]: position (type: int *) -Function 425: TextFindIndex() (2 input parameters) +Function 426: TextFindIndex() (2 input parameters) Name: TextFindIndex Return type: int Description: Find first text occurrence within a string Param[1]: text (type: const char *) Param[2]: find (type: const char *) -Function 426: TextToUpper() (1 input parameters) +Function 427: TextToUpper() (1 input parameters) Name: TextToUpper Return type: const char * Description: Get upper case version of provided string Param[1]: text (type: const char *) -Function 427: TextToLower() (1 input parameters) +Function 428: TextToLower() (1 input parameters) Name: TextToLower Return type: const char * Description: Get lower case version of provided string Param[1]: text (type: const char *) -Function 428: TextToPascal() (1 input parameters) +Function 429: TextToPascal() (1 input parameters) Name: TextToPascal Return type: const char * Description: Get Pascal case notation version of provided string Param[1]: text (type: const char *) -Function 429: TextToSnake() (1 input parameters) +Function 430: TextToSnake() (1 input parameters) Name: TextToSnake Return type: const char * Description: Get Snake case notation version of provided string Param[1]: text (type: const char *) -Function 430: TextToCamel() (1 input parameters) +Function 431: TextToCamel() (1 input parameters) Name: TextToCamel Return type: const char * Description: Get Camel case notation version of provided string Param[1]: text (type: const char *) -Function 431: TextToInteger() (1 input parameters) +Function 432: TextToInteger() (1 input parameters) Name: TextToInteger Return type: int Description: Get integer value from text (negative values not supported) Param[1]: text (type: const char *) -Function 432: TextToFloat() (1 input parameters) +Function 433: TextToFloat() (1 input parameters) Name: TextToFloat Return type: float Description: Get float value from text (negative values not supported) Param[1]: text (type: const char *) -Function 433: DrawLine3D() (3 input parameters) +Function 434: DrawLine3D() (3 input parameters) Name: DrawLine3D Return type: void Description: Draw a line in 3D world space Param[1]: startPos (type: Vector3) Param[2]: endPos (type: Vector3) Param[3]: color (type: Color) -Function 434: DrawPoint3D() (2 input parameters) +Function 435: DrawPoint3D() (2 input parameters) Name: DrawPoint3D Return type: void Description: Draw a point in 3D space, actually a small line Param[1]: position (type: Vector3) Param[2]: color (type: Color) -Function 435: DrawCircle3D() (5 input parameters) +Function 436: DrawCircle3D() (5 input parameters) Name: DrawCircle3D Return type: void Description: Draw a circle in 3D world space @@ -3728,7 +3737,7 @@ Function 435: DrawCircle3D() (5 input parameters) Param[3]: rotationAxis (type: Vector3) Param[4]: rotationAngle (type: float) Param[5]: color (type: Color) -Function 436: DrawTriangle3D() (4 input parameters) +Function 437: DrawTriangle3D() (4 input parameters) Name: DrawTriangle3D Return type: void Description: Draw a color-filled triangle (vertex in counter-clockwise order!) @@ -3736,14 +3745,14 @@ Function 436: DrawTriangle3D() (4 input parameters) Param[2]: v2 (type: Vector3) Param[3]: v3 (type: Vector3) Param[4]: color (type: Color) -Function 437: DrawTriangleStrip3D() (3 input parameters) +Function 438: DrawTriangleStrip3D() (3 input parameters) Name: DrawTriangleStrip3D Return type: void Description: Draw a triangle strip defined by points Param[1]: points (type: const Vector3 *) Param[2]: pointCount (type: int) Param[3]: color (type: Color) -Function 438: DrawCube() (5 input parameters) +Function 439: DrawCube() (5 input parameters) Name: DrawCube Return type: void Description: Draw cube @@ -3752,14 +3761,14 @@ Function 438: DrawCube() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 439: DrawCubeV() (3 input parameters) +Function 440: DrawCubeV() (3 input parameters) Name: DrawCubeV Return type: void Description: Draw cube (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 440: DrawCubeWires() (5 input parameters) +Function 441: DrawCubeWires() (5 input parameters) Name: DrawCubeWires Return type: void Description: Draw cube wires @@ -3768,21 +3777,21 @@ Function 440: DrawCubeWires() (5 input parameters) Param[3]: height (type: float) Param[4]: length (type: float) Param[5]: color (type: Color) -Function 441: DrawCubeWiresV() (3 input parameters) +Function 442: DrawCubeWiresV() (3 input parameters) Name: DrawCubeWiresV Return type: void Description: Draw cube wires (Vector version) Param[1]: position (type: Vector3) Param[2]: size (type: Vector3) Param[3]: color (type: Color) -Function 442: DrawSphere() (3 input parameters) +Function 443: DrawSphere() (3 input parameters) Name: DrawSphere Return type: void Description: Draw sphere Param[1]: centerPos (type: Vector3) Param[2]: radius (type: float) Param[3]: color (type: Color) -Function 443: DrawSphereEx() (5 input parameters) +Function 444: DrawSphereEx() (5 input parameters) Name: DrawSphereEx Return type: void Description: Draw sphere with extended parameters @@ -3791,7 +3800,7 @@ Function 443: DrawSphereEx() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 444: DrawSphereWires() (5 input parameters) +Function 445: DrawSphereWires() (5 input parameters) Name: DrawSphereWires Return type: void Description: Draw sphere wires @@ -3800,7 +3809,7 @@ Function 444: DrawSphereWires() (5 input parameters) Param[3]: rings (type: int) Param[4]: slices (type: int) Param[5]: color (type: Color) -Function 445: DrawCylinder() (6 input parameters) +Function 446: DrawCylinder() (6 input parameters) Name: DrawCylinder Return type: void Description: Draw a cylinder/cone @@ -3810,7 +3819,7 @@ Function 445: DrawCylinder() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 446: DrawCylinderEx() (6 input parameters) +Function 447: DrawCylinderEx() (6 input parameters) Name: DrawCylinderEx Return type: void Description: Draw a cylinder with base at startPos and top at endPos @@ -3820,7 +3829,7 @@ Function 446: DrawCylinderEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 447: DrawCylinderWires() (6 input parameters) +Function 448: DrawCylinderWires() (6 input parameters) Name: DrawCylinderWires Return type: void Description: Draw a cylinder/cone wires @@ -3830,7 +3839,7 @@ Function 447: DrawCylinderWires() (6 input parameters) Param[4]: height (type: float) Param[5]: slices (type: int) Param[6]: color (type: Color) -Function 448: DrawCylinderWiresEx() (6 input parameters) +Function 449: DrawCylinderWiresEx() (6 input parameters) Name: DrawCylinderWiresEx Return type: void Description: Draw a cylinder wires with base at startPos and top at endPos @@ -3840,7 +3849,7 @@ Function 448: DrawCylinderWiresEx() (6 input parameters) Param[4]: endRadius (type: float) Param[5]: sides (type: int) Param[6]: color (type: Color) -Function 449: DrawCapsule() (6 input parameters) +Function 450: DrawCapsule() (6 input parameters) Name: DrawCapsule Return type: void Description: Draw a capsule with the center of its sphere caps at startPos and endPos @@ -3850,7 +3859,7 @@ Function 449: DrawCapsule() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 450: DrawCapsuleWires() (6 input parameters) +Function 451: DrawCapsuleWires() (6 input parameters) Name: DrawCapsuleWires Return type: void Description: Draw capsule wireframe with the center of its sphere caps at startPos and endPos @@ -3860,51 +3869,51 @@ Function 450: DrawCapsuleWires() (6 input parameters) Param[4]: slices (type: int) Param[5]: rings (type: int) Param[6]: color (type: Color) -Function 451: DrawPlane() (3 input parameters) +Function 452: DrawPlane() (3 input parameters) Name: DrawPlane Return type: void Description: Draw a plane XZ Param[1]: centerPos (type: Vector3) Param[2]: size (type: Vector2) Param[3]: color (type: Color) -Function 452: DrawRay() (2 input parameters) +Function 453: DrawRay() (2 input parameters) Name: DrawRay Return type: void Description: Draw a ray line Param[1]: ray (type: Ray) Param[2]: color (type: Color) -Function 453: DrawGrid() (2 input parameters) +Function 454: DrawGrid() (2 input parameters) Name: DrawGrid Return type: void Description: Draw a grid (centered at (0, 0, 0)) Param[1]: slices (type: int) Param[2]: spacing (type: float) -Function 454: LoadModel() (1 input parameters) +Function 455: LoadModel() (1 input parameters) Name: LoadModel Return type: Model Description: Load model from files (meshes and materials) Param[1]: fileName (type: const char *) -Function 455: LoadModelFromMesh() (1 input parameters) +Function 456: LoadModelFromMesh() (1 input parameters) Name: LoadModelFromMesh Return type: Model Description: Load model from generated mesh (default material) Param[1]: mesh (type: Mesh) -Function 456: IsModelReady() (1 input parameters) +Function 457: IsModelReady() (1 input parameters) Name: IsModelReady Return type: bool Description: Check if a model is ready Param[1]: model (type: Model) -Function 457: UnloadModel() (1 input parameters) +Function 458: UnloadModel() (1 input parameters) Name: UnloadModel Return type: void Description: Unload model (including meshes) from memory (RAM and/or VRAM) Param[1]: model (type: Model) -Function 458: GetModelBoundingBox() (1 input parameters) +Function 459: GetModelBoundingBox() (1 input parameters) Name: GetModelBoundingBox Return type: BoundingBox Description: Compute model bounding box limits (considers all meshes) Param[1]: model (type: Model) -Function 459: DrawModel() (4 input parameters) +Function 460: DrawModel() (4 input parameters) Name: DrawModel Return type: void Description: Draw a model (with texture if set) @@ -3912,7 +3921,7 @@ Function 459: DrawModel() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 460: DrawModelEx() (6 input parameters) +Function 461: DrawModelEx() (6 input parameters) Name: DrawModelEx Return type: void Description: Draw a model with extended parameters @@ -3922,7 +3931,7 @@ Function 460: DrawModelEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 461: DrawModelWires() (4 input parameters) +Function 462: DrawModelWires() (4 input parameters) Name: DrawModelWires Return type: void Description: Draw a model wires (with texture if set) @@ -3930,7 +3939,7 @@ Function 461: DrawModelWires() (4 input parameters) Param[2]: position (type: Vector3) Param[3]: scale (type: float) Param[4]: tint (type: Color) -Function 462: DrawModelWiresEx() (6 input parameters) +Function 463: DrawModelWiresEx() (6 input parameters) Name: DrawModelWiresEx Return type: void Description: Draw a model wires (with texture if set) with extended parameters @@ -3940,13 +3949,13 @@ Function 462: DrawModelWiresEx() (6 input parameters) Param[4]: rotationAngle (type: float) Param[5]: scale (type: Vector3) Param[6]: tint (type: Color) -Function 463: DrawBoundingBox() (2 input parameters) +Function 464: DrawBoundingBox() (2 input parameters) Name: DrawBoundingBox Return type: void Description: Draw bounding box (wires) Param[1]: box (type: BoundingBox) Param[2]: color (type: Color) -Function 464: DrawBillboard() (5 input parameters) +Function 465: DrawBillboard() (5 input parameters) Name: DrawBillboard Return type: void Description: Draw a billboard texture @@ -3955,7 +3964,7 @@ Function 464: DrawBillboard() (5 input parameters) Param[3]: position (type: Vector3) Param[4]: size (type: float) Param[5]: tint (type: Color) -Function 465: DrawBillboardRec() (6 input parameters) +Function 466: DrawBillboardRec() (6 input parameters) Name: DrawBillboardRec Return type: void Description: Draw a billboard texture defined by source @@ -3965,7 +3974,7 @@ Function 465: DrawBillboardRec() (6 input parameters) Param[4]: position (type: Vector3) Param[5]: size (type: Vector2) Param[6]: tint (type: Color) -Function 466: DrawBillboardPro() (9 input parameters) +Function 467: DrawBillboardPro() (9 input parameters) Name: DrawBillboardPro Return type: void Description: Draw a billboard texture defined by source and rotation @@ -3978,13 +3987,13 @@ Function 466: DrawBillboardPro() (9 input parameters) Param[7]: origin (type: Vector2) Param[8]: rotation (type: float) Param[9]: tint (type: Color) -Function 467: UploadMesh() (2 input parameters) +Function 468: UploadMesh() (2 input parameters) Name: UploadMesh Return type: void Description: Upload mesh vertex data in GPU and provide VAO/VBO ids Param[1]: mesh (type: Mesh *) Param[2]: dynamic (type: bool) -Function 468: UpdateMeshBuffer() (5 input parameters) +Function 469: UpdateMeshBuffer() (5 input parameters) Name: UpdateMeshBuffer Return type: void Description: Update mesh vertex data in GPU for a specific buffer index @@ -3993,19 +4002,19 @@ Function 468: UpdateMeshBuffer() (5 input parameters) Param[3]: data (type: const void *) Param[4]: dataSize (type: int) Param[5]: offset (type: int) -Function 469: UnloadMesh() (1 input parameters) +Function 470: UnloadMesh() (1 input parameters) Name: UnloadMesh Return type: void Description: Unload mesh data from CPU and GPU Param[1]: mesh (type: Mesh) -Function 470: DrawMesh() (3 input parameters) +Function 471: DrawMesh() (3 input parameters) Name: DrawMesh Return type: void Description: Draw a 3d mesh with material and transform Param[1]: mesh (type: Mesh) Param[2]: material (type: Material) Param[3]: transform (type: Matrix) -Function 471: DrawMeshInstanced() (4 input parameters) +Function 472: DrawMeshInstanced() (4 input parameters) Name: DrawMeshInstanced Return type: void Description: Draw multiple mesh instances with material and different transforms @@ -4013,35 +4022,35 @@ Function 471: DrawMeshInstanced() (4 input parameters) Param[2]: material (type: Material) Param[3]: transforms (type: const Matrix *) Param[4]: instances (type: int) -Function 472: GetMeshBoundingBox() (1 input parameters) +Function 473: GetMeshBoundingBox() (1 input parameters) Name: GetMeshBoundingBox Return type: BoundingBox Description: Compute mesh bounding box limits Param[1]: mesh (type: Mesh) -Function 473: GenMeshTangents() (1 input parameters) +Function 474: GenMeshTangents() (1 input parameters) Name: GenMeshTangents Return type: void Description: Compute mesh tangents Param[1]: mesh (type: Mesh *) -Function 474: ExportMesh() (2 input parameters) +Function 475: ExportMesh() (2 input parameters) Name: ExportMesh Return type: bool Description: Export mesh data to file, returns true on success Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 475: ExportMeshAsCode() (2 input parameters) +Function 476: ExportMeshAsCode() (2 input parameters) Name: ExportMeshAsCode Return type: bool Description: Export mesh as code file (.h) defining multiple arrays of vertex attributes Param[1]: mesh (type: Mesh) Param[2]: fileName (type: const char *) -Function 476: GenMeshPoly() (2 input parameters) +Function 477: GenMeshPoly() (2 input parameters) Name: GenMeshPoly Return type: Mesh Description: Generate polygonal mesh Param[1]: sides (type: int) Param[2]: radius (type: float) -Function 477: GenMeshPlane() (4 input parameters) +Function 478: GenMeshPlane() (4 input parameters) Name: GenMeshPlane Return type: Mesh Description: Generate plane mesh (with subdivisions) @@ -4049,42 +4058,42 @@ Function 477: GenMeshPlane() (4 input parameters) Param[2]: length (type: float) Param[3]: resX (type: int) Param[4]: resZ (type: int) -Function 478: GenMeshCube() (3 input parameters) +Function 479: GenMeshCube() (3 input parameters) Name: GenMeshCube Return type: Mesh Description: Generate cuboid mesh Param[1]: width (type: float) Param[2]: height (type: float) Param[3]: length (type: float) -Function 479: GenMeshSphere() (3 input parameters) +Function 480: GenMeshSphere() (3 input parameters) Name: GenMeshSphere Return type: Mesh Description: Generate sphere mesh (standard sphere) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 480: GenMeshHemiSphere() (3 input parameters) +Function 481: GenMeshHemiSphere() (3 input parameters) Name: GenMeshHemiSphere Return type: Mesh Description: Generate half-sphere mesh (no bottom cap) Param[1]: radius (type: float) Param[2]: rings (type: int) Param[3]: slices (type: int) -Function 481: GenMeshCylinder() (3 input parameters) +Function 482: GenMeshCylinder() (3 input parameters) Name: GenMeshCylinder Return type: Mesh Description: Generate cylinder mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 482: GenMeshCone() (3 input parameters) +Function 483: GenMeshCone() (3 input parameters) Name: GenMeshCone Return type: Mesh Description: Generate cone/pyramid mesh Param[1]: radius (type: float) Param[2]: height (type: float) Param[3]: slices (type: int) -Function 483: GenMeshTorus() (4 input parameters) +Function 484: GenMeshTorus() (4 input parameters) Name: GenMeshTorus Return type: Mesh Description: Generate torus mesh @@ -4092,7 +4101,7 @@ Function 483: GenMeshTorus() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 484: GenMeshKnot() (4 input parameters) +Function 485: GenMeshKnot() (4 input parameters) Name: GenMeshKnot Return type: Mesh Description: Generate trefoil knot mesh @@ -4100,84 +4109,84 @@ Function 484: GenMeshKnot() (4 input parameters) Param[2]: size (type: float) Param[3]: radSeg (type: int) Param[4]: sides (type: int) -Function 485: GenMeshHeightmap() (2 input parameters) +Function 486: GenMeshHeightmap() (2 input parameters) Name: GenMeshHeightmap Return type: Mesh Description: Generate heightmap mesh from image data Param[1]: heightmap (type: Image) Param[2]: size (type: Vector3) -Function 486: GenMeshCubicmap() (2 input parameters) +Function 487: GenMeshCubicmap() (2 input parameters) Name: GenMeshCubicmap Return type: Mesh Description: Generate cubes-based map mesh from image data Param[1]: cubicmap (type: Image) Param[2]: cubeSize (type: Vector3) -Function 487: LoadMaterials() (2 input parameters) +Function 488: LoadMaterials() (2 input parameters) Name: LoadMaterials Return type: Material * Description: Load materials from model file Param[1]: fileName (type: const char *) Param[2]: materialCount (type: int *) -Function 488: LoadMaterialDefault() (0 input parameters) +Function 489: LoadMaterialDefault() (0 input parameters) Name: LoadMaterialDefault Return type: Material Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) No input parameters -Function 489: IsMaterialReady() (1 input parameters) +Function 490: IsMaterialReady() (1 input parameters) Name: IsMaterialReady Return type: bool Description: Check if a material is ready Param[1]: material (type: Material) -Function 490: UnloadMaterial() (1 input parameters) +Function 491: UnloadMaterial() (1 input parameters) Name: UnloadMaterial Return type: void Description: Unload material from GPU memory (VRAM) Param[1]: material (type: Material) -Function 491: SetMaterialTexture() (3 input parameters) +Function 492: SetMaterialTexture() (3 input parameters) Name: SetMaterialTexture Return type: void Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) Param[1]: material (type: Material *) Param[2]: mapType (type: int) Param[3]: texture (type: Texture2D) -Function 492: SetModelMeshMaterial() (3 input parameters) +Function 493: SetModelMeshMaterial() (3 input parameters) Name: SetModelMeshMaterial Return type: void Description: Set material for a mesh Param[1]: model (type: Model *) Param[2]: meshId (type: int) Param[3]: materialId (type: int) -Function 493: LoadModelAnimations() (2 input parameters) +Function 494: LoadModelAnimations() (2 input parameters) Name: LoadModelAnimations Return type: ModelAnimation * Description: Load model animations from file Param[1]: fileName (type: const char *) Param[2]: animCount (type: int *) -Function 494: UpdateModelAnimation() (3 input parameters) +Function 495: UpdateModelAnimation() (3 input parameters) Name: UpdateModelAnimation Return type: void Description: Update model animation pose Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) Param[3]: frame (type: int) -Function 495: UnloadModelAnimation() (1 input parameters) +Function 496: UnloadModelAnimation() (1 input parameters) Name: UnloadModelAnimation Return type: void Description: Unload animation data Param[1]: anim (type: ModelAnimation) -Function 496: UnloadModelAnimations() (2 input parameters) +Function 497: UnloadModelAnimations() (2 input parameters) Name: UnloadModelAnimations Return type: void Description: Unload animation array data Param[1]: animations (type: ModelAnimation *) Param[2]: animCount (type: int) -Function 497: IsModelAnimationValid() (2 input parameters) +Function 498: IsModelAnimationValid() (2 input parameters) Name: IsModelAnimationValid Return type: bool Description: Check model animation skeleton match Param[1]: model (type: Model) Param[2]: anim (type: ModelAnimation) -Function 498: CheckCollisionSpheres() (4 input parameters) +Function 499: CheckCollisionSpheres() (4 input parameters) Name: CheckCollisionSpheres Return type: bool Description: Check collision between two spheres @@ -4185,40 +4194,40 @@ Function 498: CheckCollisionSpheres() (4 input parameters) Param[2]: radius1 (type: float) Param[3]: center2 (type: Vector3) Param[4]: radius2 (type: float) -Function 499: CheckCollisionBoxes() (2 input parameters) +Function 500: CheckCollisionBoxes() (2 input parameters) Name: CheckCollisionBoxes Return type: bool Description: Check collision between two bounding boxes Param[1]: box1 (type: BoundingBox) Param[2]: box2 (type: BoundingBox) -Function 500: CheckCollisionBoxSphere() (3 input parameters) +Function 501: CheckCollisionBoxSphere() (3 input parameters) Name: CheckCollisionBoxSphere Return type: bool Description: Check collision between box and sphere Param[1]: box (type: BoundingBox) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 501: GetRayCollisionSphere() (3 input parameters) +Function 502: GetRayCollisionSphere() (3 input parameters) Name: GetRayCollisionSphere Return type: RayCollision Description: Get collision info between ray and sphere Param[1]: ray (type: Ray) Param[2]: center (type: Vector3) Param[3]: radius (type: float) -Function 502: GetRayCollisionBox() (2 input parameters) +Function 503: GetRayCollisionBox() (2 input parameters) Name: GetRayCollisionBox Return type: RayCollision Description: Get collision info between ray and box Param[1]: ray (type: Ray) Param[2]: box (type: BoundingBox) -Function 503: GetRayCollisionMesh() (3 input parameters) +Function 504: GetRayCollisionMesh() (3 input parameters) Name: GetRayCollisionMesh Return type: RayCollision Description: Get collision info between ray and mesh Param[1]: ray (type: Ray) Param[2]: mesh (type: Mesh) Param[3]: transform (type: Matrix) -Function 504: GetRayCollisionTriangle() (4 input parameters) +Function 505: GetRayCollisionTriangle() (4 input parameters) Name: GetRayCollisionTriangle Return type: RayCollision Description: Get collision info between ray and triangle @@ -4226,7 +4235,7 @@ Function 504: GetRayCollisionTriangle() (4 input parameters) Param[2]: p1 (type: Vector3) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) -Function 505: GetRayCollisionQuad() (5 input parameters) +Function 506: GetRayCollisionQuad() (5 input parameters) Name: GetRayCollisionQuad Return type: RayCollision Description: Get collision info between ray and quad @@ -4235,158 +4244,158 @@ Function 505: GetRayCollisionQuad() (5 input parameters) Param[3]: p2 (type: Vector3) Param[4]: p3 (type: Vector3) Param[5]: p4 (type: Vector3) -Function 506: InitAudioDevice() (0 input parameters) +Function 507: InitAudioDevice() (0 input parameters) Name: InitAudioDevice Return type: void Description: Initialize audio device and context No input parameters -Function 507: CloseAudioDevice() (0 input parameters) +Function 508: CloseAudioDevice() (0 input parameters) Name: CloseAudioDevice Return type: void Description: Close the audio device and context No input parameters -Function 508: IsAudioDeviceReady() (0 input parameters) +Function 509: IsAudioDeviceReady() (0 input parameters) Name: IsAudioDeviceReady Return type: bool Description: Check if audio device has been initialized successfully No input parameters -Function 509: SetMasterVolume() (1 input parameters) +Function 510: SetMasterVolume() (1 input parameters) Name: SetMasterVolume Return type: void Description: Set master volume (listener) Param[1]: volume (type: float) -Function 510: GetMasterVolume() (0 input parameters) +Function 511: GetMasterVolume() (0 input parameters) Name: GetMasterVolume Return type: float Description: Get master volume (listener) No input parameters -Function 511: LoadWave() (1 input parameters) +Function 512: LoadWave() (1 input parameters) Name: LoadWave Return type: Wave Description: Load wave data from file Param[1]: fileName (type: const char *) -Function 512: LoadWaveFromMemory() (3 input parameters) +Function 513: LoadWaveFromMemory() (3 input parameters) Name: LoadWaveFromMemory Return type: Wave Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav' Param[1]: fileType (type: const char *) Param[2]: fileData (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 513: IsWaveReady() (1 input parameters) +Function 514: IsWaveReady() (1 input parameters) Name: IsWaveReady Return type: bool Description: Checks if wave data is ready Param[1]: wave (type: Wave) -Function 514: LoadSound() (1 input parameters) +Function 515: LoadSound() (1 input parameters) Name: LoadSound Return type: Sound Description: Load sound from file Param[1]: fileName (type: const char *) -Function 515: LoadSoundFromWave() (1 input parameters) +Function 516: LoadSoundFromWave() (1 input parameters) Name: LoadSoundFromWave Return type: Sound Description: Load sound from wave data Param[1]: wave (type: Wave) -Function 516: LoadSoundAlias() (1 input parameters) +Function 517: LoadSoundAlias() (1 input parameters) Name: LoadSoundAlias Return type: Sound Description: Create a new sound that shares the same sample data as the source sound, does not own the sound data Param[1]: source (type: Sound) -Function 517: IsSoundReady() (1 input parameters) +Function 518: IsSoundReady() (1 input parameters) Name: IsSoundReady Return type: bool Description: Checks if a sound is ready Param[1]: sound (type: Sound) -Function 518: UpdateSound() (3 input parameters) +Function 519: UpdateSound() (3 input parameters) Name: UpdateSound Return type: void Description: Update sound buffer with new data Param[1]: sound (type: Sound) Param[2]: data (type: const void *) Param[3]: sampleCount (type: int) -Function 519: UnloadWave() (1 input parameters) +Function 520: UnloadWave() (1 input parameters) Name: UnloadWave Return type: void Description: Unload wave data Param[1]: wave (type: Wave) -Function 520: UnloadSound() (1 input parameters) +Function 521: UnloadSound() (1 input parameters) Name: UnloadSound Return type: void Description: Unload sound Param[1]: sound (type: Sound) -Function 521: UnloadSoundAlias() (1 input parameters) +Function 522: UnloadSoundAlias() (1 input parameters) Name: UnloadSoundAlias Return type: void Description: Unload a sound alias (does not deallocate sample data) Param[1]: alias (type: Sound) -Function 522: ExportWave() (2 input parameters) +Function 523: ExportWave() (2 input parameters) Name: ExportWave Return type: bool Description: Export wave data to file, returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 523: ExportWaveAsCode() (2 input parameters) +Function 524: ExportWaveAsCode() (2 input parameters) Name: ExportWaveAsCode Return type: bool Description: Export wave sample data to code (.h), returns true on success Param[1]: wave (type: Wave) Param[2]: fileName (type: const char *) -Function 524: PlaySound() (1 input parameters) +Function 525: PlaySound() (1 input parameters) Name: PlaySound Return type: void Description: Play a sound Param[1]: sound (type: Sound) -Function 525: StopSound() (1 input parameters) +Function 526: StopSound() (1 input parameters) Name: StopSound Return type: void Description: Stop playing a sound Param[1]: sound (type: Sound) -Function 526: PauseSound() (1 input parameters) +Function 527: PauseSound() (1 input parameters) Name: PauseSound Return type: void Description: Pause a sound Param[1]: sound (type: Sound) -Function 527: ResumeSound() (1 input parameters) +Function 528: ResumeSound() (1 input parameters) Name: ResumeSound Return type: void Description: Resume a paused sound Param[1]: sound (type: Sound) -Function 528: IsSoundPlaying() (1 input parameters) +Function 529: IsSoundPlaying() (1 input parameters) Name: IsSoundPlaying Return type: bool Description: Check if a sound is currently playing Param[1]: sound (type: Sound) -Function 529: SetSoundVolume() (2 input parameters) +Function 530: SetSoundVolume() (2 input parameters) Name: SetSoundVolume Return type: void Description: Set volume for a sound (1.0 is max level) Param[1]: sound (type: Sound) Param[2]: volume (type: float) -Function 530: SetSoundPitch() (2 input parameters) +Function 531: SetSoundPitch() (2 input parameters) Name: SetSoundPitch Return type: void Description: Set pitch for a sound (1.0 is base level) Param[1]: sound (type: Sound) Param[2]: pitch (type: float) -Function 531: SetSoundPan() (2 input parameters) +Function 532: SetSoundPan() (2 input parameters) Name: SetSoundPan Return type: void Description: Set pan for a sound (0.5 is center) Param[1]: sound (type: Sound) Param[2]: pan (type: float) -Function 532: WaveCopy() (1 input parameters) +Function 533: WaveCopy() (1 input parameters) Name: WaveCopy Return type: Wave Description: Copy a wave to a new wave Param[1]: wave (type: Wave) -Function 533: WaveCrop() (3 input parameters) +Function 534: WaveCrop() (3 input parameters) Name: WaveCrop Return type: void Description: Crop a wave to defined frames range Param[1]: wave (type: Wave *) Param[2]: initFrame (type: int) Param[3]: finalFrame (type: int) -Function 534: WaveFormat() (4 input parameters) +Function 535: WaveFormat() (4 input parameters) Name: WaveFormat Return type: void Description: Convert wave data to desired format @@ -4394,203 +4403,203 @@ Function 534: WaveFormat() (4 input parameters) Param[2]: sampleRate (type: int) Param[3]: sampleSize (type: int) Param[4]: channels (type: int) -Function 535: LoadWaveSamples() (1 input parameters) +Function 536: LoadWaveSamples() (1 input parameters) Name: LoadWaveSamples Return type: float * Description: Load samples data from wave as a 32bit float data array Param[1]: wave (type: Wave) -Function 536: UnloadWaveSamples() (1 input parameters) +Function 537: UnloadWaveSamples() (1 input parameters) Name: UnloadWaveSamples Return type: void Description: Unload samples data loaded with LoadWaveSamples() Param[1]: samples (type: float *) -Function 537: LoadMusicStream() (1 input parameters) +Function 538: LoadMusicStream() (1 input parameters) Name: LoadMusicStream Return type: Music Description: Load music stream from file Param[1]: fileName (type: const char *) -Function 538: LoadMusicStreamFromMemory() (3 input parameters) +Function 539: LoadMusicStreamFromMemory() (3 input parameters) Name: LoadMusicStreamFromMemory Return type: Music Description: Load music stream from data Param[1]: fileType (type: const char *) Param[2]: data (type: const unsigned char *) Param[3]: dataSize (type: int) -Function 539: IsMusicReady() (1 input parameters) +Function 540: IsMusicReady() (1 input parameters) Name: IsMusicReady Return type: bool Description: Checks if a music stream is ready Param[1]: music (type: Music) -Function 540: UnloadMusicStream() (1 input parameters) +Function 541: UnloadMusicStream() (1 input parameters) Name: UnloadMusicStream Return type: void Description: Unload music stream Param[1]: music (type: Music) -Function 541: PlayMusicStream() (1 input parameters) +Function 542: PlayMusicStream() (1 input parameters) Name: PlayMusicStream Return type: void Description: Start music playing Param[1]: music (type: Music) -Function 542: IsMusicStreamPlaying() (1 input parameters) +Function 543: IsMusicStreamPlaying() (1 input parameters) Name: IsMusicStreamPlaying Return type: bool Description: Check if music is playing Param[1]: music (type: Music) -Function 543: UpdateMusicStream() (1 input parameters) +Function 544: UpdateMusicStream() (1 input parameters) Name: UpdateMusicStream Return type: void Description: Updates buffers for music streaming Param[1]: music (type: Music) -Function 544: StopMusicStream() (1 input parameters) +Function 545: StopMusicStream() (1 input parameters) Name: StopMusicStream Return type: void Description: Stop music playing Param[1]: music (type: Music) -Function 545: PauseMusicStream() (1 input parameters) +Function 546: PauseMusicStream() (1 input parameters) Name: PauseMusicStream Return type: void Description: Pause music playing Param[1]: music (type: Music) -Function 546: ResumeMusicStream() (1 input parameters) +Function 547: ResumeMusicStream() (1 input parameters) Name: ResumeMusicStream Return type: void Description: Resume playing paused music Param[1]: music (type: Music) -Function 547: SeekMusicStream() (2 input parameters) +Function 548: SeekMusicStream() (2 input parameters) Name: SeekMusicStream Return type: void Description: Seek music to a position (in seconds) Param[1]: music (type: Music) Param[2]: position (type: float) -Function 548: SetMusicVolume() (2 input parameters) +Function 549: SetMusicVolume() (2 input parameters) Name: SetMusicVolume Return type: void Description: Set volume for music (1.0 is max level) Param[1]: music (type: Music) Param[2]: volume (type: float) -Function 549: SetMusicPitch() (2 input parameters) +Function 550: SetMusicPitch() (2 input parameters) Name: SetMusicPitch Return type: void Description: Set pitch for a music (1.0 is base level) Param[1]: music (type: Music) Param[2]: pitch (type: float) -Function 550: SetMusicPan() (2 input parameters) +Function 551: SetMusicPan() (2 input parameters) Name: SetMusicPan Return type: void Description: Set pan for a music (0.5 is center) Param[1]: music (type: Music) Param[2]: pan (type: float) -Function 551: GetMusicTimeLength() (1 input parameters) +Function 552: GetMusicTimeLength() (1 input parameters) Name: GetMusicTimeLength Return type: float Description: Get music time length (in seconds) Param[1]: music (type: Music) -Function 552: GetMusicTimePlayed() (1 input parameters) +Function 553: GetMusicTimePlayed() (1 input parameters) Name: GetMusicTimePlayed Return type: float Description: Get current music time played (in seconds) Param[1]: music (type: Music) -Function 553: LoadAudioStream() (3 input parameters) +Function 554: LoadAudioStream() (3 input parameters) Name: LoadAudioStream Return type: AudioStream Description: Load audio stream (to stream raw audio pcm data) Param[1]: sampleRate (type: unsigned int) Param[2]: sampleSize (type: unsigned int) Param[3]: channels (type: unsigned int) -Function 554: IsAudioStreamReady() (1 input parameters) +Function 555: IsAudioStreamReady() (1 input parameters) Name: IsAudioStreamReady Return type: bool Description: Checks if an audio stream is ready Param[1]: stream (type: AudioStream) -Function 555: UnloadAudioStream() (1 input parameters) +Function 556: UnloadAudioStream() (1 input parameters) Name: UnloadAudioStream Return type: void Description: Unload audio stream and free memory Param[1]: stream (type: AudioStream) -Function 556: UpdateAudioStream() (3 input parameters) +Function 557: UpdateAudioStream() (3 input parameters) Name: UpdateAudioStream Return type: void Description: Update audio stream buffers with data Param[1]: stream (type: AudioStream) Param[2]: data (type: const void *) Param[3]: frameCount (type: int) -Function 557: IsAudioStreamProcessed() (1 input parameters) +Function 558: IsAudioStreamProcessed() (1 input parameters) Name: IsAudioStreamProcessed Return type: bool Description: Check if any audio stream buffers requires refill Param[1]: stream (type: AudioStream) -Function 558: PlayAudioStream() (1 input parameters) +Function 559: PlayAudioStream() (1 input parameters) Name: PlayAudioStream Return type: void Description: Play audio stream Param[1]: stream (type: AudioStream) -Function 559: PauseAudioStream() (1 input parameters) +Function 560: PauseAudioStream() (1 input parameters) Name: PauseAudioStream Return type: void Description: Pause audio stream Param[1]: stream (type: AudioStream) -Function 560: ResumeAudioStream() (1 input parameters) +Function 561: ResumeAudioStream() (1 input parameters) Name: ResumeAudioStream Return type: void Description: Resume audio stream Param[1]: stream (type: AudioStream) -Function 561: IsAudioStreamPlaying() (1 input parameters) +Function 562: IsAudioStreamPlaying() (1 input parameters) Name: IsAudioStreamPlaying Return type: bool Description: Check if audio stream is playing Param[1]: stream (type: AudioStream) -Function 562: StopAudioStream() (1 input parameters) +Function 563: StopAudioStream() (1 input parameters) Name: StopAudioStream Return type: void Description: Stop audio stream Param[1]: stream (type: AudioStream) -Function 563: SetAudioStreamVolume() (2 input parameters) +Function 564: SetAudioStreamVolume() (2 input parameters) Name: SetAudioStreamVolume Return type: void Description: Set volume for audio stream (1.0 is max level) Param[1]: stream (type: AudioStream) Param[2]: volume (type: float) -Function 564: SetAudioStreamPitch() (2 input parameters) +Function 565: SetAudioStreamPitch() (2 input parameters) Name: SetAudioStreamPitch Return type: void Description: Set pitch for audio stream (1.0 is base level) Param[1]: stream (type: AudioStream) Param[2]: pitch (type: float) -Function 565: SetAudioStreamPan() (2 input parameters) +Function 566: SetAudioStreamPan() (2 input parameters) Name: SetAudioStreamPan Return type: void Description: Set pan for audio stream (0.5 is centered) Param[1]: stream (type: AudioStream) Param[2]: pan (type: float) -Function 566: SetAudioStreamBufferSizeDefault() (1 input parameters) +Function 567: SetAudioStreamBufferSizeDefault() (1 input parameters) Name: SetAudioStreamBufferSizeDefault Return type: void Description: Default size for new audio streams Param[1]: size (type: int) -Function 567: SetAudioStreamCallback() (2 input parameters) +Function 568: SetAudioStreamCallback() (2 input parameters) Name: SetAudioStreamCallback Return type: void Description: Audio thread callback to request new data Param[1]: stream (type: AudioStream) Param[2]: callback (type: AudioCallback) -Function 568: AttachAudioStreamProcessor() (2 input parameters) +Function 569: AttachAudioStreamProcessor() (2 input parameters) Name: AttachAudioStreamProcessor Return type: void Description: Attach audio stream processor to stream, receives the samples as 'float' Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 569: DetachAudioStreamProcessor() (2 input parameters) +Function 570: DetachAudioStreamProcessor() (2 input parameters) Name: DetachAudioStreamProcessor Return type: void Description: Detach audio stream processor from stream Param[1]: stream (type: AudioStream) Param[2]: processor (type: AudioCallback) -Function 570: AttachAudioMixedProcessor() (1 input parameters) +Function 571: AttachAudioMixedProcessor() (1 input parameters) Name: AttachAudioMixedProcessor Return type: void Description: Attach audio stream processor to the entire audio pipeline, receives the samples as 'float' Param[1]: processor (type: AudioCallback) -Function 571: DetachAudioMixedProcessor() (1 input parameters) +Function 572: DetachAudioMixedProcessor() (1 input parameters) Name: DetachAudioMixedProcessor Return type: void Description: Detach audio stream processor from the entire audio pipeline diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 39e86c211..22f9b0ec7 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -670,7 +670,7 @@ - + @@ -1966,6 +1966,13 @@ + + + + + + + From 4311db5ba5eb23c8f1d71268010afb135f3e1e25 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Mon, 24 Jun 2024 08:29:10 +0100 Subject: [PATCH 368/745] [rmodels] Fix -Wstringop-truncation warning (#4096) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rmodels.c: In function ‘LoadBoneInfoGLTF.isra’: rmodels.c:4874:32: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation] 4874 | if (node.name != NULL) strncpy(bones[i].name, node.name, sizeof(bones[i].name)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- src/rmodels.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rmodels.c b/src/rmodels.c index a169ec50d..a323292ca 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -4871,7 +4871,11 @@ static BoneInfo *LoadBoneInfoGLTF(cgltf_skin skin, int *boneCount) for (unsigned int i = 0; i < skin.joints_count; i++) { cgltf_node node = *skin.joints[i]; - if (node.name != NULL) strncpy(bones[i].name, node.name, sizeof(bones[i].name)); + if (node.name != NULL) + { + strncpy(bones[i].name, node.name, sizeof(bones[i].name)); + bones[i].name[sizeof(bones[i].name) - 1] = '\0'; + } // Find parent bone index unsigned int parentIndex = -1; From e96bab7ce63568d86fae4fd664fa06625f76f1ee Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Mon, 24 Jun 2024 08:47:32 -0700 Subject: [PATCH 369/745] [Build] Fix warnings when building in VS 2022 (#4095) * Update raylib_api.* by CI * Fix warnings when building examples in MSVC 2022 * fix auto-format that sneaked in there. --------- Co-authored-by: github-actions[bot] --- examples/audio/audio_mixed_processor.c | 2 +- examples/core/core_2d_camera_platformer.c | 4 +- examples/core/core_input_mouse_wheel.c | 2 +- examples/core/core_random_sequence.c | 16 +++---- examples/core/core_smooth_pixelperfect.c | 8 ++-- examples/core/core_storage_values.c | 2 +- examples/models/models_draw_cube_texture.c | 2 +- examples/shaders/shaders_deferred_render.c | 6 +-- examples/shapes/shapes_lines_bezier.c | 4 +- examples/shapes/shapes_splines_drawing.c | 2 +- .../examples/shapes_splines_drawing.vcxproj | 16 +++---- src/rcore.c | 2 +- src/rlgl.h | 4 +- src/rtext.c | 2 +- src/rtextures.c | 46 +++++++++---------- 15 files changed, 60 insertions(+), 58 deletions(-) diff --git a/examples/audio/audio_mixed_processor.c b/examples/audio/audio_mixed_processor.c index 3a008f3e2..fd970dd19 100644 --- a/examples/audio/audio_mixed_processor.c +++ b/examples/audio/audio_mixed_processor.c @@ -97,7 +97,7 @@ int main(void) DrawRectangle(199, 199, 402, 34, LIGHTGRAY); for (int i = 0; i < 400; i++) { - DrawLine(201 + i, 232 - averageVolume[i] * 32, 201 + i, 232, MAROON); + DrawLine(201 + i, 232 - (int)averageVolume[i] * 32, 201 + i, 232, MAROON); } DrawRectangleLines(199, 199, 402, 34, GRAY); diff --git a/examples/core/core_2d_camera_platformer.c b/examples/core/core_2d_camera_platformer.c index 75fd6cf6a..3743de80b 100644 --- a/examples/core/core_2d_camera_platformer.c +++ b/examples/core/core_2d_camera_platformer.c @@ -133,10 +133,10 @@ int main(void) for (int i = 0; i < envItemsLength; i++) DrawRectangleRec(envItems[i].rect, envItems[i].color); - Rectangle playerRect = { player.position.x - 20, player.position.y - 40, 40, 40 }; + Rectangle playerRect = { player.position.x - 20, player.position.y - 40, 40.0f, 40.0f }; DrawRectangleRec(playerRect, RED); - DrawCircle(player.position.x, player.position.y, 5, GOLD); + DrawCircleV(player.position, 5.0f, GOLD); EndMode2D(); diff --git a/examples/core/core_input_mouse_wheel.c b/examples/core/core_input_mouse_wheel.c index 54f33545e..d261e9348 100644 --- a/examples/core/core_input_mouse_wheel.c +++ b/examples/core/core_input_mouse_wheel.c @@ -36,7 +36,7 @@ int main(void) { // Update //---------------------------------------------------------------------------------- - boxPositionY -= (GetMouseWheelMove()*scrollSpeed); + boxPositionY -= (int)(GetMouseWheelMove()*scrollSpeed); //---------------------------------------------------------------------------------- // Draw diff --git a/examples/core/core_random_sequence.c b/examples/core/core_random_sequence.c index c946b64da..2f7c3be95 100644 --- a/examples/core/core_random_sequence.c +++ b/examples/core/core_random_sequence.c @@ -41,7 +41,7 @@ int main(void) { int rectCount = 20; float rectSize = (float)screenWidth/rectCount; - ColorRect* rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + ColorRect* rectangles = GenerateRandomColorRectSequence((float)rectCount, rectSize, (float)screenWidth, 0.75f * screenHeight); SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -62,7 +62,7 @@ int main(void) { rectCount++; rectSize = (float)screenWidth/rectCount; free(rectangles); - rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + rectangles = GenerateRandomColorRectSequence((float)rectCount, rectSize, (float)screenWidth, 0.75f * screenHeight); } if(IsKeyPressed(KEY_DOWN)) @@ -71,7 +71,7 @@ int main(void) { rectCount--; rectSize = (float)screenWidth/rectCount; free(rectangles); - rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + rectangles = GenerateRandomColorRectSequence((float)rectCount, rectSize, (float)screenWidth, 0.75f * screenHeight); } } @@ -121,17 +121,17 @@ static Color GenerateRandomColor() } static ColorRect* GenerateRandomColorRectSequence(float rectCount, float rectWidth, float screenWidth, float screenHeight){ - int *seq = LoadRandomSequence(rectCount, 0, rectCount-1); - ColorRect* rectangles = (ColorRect *)malloc(rectCount*sizeof(ColorRect)); + int *seq = LoadRandomSequence((unsigned int)rectCount, 0, (unsigned int)rectCount-1); + ColorRect* rectangles = (ColorRect *)malloc((int)rectCount*sizeof(ColorRect)); float rectSeqWidth = rectCount * rectWidth; - int startX = (screenWidth - rectSeqWidth) * 0.5f; + float startX = (screenWidth - rectSeqWidth) * 0.5f; for(int x=0;x Level3 Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) CompileAsC $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) @@ -219,7 +219,7 @@ Level3 Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) CompileAsC $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) /FS %(AdditionalOptions) @@ -237,7 +237,7 @@ Level3 Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) CompileAsC $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) @@ -258,7 +258,7 @@ Level3 Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) CompileAsC $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) @@ -281,7 +281,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) CompileAsC true @@ -303,7 +303,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) CompileAsC true @@ -325,7 +325,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) CompileAsC true @@ -353,7 +353,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) CompileAsC true diff --git a/src/rcore.c b/src/rcore.c index a4fc4d675..2c9af11d5 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -856,7 +856,7 @@ void EndDrawing(void) #ifndef GIF_RECORD_FRAMERATE #define GIF_RECORD_FRAMERATE 10 #endif - gifFrameCounter += GetFrameTime()*1000; + gifFrameCounter += (unsigned int)(GetFrameTime()*1000); // NOTE: We record one gif frame depending on the desired gif framerate if (gifFrameCounter > 1000/GIF_RECORD_FRAMERATE) diff --git a/src/rlgl.h b/src/rlgl.h index 530e44efc..bdf665a44 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -3945,7 +3945,9 @@ void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool norma // Additional types (depends on OpenGL version or extensions): // - GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, // - GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_10F_11F_11F_REV - glVertexAttribPointer(index, compSize, type, normalized, stride, (void *)offset); + + size_t offsetNative = offset; + glVertexAttribPointer(index, compSize, type, normalized, stride, (void *)offsetNative); #endif } diff --git a/src/rtext.c b/src/rtext.c index 62d786eac..35e69420f 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2297,7 +2297,7 @@ static Font LoadBMFont(const char *fileName) } else { - font.glyphs[i].image = GenImageColor(font.recs[i].width, font.recs[i].height, BLACK); + font.glyphs[i].image = GenImageColor((int)font.recs[i].width, (int)font.recs[i].height, BLACK); TRACELOG(LOG_WARNING, "FONT: [%s] Some characters data not correctly provided", fileName); } } diff --git a/src/rtextures.c b/src/rtextures.c index df9ccbdf4..783e9b7f9 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3646,10 +3646,10 @@ void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color col { // Calculate the 2D bounding box of the triangle // Determine the minimum and maximum x and y coordinates of the triangle vertices - int xMin = (v1.x < v2.x)? ((v1.x < v3.x)? v1.x : v3.x) : ((v2.x < v3.x)? v2.x : v3.x); - int yMin = (v1.y < v2.y)? ((v1.y < v3.y)? v1.y : v3.y) : ((v2.y < v3.y)? v2.y : v3.y); - int xMax = (v1.x > v2.x)? ((v1.x > v3.x)? v1.x : v3.x) : ((v2.x > v3.x)? v2.x : v3.x); - int yMax = (v1.y > v2.y)? ((v1.y > v3.y)? v1.y : v3.y) : ((v2.y > v3.y)? v2.y : v3.y); + int xMin = (int)((v1.x < v2.x)? ((v1.x < v3.x) ? v1.x : v3.x) : ((v2.x < v3.x) ? v2.x : v3.x)); + int yMin = (int)((v1.y < v2.y)? ((v1.y < v3.y) ? v1.y : v3.y) : ((v2.y < v3.y) ? v2.y : v3.y)); + int xMax = (int)((v1.x > v2.x)? ((v1.x > v3.x) ? v1.x : v3.x) : ((v2.x > v3.x) ? v2.x : v3.x)); + int yMax = (int)((v1.y > v2.y)? ((v1.y > v3.y) ? v1.y : v3.y) : ((v2.y > v3.y) ? v2.y : v3.y)); // Clamp the bounding box to the image dimensions if (xMin < 0) xMin = 0; @@ -3664,9 +3664,9 @@ void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color col // Barycentric interpolation setup // Calculate the step increments for the barycentric coordinates - int w1XStep = v3.y - v2.y, w1YStep = v2.x - v3.x; - int w2XStep = v1.y - v3.y, w2YStep = v3.x - v1.x; - int w3XStep = v2.y - v1.y, w3YStep = v1.x - v2.x; + int w1XStep = (int)(v3.y - v2.y), w1YStep = (int)(v2.x - v3.x); + int w2XStep = (int)(v1.y - v3.y), w2YStep = (int)(v3.x - v1.x); + int w3XStep = (int)(v2.y - v1.y), w3YStep = (int)(v1.x - v2.x); // If the triangle is a back face, invert the steps if (isBackFace) @@ -3677,9 +3677,9 @@ void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color col } // Calculate the initial barycentric coordinates for the top-left point of the bounding box - int w1Row = (xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y); - int w2Row = (xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y); - int w3Row = (xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y); + int w1Row = (int)((xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y)); + int w2Row = (int)((xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y)); + int w3Row = (int)((xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y)); // Rasterization loop // Iterate through each pixel in the bounding box @@ -3713,10 +3713,10 @@ void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c { // Calculate the 2D bounding box of the triangle // Determine the minimum and maximum x and y coordinates of the triangle vertices - int xMin = (v1.x < v2.x)? ((v1.x < v3.x)? v1.x : v3.x) : ((v2.x < v3.x)? v2.x : v3.x); - int yMin = (v1.y < v2.y)? ((v1.y < v3.y)? v1.y : v3.y) : ((v2.y < v3.y)? v2.y : v3.y); - int xMax = (v1.x > v2.x)? ((v1.x > v3.x)? v1.x : v3.x) : ((v2.x > v3.x)? v2.x : v3.x); - int yMax = (v1.y > v2.y)? ((v1.y > v3.y)? v1.y : v3.y) : ((v2.y > v3.y)? v2.y : v3.y); + int xMin = (int)((v1.x < v2.x)? ((v1.x < v3.x)? v1.x : v3.x) : ((v2.x < v3.x)? v2.x : v3.x)); + int yMin = (int)((v1.y < v2.y)? ((v1.y < v3.y)? v1.y : v3.y) : ((v2.y < v3.y)? v2.y : v3.y)); + int xMax = (int)((v1.x > v2.x)? ((v1.x > v3.x)? v1.x : v3.x) : ((v2.x > v3.x)? v2.x : v3.x)); + int yMax = (int)((v1.y > v2.y)? ((v1.y > v3.y)? v1.y : v3.y) : ((v2.y > v3.y)? v2.y : v3.y)); // Clamp the bounding box to the image dimensions if (xMin < 0) xMin = 0; @@ -3731,9 +3731,9 @@ void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c // Barycentric interpolation setup // Calculate the step increments for the barycentric coordinates - int w1XStep = v3.y - v2.y, w1YStep = v2.x - v3.x; - int w2XStep = v1.y - v3.y, w2YStep = v3.x - v1.x; - int w3XStep = v2.y - v1.y, w3YStep = v1.x - v2.x; + int w1XStep = (int)(v3.y - v2.y), w1YStep = (int)(v2.x - v3.x); + int w2XStep = (int)(v1.y - v3.y), w2YStep = (int)(v3.x - v1.x); + int w3XStep = (int)(v2.y - v1.y), w3YStep = (int)(v1.x - v2.x); // If the triangle is a back face, invert the steps if (isBackFace) @@ -3744,9 +3744,9 @@ void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c } // Calculate the initial barycentric coordinates for the top-left point of the bounding box - int w1Row = (xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y); - int w2Row = (xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y); - int w3Row = (xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y); + int w1Row = (int)((xMin - v2.x)*w1XStep + w1YStep*(yMin - v2.y)); + int w2Row = (int)((xMin - v3.x)*w2XStep + w2YStep*(yMin - v3.y)); + int w3Row = (int)((xMin - v1.x)*w3XStep + w3YStep*(yMin - v1.y)); // Calculate the inverse of the sum of the barycentric coordinates for normalization // NOTE 1: Here, we act as if we multiply by 255 the reciprocal, which avoids additional @@ -3799,9 +3799,9 @@ void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c // Draw triangle outline within an image void ImageDrawTriangleLines(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) { - ImageDrawLine(dst, v1.x, v1.y, v2.x, v2.y, color); - ImageDrawLine(dst, v2.x, v2.y, v3.x, v3.y, color); - ImageDrawLine(dst, v3.x, v3.y, v1.x, v1.y, color); + ImageDrawLine(dst, (int)v1.x, (int)v1.y, (int)v2.x, (int)v2.y, color); + ImageDrawLine(dst, (int)v2.x, (int)v2.y, (int)v3.x, (int)v3.y, color); + ImageDrawLine(dst, (int)v3.x, (int)v3.y, (int)v1.x, (int)v1.y, color); } // Draw a triangle fan defined by points within an image (first vertex is the center) From 385e60dd41d49d56ac1bf44b68549070d108e941 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 24 Jun 2024 18:41:33 +0200 Subject: [PATCH 370/745] Minor tweaks --- src/raylib.h | 2 +- src/rlgl.h | 2 +- src/rshapes.c | 2 +- src/rtextures.c | 5 +++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/raylib.h b/src/raylib.h index 8cd1d1ec0..c3c546c36 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1342,7 +1342,7 @@ RLAPI void ImageAlphaClear(Image *image, Color color, float threshold); RLAPI void ImageAlphaMask(Image *image, Image alphaMask); // Apply alpha mask to image RLAPI void ImageAlphaPremultiply(Image *image); // Premultiply alpha channel RLAPI void ImageBlurGaussian(Image *image, int blurSize); // Apply Gaussian blur using a box blur approximation -RLAPI void ImageKernelConvolution(Image *image, float *kernel, int kernelSize); // Apply Custom Square image convolution kernel +RLAPI void ImageKernelConvolution(Image *image, const float *kernel, int kernelSize); // Apply custom square convolution kernel to image RLAPI void ImageResize(Image *image, int newWidth, int newHeight); // Resize image (Bicubic scaling algorithm) RLAPI void ImageResizeNN(Image *image, int newWidth,int newHeight); // Resize image (Nearest-Neighbor scaling algorithm) RLAPI void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill); // Resize canvas and fill with color diff --git a/src/rlgl.h b/src/rlgl.h index bdf665a44..98d43ea57 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -1406,7 +1406,7 @@ void rlBegin(int mode) } } -void rlEnd() { glEnd(); } +void rlEnd(void) { glEnd(); } void rlVertex2i(int x, int y) { glVertex2i(x, y); } void rlVertex2f(float x, float y) { glVertex2f(x, y); } void rlVertex3f(float x, float y, float z) { glVertex3f(x, y, z); } diff --git a/src/rshapes.c b/src/rshapes.c index 95c54770e..49970d7fb 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -126,7 +126,7 @@ Rectangle GetShapesTextureRectangle(void) // Draw a pixel void DrawPixel(int posX, int posY, Color color) { - DrawPixelV((Vector2){ (float)posX, (float)posY }, color); + DrawPixelV((Vector2){ (float)posX, (float)posY }, color); } // Draw a pixel (Vector version) diff --git a/src/rtextures.c b/src/rtextures.c index 783e9b7f9..e914db419 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -2156,8 +2156,9 @@ void ImageBlurGaussian(Image *image, int blurSize) ImageFormat(image, format); } -// The kernel matrix is assumed to be square. Only supply the width of the kernel -void ImageKernelConvolution(Image *image, float* kernel, int kernelSize) +// Apply custom square convolution kernel to image +// NOTE: The convolution kernel matrix is expected to be square +void ImageKernelConvolution(Image *image, const float *kernel, int kernelSize) { if ((image->data == NULL) || (image->width == 0) || (image->height == 0) || kernel == NULL) return; From ec95ee85a386db29f059b9738cd5ec9329f1661e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 24 Jun 2024 16:42:01 +0000 Subject: [PATCH 371/745] Update raylib_api.* by CI --- parser/output/raylib_api.json | 4 ++-- parser/output/raylib_api.lua | 4 ++-- parser/output/raylib_api.txt | 4 ++-- parser/output/raylib_api.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/parser/output/raylib_api.json b/parser/output/raylib_api.json index a75b94ed0..2baa6c3f3 100644 --- a/parser/output/raylib_api.json +++ b/parser/output/raylib_api.json @@ -7351,7 +7351,7 @@ }, { "name": "ImageKernelConvolution", - "description": "Apply Custom Square image convolution kernel", + "description": "Apply custom square convolution kernel to image", "returnType": "void", "params": [ { @@ -7359,7 +7359,7 @@ "name": "image" }, { - "type": "float *", + "type": "const float *", "name": "kernel" }, { diff --git a/parser/output/raylib_api.lua b/parser/output/raylib_api.lua index 7dcb1fa41..a6d91cd6d 100644 --- a/parser/output/raylib_api.lua +++ b/parser/output/raylib_api.lua @@ -5617,11 +5617,11 @@ return { }, { name = "ImageKernelConvolution", - description = "Apply Custom Square image convolution kernel", + description = "Apply custom square convolution kernel to image", returnType = "void", params = { {type = "Image *", name = "image"}, - {type = "float *", name = "kernel"}, + {type = "const float *", name = "kernel"}, {type = "int", name = "kernelSize"} } }, diff --git a/parser/output/raylib_api.txt b/parser/output/raylib_api.txt index fd082d074..f283ad795 100644 --- a/parser/output/raylib_api.txt +++ b/parser/output/raylib_api.txt @@ -2840,9 +2840,9 @@ Function 303: ImageBlurGaussian() (2 input parameters) Function 304: ImageKernelConvolution() (3 input parameters) Name: ImageKernelConvolution Return type: void - Description: Apply Custom Square image convolution kernel + Description: Apply custom square convolution kernel to image Param[1]: image (type: Image *) - Param[2]: kernel (type: float *) + Param[2]: kernel (type: const float *) Param[3]: kernelSize (type: int) Function 305: ImageResize() (3 input parameters) Name: ImageResize diff --git a/parser/output/raylib_api.xml b/parser/output/raylib_api.xml index 22f9b0ec7..fa953b626 100644 --- a/parser/output/raylib_api.xml +++ b/parser/output/raylib_api.xml @@ -1842,9 +1842,9 @@ - + - + From 3e441ae98b262c1f5a746d49491918c862137fef Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 25 Jun 2024 16:37:20 +0200 Subject: [PATCH 372/745] REVIEWED: `DrawLine()` #4075 --- src/rshapes.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index 49970d7fb..a08cb49e1 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -179,8 +179,8 @@ void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color colo rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); // WARNING: Adding 0.5f offset to "center" point on selected pixel - rlVertex2f((float)startPosX + 0.5f, (float)startPosY + 0.5f); - rlVertex2f((float)endPosX + 0.5f, (float)endPosY + 0.5f); + rlVertex2f((float)startPosX, (float)startPosY); + rlVertex2f((float)endPosX, (float)endPosY); rlEnd(); } @@ -190,8 +190,8 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); // WARNING: Adding 0.5f offset to "center" point on selected pixel - rlVertex2f(startPos.x + 0.5f, startPos.y + 0.5f); - rlVertex2f(endPos.x + 0.5f, endPos.y + 0.5f); + rlVertex2f(startPos.x, startPos.y); + rlVertex2f(endPos.x, endPos.y); rlEnd(); } From dfabbd8ba8342169247685c294ae09f882f48e2c Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Tue, 25 Jun 2024 20:38:55 +0100 Subject: [PATCH 373/745] [rtext] Don't return default font if LoadFontEx fails (#4077) It is currently impossible to check a font loaded successfully with IsFontReady because LoadFontEx will always return a valid font. DrawTextEx has this check: if (font.texture.id == 0) font = GetFontDefault(); // Security check in case of not valid font So anyone relying on the default font as a fallback for fonts failing to load should still be covered. --- src/rtext.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/rtext.c b/src/rtext.c index 35e69420f..55061a1bd 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -394,7 +394,6 @@ Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepoi UnloadFileData(fileData); } - else font = GetFontDefault(); return font; } From 4239e66c55cc36ac5fe4c764d786638b4cece312 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 25 Jun 2024 21:39:43 +0200 Subject: [PATCH 374/745] Update rshapes.c --- src/rshapes.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/rshapes.c b/src/rshapes.c index a08cb49e1..b119f50ec 100644 --- a/src/rshapes.c +++ b/src/rshapes.c @@ -178,7 +178,6 @@ void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color colo { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - // WARNING: Adding 0.5f offset to "center" point on selected pixel rlVertex2f((float)startPosX, (float)startPosY); rlVertex2f((float)endPosX, (float)endPosY); rlEnd(); @@ -189,7 +188,6 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) { rlBegin(RL_LINES); rlColor4ub(color.r, color.g, color.b, color.a); - // WARNING: Adding 0.5f offset to "center" point on selected pixel rlVertex2f(startPos.x, startPos.y); rlVertex2f(endPos.x, endPos.y); rlEnd(); From 0979eafa84c7c5b330a99067411afbc9d5cd13b5 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 25 Jun 2024 21:40:41 +0200 Subject: [PATCH 375/745] WARNING: REMOVED: Default font fallback --- src/rtext.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/rtext.c b/src/rtext.c index 55061a1bd..8daf3a7bc 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -362,11 +362,7 @@ Font LoadFont(const char *fileName) UnloadImage(image); } - if (font.texture.id == 0) - { - TRACELOG(LOG_WARNING, "FONT: [%s] Failed to load font texture -> Using default font", fileName); - font = GetFontDefault(); - } + if (font.texture.id == 0) TRACELOG(LOG_WARNING, "FONT: [%s] Failed to load font texture -> Using default font", fileName); else { SetTextureFilter(font.texture, TEXTURE_FILTER_POINT); // By default, we set point filter (the best performance) From 37205bba84263c5168f7aaeef4da9c43c56a87e1 Mon Sep 17 00:00:00 2001 From: jspast <140563347+jspast@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:15:29 -0300 Subject: [PATCH 376/745] [web] Fix undesired scrollbars on shell files (#4104) --- src/minshell.html | 8 ++++++-- src/shell.html | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/minshell.html b/src/minshell.html index 38f3672b9..4068ca36c 100644 --- a/src/minshell.html +++ b/src/minshell.html @@ -34,8 +34,12 @@

NM2JrCUBBD{P2ki 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 literal 0 HcmV?d00001 diff --git a/examples/models/resources/models/gltf/greenman_hat.glb b/examples/models/resources/models/gltf/greenman_hat.glb new file mode 100644 index 0000000000000000000000000000000000000000..ee932ad3c6a24b9091c8f836da930fe771a50c8c GIT binary patch literal 17300 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 literal 0 HcmV?d00001 diff --git a/examples/models/resources/models/gltf/greenman_shield.glb b/examples/models/resources/models/gltf/greenman_shield.glb new file mode 100644 index 0000000000000000000000000000000000000000..69ef61888a5532b3446967d8aac73076c07d230c GIT binary patch literal 41276 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 uTW0rtth>HdT&Nzm#AI*?80aV!!L-B0^h|5P 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 E00Nd{IRF3v literal 0 HcmV?d00001 From d919d457d396f41a01ff5ea0ea13fa802688be1f Mon Sep 17 00:00:00 2001 From: Bowserinator Date: Mon, 26 Feb 2024 04:41:21 -0500 Subject: [PATCH 148/745] Add Vector4 math functions & Vector2 variants of some Vector3 functions (#3828) --- src/raymath.h | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) diff --git a/src/raymath.h b/src/raymath.h index 15e403cbb..52c11b21c 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -431,6 +431,28 @@ RMAPI Vector2 Vector2Reflect(Vector2 v, Vector2 normal) return result; } +// Get min value for each pair of components +RMAPI Vector2 Vector2Min(Vector2 v1, Vector2 v2) +{ + Vector2 result = { 0 }; + + result.x = fminf(v1.x, v2.x); + result.y = fminf(v1.y, v2.y); + + return result; +} + +// Get max value for each pair of components +RMAPI Vector2 Vector2Max(Vector2 v1, Vector2 v2) +{ + Vector2 result = { 0 }; + + result.x = fmaxf(v1.x, v2.x); + result.y = fmaxf(v1.y, v2.y); + + return result; +} + // Rotate vector by angle RMAPI Vector2 Vector2Rotate(Vector2 v, float angle) { @@ -524,6 +546,31 @@ RMAPI int Vector2Equals(Vector2 p, Vector2 q) return result; } +// Compute the direction of a refracted ray +// v: normalized direction of the incoming ray +// n: normalized normal vector of the interface of two optical media +// r: ratio of the refractive index of the medium from where the ray comes +// to the refractive index of the medium on the other side of the surface +RMAPI Vector2 Vector2Refract(Vector2 v, Vector2 n, float r) +{ + Vector2 result = { 0 }; + + float dot = v.x*n.x + v.y*n.y; + float d = 1.0f - r*r*(1.0f - dot*dot); + + if (d >= 0.0f) + { + d = sqrtf(d); + v.x = r*v.x - (r*dot + d)*n.x; + v.y = r*v.y - (r*dot + d)*n.y; + + result = v; + } + + return result; +} + + //---------------------------------------------------------------------------------- // Module Functions Definition - Vector3 math //---------------------------------------------------------------------------------- @@ -875,6 +922,27 @@ RMAPI Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle) return result; } +// Move Vector towards target +RMAPI Vector3 Vector3MoveTowards(Vector3 v, Vector3 target, float maxDistance) +{ + Vector3 result = { 0 }; + + float dx = target.x - v.x; + float dy = target.y - v.y; + float dz = target.z - v.z; + float value = (dx*dx) + (dy*dy) + (dz*dz); + + if ((value == 0) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target; + + float dist = sqrtf(value); + + result.x = v.x + dx/dist*maxDistance; + result.y = v.y + dy/dist*maxDistance; + result.z = v.z + dz/dist*maxDistance; + + return result; +} + // Calculate linear interpolation between two vectors RMAPI Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount) { @@ -1137,6 +1205,233 @@ RMAPI Vector3 Vector3Refract(Vector3 v, Vector3 n, float r) return result; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition - Vector4 math +//---------------------------------------------------------------------------------- + +RMAPI Vector4 Vector4Zero(void) +{ + Vector4 result = { 0.0f, 0.0f, 0.0f, 0.0f }; + return result; +} + +RMAPI Vector4 Vector4One(void) +{ + Vector4 result = { 1.0f, 1.0f, 1.0f, 1.0f }; + return result; +} + +RMAPI Vector4 Vector4Add(Vector4 v1, Vector4 v2) +{ + Vector4 result = { + v1.x + v2.x, + v1.y + v2.y, + v1.z + v2.z, + v1.w + v2.w + }; + return result; +} + +RMAPI Vector4 Vector4AddValue(Vector4 v, float add) +{ + Vector4 result = { + v.x + add, + v.y + add, + v.z + add, + v.w + add + }; + return result; +} + +RMAPI Vector4 Vector4Subtract(Vector4 v1, Vector4 v2) +{ + Vector4 result = { + v1.x - v2.x, + v1.y - v2.y, + v1.z - v2.z, + v1.w - v2.w + }; + return result; +} + +RMAPI Vector4 Vector4SubtractValue(Vector4 v, float add) +{ + Vector4 result = { + v.x - add, + v.y - add, + v.z - add, + v.w - add + }; + return result; +} + +RMAPI float Vector4Length(Vector4 v) +{ + float result = sqrtf((v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w)); + return result; +} + +RMAPI float Vector4LengthSqr(Vector4 v) +{ + float result = (v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w); + return result; +} + +RMAPI float Vector4DotProduct(Vector4 v1, Vector4 v2) +{ + float result = (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z + v1.w*v2.w); + return result; +} + +// Calculate distance between two vectors +RMAPI float Vector4Distance(Vector4 v1, Vector4 v2) +{ + float result = sqrtf( + (v1.x - v2.x)*(v1.x - v2.x) + (v1.y - v2.y)*(v1.y - v2.y) + + (v1.z - v2.z)*(v1.z - v2.z) + (v1.w - v2.w)*(v1.w - v2.w)); + return result; +} + +// Calculate square distance between two vectors +RMAPI float Vector4DistanceSqr(Vector4 v1, Vector4 v2) +{ + float result = + (v1.x - v2.x)*(v1.x - v2.x) + (v1.y - v2.y)*(v1.y - v2.y) + + (v1.z - v2.z)*(v1.z - v2.z) + (v1.w - v2.w)*(v1.w - v2.w); + + return result; +} + +RMAPI Vector4 Vector4Scale(Vector4 v, float scale) +{ + Vector4 result = { v.x*scale, v.y*scale, v.z*scale, v.w*scale }; + return result; +} + +// Multiply vector by vector +RMAPI Vector4 Vector4Multiply(Vector4 v1, Vector4 v2) +{ + Vector4 result = { v1.x*v2.x, v1.y*v2.y, v1.z*v2.z, v1.w*v2.w }; + return result; +} + +// Negate vector +RMAPI Vector4 Vector4Negate(Vector4 v) +{ + Vector4 result = { -v.x, -v.y, -v.z, -v.w }; + return result; +} + +// Divide vector by vector +RMAPI Vector4 Vector4Divide(Vector4 v1, Vector4 v2) +{ + Vector4 result = { v1.x/v2.x, v1.y/v2.y, v1.z/v2.z, v1.w/v2.w }; + return result; +} + +// Normalize provided vector +RMAPI Vector4 Vector4Normalize(Vector4 v) +{ + Vector4 result = { 0 }; + float length = sqrtf((v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w)); + + if (length > 0) + { + float ilength = 1.0f/length; + result.x = v.x*ilength; + result.y = v.y*ilength; + result.z = v.z*ilength; + result.w = v.w*ilength; + } + + return result; +} + +// Get min value for each pair of components +RMAPI Vector4 Vector4Min(Vector4 v1, Vector4 v2) +{ + Vector4 result = { 0 }; + + result.x = fminf(v1.x, v2.x); + result.y = fminf(v1.y, v2.y); + result.z = fminf(v1.z, v2.z); + result.w = fminf(v1.w, v2.w); + + return result; +} + +// Get max value for each pair of components +RMAPI Vector4 Vector4Max(Vector4 v1, Vector4 v2) +{ + Vector4 result = { 0 }; + + result.x = fmaxf(v1.x, v2.x); + result.y = fmaxf(v1.y, v2.y); + result.z = fmaxf(v1.z, v2.z); + result.w = fmaxf(v1.w, v2.w); + + return result; +} + +// Calculate linear interpolation between two vectors +RMAPI Vector4 Vector4Lerp(Vector4 v1, Vector4 v2, float amount) +{ + Vector4 result = { 0 }; + + result.x = v1.x + amount*(v2.x - v1.x); + result.y = v1.y + amount*(v2.y - v1.y); + result.z = v1.z + amount*(v2.z - v1.z); + result.w = v1.w + amount*(v2.w - v1.w); + + return result; +} + +// Move Vector towards target +RMAPI Vector4 Vector4MoveTowards(Vector4 v, Vector4 target, float maxDistance) +{ + Vector4 result = { 0 }; + + float dx = target.x - v.x; + float dy = target.y - v.y; + float dz = target.z - v.z; + float dw = target.w - v.w; + float value = (dx*dx) + (dy*dy) + (dz*dz) + (dw*dw); + + if ((value == 0) || ((maxDistance >= 0) && (value <= maxDistance*maxDistance))) return target; + + float dist = sqrtf(value); + + result.x = v.x + dx/dist*maxDistance; + result.y = v.y + dy/dist*maxDistance; + result.z = v.z + dz/dist*maxDistance; + result.w = v.w + dw/dist*maxDistance; + + return result; +} + +// Invert the given vector +RMAPI Vector4 Vector4Invert(Vector4 v) +{ + Vector4 result = { 1.0f/v.x, 1.0f/v.y, 1.0f/v.z, 1.0f/v.w }; + return result; +} + +// Check whether two given vectors are almost equal +RMAPI int Vector4Equals(Vector4 p, Vector4 q) +{ +#if !defined(EPSILON) + #define EPSILON 0.000001f +#endif + + int result = ((fabsf(p.x - q.x)) <= (EPSILON*fmaxf(1.0f, fmaxf(fabsf(p.x), fabsf(q.x))))) && + ((fabsf(p.y - q.y)) <= (EPSILON*fmaxf(1.0f, fmaxf(fabsf(p.y), fabsf(q.y))))) && + ((fabsf(p.z - q.z)) <= (EPSILON*fmaxf(1.0f, fmaxf(fabsf(p.z), fabsf(q.z))))) && + ((fabsf(p.w - q.w)) <= (EPSILON*fmaxf(1.0f, fmaxf(fabsf(p.w), fabsf(q.w))))); + return result; +} + + //---------------------------------------------------------------------------------- // Module Functions Definition - Matrix math //---------------------------------------------------------------------------------- From bd6c0bab44549f0ca69cddfa3f9101ccce3728a2 Mon Sep 17 00:00:00 2001 From: Gary M Date: Mon, 26 Feb 2024 01:48:19 -0800 Subject: [PATCH 149/745] add 16-bit unsigned short vec4 format for gltf joint loading (#3821) --- src/rmodels.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 166f51a6a..1a4374a39 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5287,6 +5287,13 @@ static Model LoadGLTF(const char *fileName) unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; LOAD_ATTRIBUTE(attribute, 2, unsigned short, ptr) } + else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) + { + // Handle 16-bit unsigned short, vec4 format + model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); + unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; + LOAD_ATTRIBUTE(attribute, 4, unsigned short, ptr) + } else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) { // Handle 32-bit unsigned int, vec4 format From 3086bf1668249803cd847d158901087a708bcb7a Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 26 Feb 2024 10:49:01 +0100 Subject: [PATCH 150/745] Update models_bone_socket.c --- examples/models/models_bone_socket.c | 169 +++++++++++++-------------- 1 file changed, 83 insertions(+), 86 deletions(-) diff --git a/examples/models/models_bone_socket.c b/examples/models/models_bone_socket.c index c454cf31e..0e0463270 100644 --- a/examples/models/models_bone_socket.c +++ b/examples/models/models_bone_socket.c @@ -15,14 +15,12 @@ #include "raylib.h" -#include -#include +#include "raymath.h" -#define BONE_SOCKETS 3 - -#define BONE_SOCKET_HAT 0 -#define BONE_SOCKET_HAND_R 1 -#define BONE_SOCKET_HAND_L 2 +#define BONE_SOCKETS 3 +#define BONE_SOCKET_HAT 0 +#define BONE_SOCKET_HAND_R 1 +#define BONE_SOCKET_HAND_L 2 //------------------------------------------------------------------------------------ // Program main entry point @@ -37,49 +35,57 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [models] example - bone socket"); // Define the camera to look into our 3d world - Camera camera = { 0 }; - camera.position = { 5.0f, 5.0f, 5.0f }; // Camera position - camera.target = { 0.0f, 2.0f, 0.0f }; // Camera looking at point - camera.up = { 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + Camera camera = { + .position = { 5.0f, 5.0f, 5.0f }, // Camera position + .target = { 0.0f, 2.0f, 0.0f }, // Camera looking at point + .up = { 0.0f, 1.0f, 0.0f }, // Camera up vector (rotation towards target) + .fovy = 45.0f, // Camera field-of-view Y + .projection = CAMERA_PERSPECTIVE // Camera projection type + }; // Load gltf model - Model characterModel = LoadModel("greenman.glb"); + Model characterModel = LoadModel("resources/models/gltf/greenman.glb"); // Load character model Model equipModel[BONE_SOCKETS] = { - LoadModel("greenman_hat.glb"), // index for the hat model is the same as BONE_SOCKET_HAT - LoadModel("greenman_sword.glb"), // index for the sword model is the same as BONE_SOCKET_HAND_R - LoadModel("greenman_shield.glb") // index for the shield model is the same as BONE_SOCKET_HAND_L + LoadModel("resources/models/gltf/greenman_hat.glb"), // Index for the hat model is the same as BONE_SOCKET_HAT + LoadModel("resources/models/gltf/greenman_sword.glb"), // Index for the sword model is the same as BONE_SOCKET_HAND_R + LoadModel("resources/models/gltf/greenman_shield.glb") // Index for the shield model is the same as BONE_SOCKET_HAND_L }; - bool showEquip[3] = {true, true, true}; // for toggle on/off equip + + bool showEquip[3] = { true, true, true }; // Toggle on/off equip // Load gltf model animations - unsigned int animsCount = 0; + int animsCount = 0; unsigned int animIndex = 0; unsigned int animCurrentFrame = 0; - ModelAnimation* modelAnimations = LoadModelAnimations("greenman.glb", &animsCount); + ModelAnimation *modelAnimations = LoadModelAnimations("resources/models/gltf/greenman.glb", &animsCount); // indices of bones for sockets - int boneSocketIndex[BONE_SOCKETS] = {-1, -1, -1}; + int boneSocketIndex[BONE_SOCKETS] = { -1, -1, -1 }; // search bones for sockets - for (int i = 0; i < characterModel.boneCount; i++) { - if (strcmp(characterModel.bones[i].name, "socket_hat") == 0) { + for (int i = 0; i < characterModel.boneCount; i++) + { + if (TextIsEqual(characterModel.bones[i].name, "socket_hat")) + { boneSocketIndex[BONE_SOCKET_HAT] = i; continue; } - if (strcmp(characterModel.bones[i].name, "socket_hand_R") == 0) { + + if (TextIsEqual(characterModel.bones[i].name, "socket_hand_R")) + { boneSocketIndex[BONE_SOCKET_HAND_R] = i; continue; } - if (strcmp(characterModel.bones[i].name, "socket_hand_L") == 0) { + + if (TextIsEqual(characterModel.bones[i].name, "socket_hand_L")) + { boneSocketIndex[BONE_SOCKET_HAND_L] = i; continue; } } - Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position - unsigned short angle = 0; // angle for rotate character + Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position + unsigned short angle = 0; // Set angle for rotate character DisableCursor(); // Limit cursor to relative movement inside the window @@ -92,32 +98,23 @@ int main(void) // Update //---------------------------------------------------------------------------------- UpdateCamera(&camera, CAMERA_THIRD_PERSON); - // rotate character - if (IsKeyDown(KEY_F)) { - angle = (angle + 1) % 360; - } else if (IsKeyDown(KEY_H)) { - angle = (360 + angle - 1) % 360; - } - // Select current animation - if (IsKeyPressed(KEY_T)) { - animIndex = (animIndex + 1) % animsCount; - } else if (IsKeyPressed(KEY_G)) { - animIndex = (animIndex + animsCount - 1) % animsCount; - } - // toggle shown of equip - if (IsKeyPressed(KEY_ONE)) { - showEquip[BONE_SOCKET_HAT] = !showEquip[BONE_SOCKET_HAT]; - } - if (IsKeyPressed(KEY_TWO)) { - showEquip[BONE_SOCKET_HAND_R] = !showEquip[BONE_SOCKET_HAND_R]; - } - if (IsKeyPressed(KEY_THREE)) { - showEquip[BONE_SOCKET_HAND_L] = !showEquip[BONE_SOCKET_HAND_L]; - } + + // Rotate character + if (IsKeyDown(KEY_F)) angle = (angle + 1)%360; + else if (IsKeyDown(KEY_H)) angle = (360 + angle - 1)%360; + // Select current animation + if (IsKeyPressed(KEY_T)) animIndex = (animIndex + 1)%animsCount; + else if (IsKeyPressed(KEY_G)) animIndex = (animIndex + animsCount - 1)%animsCount; + + // Toggle shown of equip + if (IsKeyPressed(KEY_ONE)) showEquip[BONE_SOCKET_HAT] = !showEquip[BONE_SOCKET_HAT]; + if (IsKeyPressed(KEY_TWO)) showEquip[BONE_SOCKET_HAND_R] = !showEquip[BONE_SOCKET_HAND_R]; + if (IsKeyPressed(KEY_THREE)) showEquip[BONE_SOCKET_HAND_L] = !showEquip[BONE_SOCKET_HAND_L]; + // Update model animation ModelAnimation anim = modelAnimations[animIndex]; - animCurrentFrame = (animCurrentFrame + 1) % anim.frameCount; + animCurrentFrame = (animCurrentFrame + 1)%anim.frameCount; UpdateModelAnimation(characterModel, anim, animCurrentFrame); //---------------------------------------------------------------------------------- @@ -125,44 +122,44 @@ int main(void) //---------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(RAYWHITE); + ClearBackground(RAYWHITE); - BeginMode3D(camera); + BeginMode3D(camera); + // Draw character + Quaternion characterRotate = QuaternionFromAxisAngle((Vector3){ 0.0f, 1.0f, 0.0f }, angle*DEG2RAD); + characterModel.transform = MatrixMultiply(QuaternionToMatrix(characterRotate), MatrixTranslate(position.x, position.y, position.z)); + UpdateModelAnimation(characterModel, anim, animCurrentFrame); + DrawMesh(characterModel.meshes[0], characterModel.materials[1], characterModel.transform); - // draw character - Quaternion characterRotate = QuaternionFromAxisAngle({ 0.0f,1.0f,0.0f }, angle*DEG2RAD); - characterModel.transform = MatrixMultiply(QuaternionToMatrix(characterRotate), MatrixTranslate(position.x, position.y, position.z)); - UpdateModelAnimation(characterModel, anim, animCurrentFrame); - DrawMesh(characterModel.meshes[0], characterModel.materials[1], characterModel.transform); + // Draw equipments (hat, sword, shield) + for (unsigned short i=0; irotation; - // calculate socket rotation (angle between bone in initial pose and same bone in current animation frame) - Quaternion rotate = QuaternionMultiply(outRotation, QuaternionInvert(inRotation)); - Matrix matrixTransform = QuaternionToMatrix(rotate); - // translate socket to its position in the current animation - matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(transform->translation.x, transform->translation.y, transform->translation.z)); - // rotate socket by character angle - matrixTransform = MatrixMultiply(matrixTransform, QuaternionToMatrix(characterRotate)); - // translate socket to character position - matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(position.x, position.y+0.0f, position.z)); - // draw mesh at socket position with socket angle rotation - DrawMesh(equipModel[i].meshes[0], equipModel[i].materials[1], matrixTransform); - } + Transform *transform = &anim.framePoses[animCurrentFrame][boneSocketIndex[i]]; + Quaternion inRotation = characterModel.bindPose[boneSocketIndex[i]].rotation; + Quaternion outRotation = transform->rotation; + + // Calculate socket rotation (angle between bone in initial pose and same bone in current animation frame) + Quaternion rotate = QuaternionMultiply(outRotation, QuaternionInvert(inRotation)); + Matrix matrixTransform = QuaternionToMatrix(rotate); + // Translate socket to its position in the current animation + matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(transform->translation.x, transform->translation.y, transform->translation.z)); + // Rotate socket by character angle + matrixTransform = MatrixMultiply(matrixTransform, QuaternionToMatrix(characterRotate)); + // Translate socket to character position + matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(position.x, position.y + 0.0f, position.z)); + + // Draw mesh at socket position with socket angle rotation + DrawMesh(equipModel[i].meshes[0], equipModel[i].materials[1], matrixTransform); + } - DrawGrid(10, 1.0f); + DrawGrid(10, 1.0f); + EndMode3D(); - EndMode3D(); - - DrawText("Use the T/G to switch animation", 10, 10, 20, GRAY); - DrawText("Use the F/H to rotate character left/right", 10, 35, 20, GRAY); - DrawText("Use the 1,2,3 to toggle shown of hat, sword and shield", 10, 60, 20, GRAY); + DrawText("Use the T/G to switch animation", 10, 10, 20, GRAY); + DrawText("Use the F/H to rotate character left/right", 10, 35, 20, GRAY); + DrawText("Use the 1,2,3 to toggle shown of hat, sword and shield", 10, 60, 20, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -172,9 +169,9 @@ int main(void) //-------------------------------------------------------------------------------------- UnloadModelAnimations(modelAnimations, animsCount); UnloadModel(characterModel); // Unload character model and meshes/material - for (unsigned short i = 0; i < BONE_SOCKETS; i++) { - UnloadModel(equipModel[i]); // Unload equipment model and meshes/material - } + + // Unload equipment model and meshes/material + for (unsigned short i = 0; i < BONE_SOCKETS; i++) UnloadModel(equipModel[i]); CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- From 7d6e59170b0ad061f4734281da378d80b3135291 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 26 Feb 2024 10:49:04 +0100 Subject: [PATCH 151/745] Update rtextures.c --- src/rtextures.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/rtextures.c b/src/rtextures.c index efa91df91..52e6dd2d6 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3874,15 +3874,13 @@ TextureCubemap LoadTextureCubemap(Image image, int layout) // NOTE: Cubemap data is expected to be provided as 6 images in a single data array, // one after the other (that's a vertical image), following convention: +X, -X, +Y, -Y, +Z, -Z cubemap.id = rlLoadTextureCubemap(faces.data, size, faces.format); - if (cubemap.id == 0) - { - TRACELOG(LOG_WARNING, "IMAGE: Failed to load cubemap image"); - } - else + + if (cubemap.id != 0) { cubemap.format = faces.format; cubemap.mipmaps = 1; } + else TRACELOG(LOG_WARNING, "IMAGE: Failed to load cubemap image"); UnloadImage(faces); } From a6425fa1b905f410e02def3d2f11f2d968358371 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 26 Feb 2024 11:03:09 +0100 Subject: [PATCH 152/745] Added note #3822 --- src/rmodels.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 1a4374a39..4f634990f 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5282,29 +5282,38 @@ static Model LoadGLTF(const char *fileName) } else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec2)) { + // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Handle 16-bit unsigned short, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(unsigned short)); - unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; + unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; LOAD_ATTRIBUTE(attribute, 2, unsigned short, ptr) } else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) { + // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Handle 16-bit unsigned short, vec4 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); - unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; + unsigned short *ptr = (unsigned short *)model.meshes[meshIndex].boneIds; LOAD_ATTRIBUTE(attribute, 4, unsigned short, ptr) } else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) { + // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Handle 32-bit unsigned int, vec4 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned int)); - LOAD_ATTRIBUTE(attribute, 4, unsigned int, model.meshes[meshIndex].boneIds) + unsigned int *ptr = (unsigned int *)model.meshes[meshIndex].boneIds; + LOAD_ATTRIBUTE(attribute, 4, unsigned int, ptr) } else if ((attribute->component_type == cgltf_component_type_r_32f) && (attribute->type == cgltf_type_vec2)) { + // TODO: WARNING: model.meshes[].boneIds is an (unsigned char *) --> Conversion required! + // Handle 32-bit float, vec2 format model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*2, sizeof(float)); - float* ptr = (float*)model.meshes[meshIndex].boneIds; + float *ptr = (float *)model.meshes[meshIndex].boneIds; LOAD_ATTRIBUTE(attribute, 2, float, ptr) } else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported", fileName); From 7fae41b5c6f218c4e50fa738bae16c7ca924011a Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 26 Feb 2024 11:03:12 +0100 Subject: [PATCH 153/745] Update models_bone_socket.c --- examples/models/models_bone_socket.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/examples/models/models_bone_socket.c b/examples/models/models_bone_socket.c index 0e0463270..8f62f70f7 100644 --- a/examples/models/models_bone_socket.c +++ b/examples/models/models_bone_socket.c @@ -35,13 +35,12 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [models] example - bone socket"); // Define the camera to look into our 3d world - Camera camera = { - .position = { 5.0f, 5.0f, 5.0f }, // Camera position - .target = { 0.0f, 2.0f, 0.0f }, // Camera looking at point - .up = { 0.0f, 1.0f, 0.0f }, // Camera up vector (rotation towards target) - .fovy = 45.0f, // Camera field-of-view Y - .projection = CAMERA_PERSPECTIVE // Camera projection type - }; + Camera camera = { 0 }; + camera.position = (Vector3){ 5.0f, 5.0f, 5.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.0f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type // Load gltf model Model characterModel = LoadModel("resources/models/gltf/greenman.glb"); // Load character model @@ -132,7 +131,7 @@ int main(void) DrawMesh(characterModel.meshes[0], characterModel.materials[1], characterModel.transform); // Draw equipments (hat, sword, shield) - for (unsigned short i=0; i Date: Mon, 26 Feb 2024 11:20:18 +0100 Subject: [PATCH 154/745] fix build paths (#3835) --- src/build.zig | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/build.zig b/src/build.zig index 32b31f1aa..5251f30ff 100644 --- a/src/build.zig +++ b/src/build.zig @@ -1,12 +1,16 @@ const std = @import("std"); const builtin = @import("builtin"); -// This has been tested to work with zig 0.11.0 and zig 0.12.0-dev.2075+f5978181e +// This has been tested to work with zig 0.11.0, zig 0.12.0-dev.2075+f5978181e and 0.12.0-dev.2990+31763d28c // // anytype is used here to preserve compatibility, in 0.12.0dev the std.zig.CrossTarget type // was reworked into std.Target.Query and std.Build.ResolvedTarget. Using anytype allows // us to accept both CrossTarget and ResolvedTarget and act accordingly in getOsTagVersioned. pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { + var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){}; + const gpa = general_purpose_allocator.allocator(); + // get the relative source path, because it is needed for addCSourceFilesVersioned + const relative = srcdir[b.build_root.path.?.len..]; if (comptime builtin.zig_version.minor >= 12 and @TypeOf(target) != std.Build.ResolvedTarget) { @compileError("Expected 'std.Build.ResolvedTarget' for argument 2 'target' in 'addRaylib', found '" ++ @typeName(@TypeOf(target)) ++ "'"); } else if (comptime builtin.zig_version.minor == 11 and @TypeOf(target) != std.zig.CrossTarget) { @@ -45,37 +49,37 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // No GLFW required on PLATFORM_DRM if (!options.platform_drm) { - raylib.addIncludePath(.{ .path = srcdir ++ "/external/glfw/include" }); + raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "/external/glfw/include" }); } addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rcore.c", - srcdir ++ "/utils.c", + try join2(gpa, relative, "rcore.c"), + try join2(gpa, relative, "utils.c"), }, raylib_flags_arr.items); if (options.raudio) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/raudio.c", + try join2(gpa, relative, "raudio.c"), }, raylib_flags_arr.items); } if (options.rmodels) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rmodels.c", + try join2(gpa, relative, "rmodels.c"), }, raylib_flags_arr.items); } if (options.rshapes) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rshapes.c", + try join2(gpa, relative, "rshapes.c"), }, raylib_flags_arr.items); } if (options.rtext) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rtext.c", + try join2(gpa, relative, "rtext.c"), }, raylib_flags_arr.items); } if (options.rtextures) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rtextures.c", + try join2(gpa, relative, "rtextures.c"), }, raylib_flags_arr.items); } @@ -85,14 +89,14 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM if (options.raygui) { const raygui_c_path = gen_step.add("raygui.c", "#define RAYGUI_IMPLEMENTATION\n#include \"raygui.h\"\n"); raylib.addCSourceFile(.{ .file = raygui_c_path, .flags = raylib_flags_arr.items }); - raylib.addIncludePath(.{ .path = srcdir }); - raylib.addIncludePath(.{ .path = srcdir ++ "/../../raygui/src" }); + raylib.addIncludePath(.{ .cwd_relative = srcdir }); + raylib.addIncludePath(.{ .cwd_relative = srcdir ++ "/../../raygui/src" }); } switch (getOsTagVersioned(target)) { .windows => { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rglfw.c", + try join2(gpa, relative, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("winmm"); raylib.linkSystemLibrary("gdi32"); @@ -103,7 +107,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM .linux => { if (!options.platform_drm) { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rglfw.c", + try join2(gpa, relative, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -133,7 +137,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM }, .freebsd, .openbsd, .netbsd, .dragonfly => { addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rglfw.c", + try join2(gpa, relative, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkSystemLibrary("GL"); raylib.linkSystemLibrary("rt"); @@ -152,7 +156,7 @@ pub fn addRaylib(b: *std.Build, target: anytype, optimize: std.builtin.OptimizeM // On macos rglfw.c include Objective-C files. try raylib_flags_arr.append("-ObjC"); addCSourceFilesVersioned(raylib, &.{ - srcdir ++ "/rglfw.c", + try join2(gpa, relative, "rglfw.c"), }, raylib_flags_arr.items); raylib.linkFramework("Foundation"); raylib.linkFramework("CoreServices"); @@ -257,3 +261,8 @@ fn addCSourceFilesVersioned(exe: *std.Build.Step.Compile, files: []const []const exe.addCSourceFiles(files, flags); } } + +fn join2(allocator: std.mem.Allocator, path1: []const u8, path2: []const u8) ![]u8 { + const joinedPath = try std.fs.path.join(allocator, &[_][]const u8{ path1, path2 }); + return joinedPath; +} From 074fbb02647a08ad62b62dbecb76551648a5e407 Mon Sep 17 00:00:00 2001 From: "Christian W. Zuckschwerdt" Date: Tue, 27 Feb 2024 13:08:16 +0100 Subject: [PATCH 155/745] Fix DRM cross-compile without sysroot (#3839) --- cmake/LibraryConfigurations.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index 18b4f196a..23a7ec2f0 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -43,7 +43,7 @@ if (${PLATFORM} MATCHES "Desktop") if ("${OPENGL_LIBRARIES}" STREQUAL "") set(OPENGL_LIBRARIES "GL") endif () - + set(LIBS_PRIVATE m atomic pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY}) if ("${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD") @@ -86,7 +86,7 @@ elseif ("${PLATFORM}" MATCHES "DRM") find_library(DRM drm) find_library(GBM gbm) - if (NOT CMAKE_CROSSCOMPILING) + if (NOT CMAKE_CROSSCOMPILING OR NOT CMAKE_SYSROOT) include_directories(/usr/include/libdrm) endif () set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} atomic pthread m dl) From f0807d2be1cee5aedc48681ae2df978fa3a44ab6 Mon Sep 17 00:00:00 2001 From: Laurentino Luna <81370009+lauchimoon@users.noreply.github.com> Date: Tue, 27 Feb 2024 09:08:47 -0300 Subject: [PATCH 156/745] Change sanitization check for `ExportDataAsCode` (#3837) * Change sanitization check for `ExportDataAsCode` I opted to use `isalnum` function since it should handle most cases. It cannot however handle cases of files beginning with numbers. * Update `ExportDataAsCode` condition * Reinsert comment on `ExportDataAsCode` --- src/utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index 78b3b7bdc..2c26c114a 100644 --- a/src/utils.c +++ b/src/utils.c @@ -320,8 +320,8 @@ bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileN { // Convert variable name to uppercase if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; } - // Replace '-' (non valid character for C identifier with '_') - if (varFileName[i] == '-') { varFileName[i] = '_'; } + // Replace non valid character for C identifier with '_' + else if (varFileName[i] == '.' || varFileName[i] == '-' || varFileName[i] == '?' || varFileName[i] == '!' || varFileName[i] == '+') { varFileName[i] = '_'; } } byteCount += sprintf(txtData + byteCount, "#define %s_DATA_SIZE %i\n\n", varFileName, dataSize); From 2aed94cfc21aeb9dc0371964485866aab4384671 Mon Sep 17 00:00:00 2001 From: aiafrasinei Date: Tue, 27 Feb 2024 23:15:09 +0200 Subject: [PATCH 157/745] Fix examples warnings for macos (#3842) --- examples/models/models_first_person_maze.c | 1 - examples/others/raylib_opengl_interop.c | 1 + examples/text/text_codepoints_loading.c | 5 ++--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/models/models_first_person_maze.c b/examples/models/models_first_person_maze.c index 80a2c88e5..b1af7d47b 100644 --- a/examples/models/models_first_person_maze.c +++ b/examples/models/models_first_person_maze.c @@ -34,7 +34,6 @@ int main(void) camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) camera.fovy = 45.0f; // Camera field-of-view Y camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - Vector3 position = { 0.0f, 0.0f, 0.0f }; // Set model position Image imMap = LoadImage("resources/cubicmap.png"); // Load cubicmap image (RAM) Texture2D cubicmap = LoadTextureFromImage(imMap); // Convert image to texture to display (VRAM) diff --git a/examples/others/raylib_opengl_interop.c b/examples/others/raylib_opengl_interop.c index c1b58d67c..b0b7d6ff3 100644 --- a/examples/others/raylib_opengl_interop.c +++ b/examples/others/raylib_opengl_interop.c @@ -35,6 +35,7 @@ #define GLSL_VERSION 100 #else #if defined(__APPLE__) + #define GL_SILENCE_DEPRECATION // Silence Opengl API deprecation warnings #include // OpenGL 3 library for OSX #include // OpenGL 3 extensions library for OSX #else diff --git a/examples/text/text_codepoints_loading.c b/examples/text/text_codepoints_loading.c index 04df96e52..c69803c12 100644 --- a/examples/text/text_codepoints_loading.c +++ b/examples/text/text_codepoints_loading.c @@ -60,7 +60,6 @@ int main(void) bool showFontAtlas = false; int codepointSize = 0; - int codepoint = 0; char *ptr = text; SetTargetFPS(60); // Set our game to run at 60 frames-per-second @@ -77,13 +76,13 @@ int main(void) if (IsKeyPressed(KEY_RIGHT)) { // Get next codepoint in string and move pointer - codepoint = GetCodepointNext(ptr, &codepointSize); + GetCodepointNext(ptr, &codepointSize); ptr += codepointSize; } else if (IsKeyPressed(KEY_LEFT)) { // Get previous codepoint in string and move pointer - codepoint = GetCodepointPrevious(ptr, &codepointSize); + GetCodepointPrevious(ptr, &codepointSize); ptr -= codepointSize; } //---------------------------------------------------------------------------------- From ed9a6d862b9e31acaa59c6ffffd1f8aa398d54d8 Mon Sep 17 00:00:00 2001 From: Ray Date: Wed, 28 Feb 2024 16:27:55 +0100 Subject: [PATCH 158/745] Update rtextures.c --- src/rtextures.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rtextures.c b/src/rtextures.c index 52e6dd2d6..bd3d54cc0 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -1056,6 +1056,7 @@ Image GenImageChecked(int width, int height, int checksX, int checksY, Color col } // Generate image: white noise +// NOTE: It requires GetRandomValue(), defined in [rcore] Image GenImageWhiteNoise(int width, int height, float factor) { Color *pixels = (Color *)RL_MALLOC(width*height*sizeof(Color)); From 077ab6d56bea4fc464cd5c07e02071e911eac64a Mon Sep 17 00:00:00 2001 From: Dalton Overmyer Date: Thu, 29 Feb 2024 11:26:49 -0600 Subject: [PATCH 159/745] Add an example that generates a random sequence. (#3846) --- examples/Makefile | 1 + examples/Makefile.Web | 4 + examples/README.md | 1 + examples/core/core_random_sequence.c | 176 ++++++++ examples/core/core_random_sequence.png | Bin 0 -> 34025 bytes .../examples/core_random_sequence.vcxproj | 387 ++++++++++++++++++ projects/VS2022/raylib.sln | 2 + 7 files changed, 571 insertions(+) create mode 100644 examples/core/core_random_sequence.c create mode 100644 examples/core/core_random_sequence.png create mode 100644 projects/VS2022/examples/core_random_sequence.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 8362b8c8e..9ce05da54 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -453,6 +453,7 @@ CORE = \ core/core_input_mouse_wheel \ core/core_input_multitouch \ core/core_loading_thread \ + core/core_random_sequence \ core/core_random_values \ core/core_scissor_test \ core/core_smooth_pixelperfect \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 204db50cc..af3325aa5 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -359,6 +359,7 @@ CORE = \ core/core_input_mouse_wheel \ core/core_input_multitouch \ core/core_loading_thread \ + core/core_random_sequence \ core/core_random_values \ core/core_scissor_test \ core/core_smooth_pixelperfect \ @@ -588,6 +589,9 @@ core/core_input_multitouch: core/core_input_multitouch.c core/core_loading_thread: core/core_loading_thread.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -sUSE_PTHREADS=1 +core/core_random_sequence: core/core_random_sequence.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + core/core_random_values: core/core_random_values.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) diff --git a/examples/README.md b/examples/README.md index 0fed8acd0..94f5369db 100644 --- a/examples/README.md +++ b/examples/README.md @@ -55,6 +55,7 @@ Examples using raylib core platform functionality like window creation, inputs, | 29 | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Ray](https://github.com/raysan5) | | 30 | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐️⭐️⭐️☆ | 3.7 | **4.0** | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | | 31 | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 32 | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐️☆☆☆ | **5.0** | **5.0** | [REDl3east](https://github.com/REDl3east) | ### category: shapes diff --git a/examples/core/core_random_sequence.c b/examples/core/core_random_sequence.c new file mode 100644 index 000000000..c946b64da --- /dev/null +++ b/examples/core/core_random_sequence.c @@ -0,0 +1,176 @@ +/******************************************************************************************* +* +* raylib [core] example - Generates a random sequence +* +* Example originally created with raylib 5.0, last time updated with raylib 5.0 +* +* Example contributed by Dalton Overmyer (@REDl3east) and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2023 Dalton Overmyer (@REDl3east) +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" + +#include // Required for: malloc() and free() + +typedef struct ColorRect{ + Color c; + Rectangle r; +} ColorRect; + +static Color GenerateRandomColor(); +static ColorRect* GenerateRandomColorRectSequence(float rectCount, float rectWidth, float screenWidth, float screenHeight); +static void ShuffleColorRectSequence(ColorRect* rectangles, int rectCount); +static void DrawTextCenterKeyHelp(const char* key, const char* text, int posX, int posY, int fontSize, Color color); + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) { + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - Generates a random sequence"); + + int rectCount = 20; + float rectSize = (float)screenWidth/rectCount; + ColorRect* rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + + if(IsKeyPressed(KEY_SPACE)) + { + ShuffleColorRectSequence(rectangles, rectCount); + } + + if(IsKeyPressed(KEY_UP)) + { + rectCount++; + rectSize = (float)screenWidth/rectCount; + free(rectangles); + rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + } + + if(IsKeyPressed(KEY_DOWN)) + { + if(rectCount >= 4){ + rectCount--; + rectSize = (float)screenWidth/rectCount; + free(rectangles); + rectangles = GenerateRandomColorRectSequence(rectCount, rectSize, screenWidth, 0.75f * screenHeight); + } + } + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + int fontSize = 20; + for(int x=0;xc = r2->c; + r1->r.height = r2->r.height; + r1->r.y = r2->r.y; + r2->c = tmp.c; + r2->r.height = tmp.r.height; + r2->r.y = tmp.r.y; + + } + UnloadRandomSequence(seq); +} + +static void DrawTextCenterKeyHelp(const char* key, const char* text, int posX, int posY, int fontSize, Color color) +{ + int spaceSize = MeasureText(" ", fontSize); + int pressSize = MeasureText("Press", fontSize); + int keySize = MeasureText(key, fontSize); + int textSize = MeasureText(text, fontSize); + int totalSize = pressSize + 2 * spaceSize + keySize + 2 * spaceSize + textSize; + int textSizeCurrent = 0; + + DrawText("Press", posX, posY, fontSize, color); + textSizeCurrent += pressSize + 2 * spaceSize; + DrawText(key, posX + textSizeCurrent, posY, fontSize, RED); + DrawRectangle(posX + textSizeCurrent, posY + fontSize, keySize, 3, RED); + textSizeCurrent += keySize + 2 * spaceSize; + DrawText(text, posX + textSizeCurrent, posY, fontSize, color); +} \ No newline at end of file diff --git a/examples/core/core_random_sequence.png b/examples/core/core_random_sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..206aa8b4021ee2acd8e3ef2b8d8f999e698b357e GIT binary patch literal 34025 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≤bZsAFQ5WY^J83v@4hm^0h=p5i)Zjf<0> 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 nNU$NY09F>Y&Oa7%W?*=6?5Rq38 + + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + Win32 + + + Release + x64 + + + + {6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A} + Win32Proj + core_random_sequence + 10.0 + core_random_sequence + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 3ce44a9ad..c9f50f6b6 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -53,6 +53,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_input_multitouch", "ex EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_loading_thread", "examples\core_loading_thread.vcxproj", "{F026020F-7B00-40C8-91C3-5DE85EC45A95}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_sequence", "examples\core_random_sequence.vcxproj", "{6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_random_values", "examples\core_random_values.vcxproj", "{6B8BAAF1-75C7-4C68-80B8-0E2A9EABBD9A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_scissor_test", "examples\core_scissor_test.vcxproj", "{59089B0C-AAB4-4532-B294-44DEAE7178B7}" From 53221eb799de037eaaae4accbfc5ef6f6c2fe1bb Mon Sep 17 00:00:00 2001 From: johann nadalutti Date: Thu, 29 Feb 2024 18:28:51 +0100 Subject: [PATCH 160/745] feat: vox_loader normals and new voxels shader (#3843) --- examples/models/models_loading_vox.c | 236 ++++++++++++------ examples/models/resources/models/vox/fez.vox | Bin 0 -> 1123241 bytes .../shaders/glsl330/voxel_lighting.fs | 76 ++++++ .../shaders/glsl330/voxel_lighting.vs | 32 +++ examples/models/rlights.h | 170 +++++++++++++ src/external/vox_loader.h | 17 ++ src/rmodels.c | 6 + 7 files changed, 455 insertions(+), 82 deletions(-) create mode 100644 examples/models/resources/models/vox/fez.vox create mode 100644 examples/models/resources/shaders/glsl330/voxel_lighting.fs create mode 100644 examples/models/resources/shaders/glsl330/voxel_lighting.vs create mode 100644 examples/models/rlights.h diff --git a/examples/models/models_loading_vox.c b/examples/models/models_loading_vox.c index b830c492d..1a2721a63 100644 --- a/examples/models/models_loading_vox.c +++ b/examples/models/models_loading_vox.c @@ -17,117 +17,189 @@ #include "raymath.h" // Required for: MatrixTranslate() -#define MAX_VOX_FILES 3 +#define MAX_VOX_FILES 4 + +#define RLIGHTS_IMPLEMENTATION +#include "rlights.h" + +#if defined(PLATFORM_DESKTOP) +#define GLSL_VERSION 330 +#else // PLATFORM_ANDROID, PLATFORM_WEB +#define GLSL_VERSION 100 +#endif //------------------------------------------------------------------------------------ // Program main entry point //------------------------------------------------------------------------------------ int main(void) { - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; - const char *voxFileNames[] = { - "resources/models/vox/chr_knight.vox", - "resources/models/vox/chr_sword.vox", - "resources/models/vox/monu9.vox" - }; + const char* voxFileNames[] = { + "resources/models/vox/chr_knight.vox", + "resources/models/vox/chr_sword.vox", + "resources/models/vox/monu9.vox", + "resources/models/vox/fez.vox" + }; - InitWindow(screenWidth, screenHeight, "raylib [models] example - magicavoxel loading"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - magicavoxel loading"); - // Define the camera to look into our 3d world - Camera camera = { 0 }; - camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position - camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point - camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + // Define the camera to look into our 3d world + Camera camera = { 0 }; + camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - // Load MagicaVoxel files - Model models[MAX_VOX_FILES] = { 0 }; + //-------------------------------------------------------------------------------------- + // Load MagicaVoxel files + Model models[MAX_VOX_FILES] = { 0 }; - for (int i = 0; i < MAX_VOX_FILES; i++) - { - // Load VOX file and measure time - double t0 = GetTime()*1000.0; - models[i] = LoadModel(voxFileNames[i]); - double t1 = GetTime()*1000.0; + for (int i = 0; i < MAX_VOX_FILES; i++) + { + // Load VOX file and measure time + double t0 = GetTime() * 1000.0; + models[i] = LoadModel(voxFileNames[i]); + double t1 = GetTime() * 1000.0; - TraceLog(LOG_WARNING, TextFormat("[%s] File loaded in %.3f ms", voxFileNames[i], t1 - t0)); + TraceLog(LOG_WARNING, TextFormat("[%s] File loaded in %.3f ms", voxFileNames[i], t1 - t0)); - // Compute model translation matrix to center model on draw position (0, 0 , 0) - BoundingBox bb = GetModelBoundingBox(models[i]); - Vector3 center = { 0 }; - center.x = bb.min.x + (((bb.max.x - bb.min.x)/2)); - center.z = bb.min.z + (((bb.max.z - bb.min.z)/2)); + // Compute model translation matrix to center model on draw position (0, 0 , 0) + BoundingBox bb = GetModelBoundingBox(models[i]); + Vector3 center = { 0 }; + center.x = bb.min.x + (((bb.max.x - bb.min.x) / 2)); + center.z = bb.min.z + (((bb.max.z - bb.min.z) / 2)); - Matrix matTranslate = MatrixTranslate(-center.x, 0, -center.z); - models[i].transform = matTranslate; - } + Matrix matTranslate = MatrixTranslate(-center.x, 0, -center.z); + models[i].transform = matTranslate; + } - int currentModel = 0; + int currentModel = 0; - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- + //-------------------------------------------------------------------------------------- + // Load voxel shader + Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/voxel_lighting.vs", GLSL_VERSION), + TextFormat("resources/shaders/glsl%i/voxel_lighting.fs", GLSL_VERSION)); - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - UpdateCamera(&camera, CAMERA_ORBITAL); + // Get some required shader locations + shader.locs[SHADER_LOC_VECTOR_VIEW] = GetShaderLocation(shader, "viewPos"); + // NOTE: "matModel" location name is automatically assigned on shader loading, + // no need to get the location again if using that uniform name + //shader.locs[SHADER_LOC_MATRIX_MODEL] = GetShaderLocation(shader, "matModel"); - // Cycle between models on mouse click - if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) currentModel = (currentModel + 1)%MAX_VOX_FILES; + // Ambient light level (some basic lighting) + int ambientLoc = GetShaderLocation(shader, "ambient"); + SetShaderValue(shader, ambientLoc, (float[4]) { 0.1f, 0.1f, 0.1f, 1.0f }, SHADER_UNIFORM_VEC4); - // Cycle between models on key pressed - if (IsKeyPressed(KEY_RIGHT)) - { - currentModel++; - if (currentModel >= MAX_VOX_FILES) currentModel = 0; - } - else if (IsKeyPressed(KEY_LEFT)) - { - currentModel--; - if (currentModel < 0) currentModel = MAX_VOX_FILES - 1; - } - //---------------------------------------------------------------------------------- + // Assign out lighting shader to model + for (int i = 0; i < MAX_VOX_FILES; i++) + { + Model m = models[i]; + for (int j = 0; j < m.materialCount; j++) + { + m.materials[j].shader = shader; + } + } - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + // Create lights + Light lights[MAX_LIGHTS] = { 0 }; + lights[0] = CreateLight(LIGHT_POINT, (Vector3) { -20, 20, -20 }, Vector3Zero(), GRAY, shader); + lights[1] = CreateLight(LIGHT_POINT, (Vector3) { 20, -20, 20 }, Vector3Zero(), GRAY, shader); + lights[2] = CreateLight(LIGHT_POINT, (Vector3) { -20, 20, 20 }, Vector3Zero(), GRAY, shader); + lights[3] = CreateLight(LIGHT_POINT, (Vector3) { 20, -20, -20 }, Vector3Zero(), GRAY, shader); - ClearBackground(RAYWHITE); - // Draw 3D model - BeginMode3D(camera); + SetTargetFPS(60); // Set our game to run at 60 frames-per-second - DrawModel(models[currentModel], (Vector3){ 0, 0, 0 }, 1.0f, WHITE); - DrawGrid(10, 1.0); + //-------------------------------------------------------------------------------------- + Vector3 modelpos = { 0 }; + Vector3 camerarot = { 0 }; - EndMode3D(); + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_BUTTON_MIDDLE)) + { + const Vector2 mouseDelta = GetMouseDelta(); + camerarot.x = mouseDelta.x * 0.05f; + camerarot.y = mouseDelta.y * 0.05f; + } + else + { + camerarot.x = 0; + camerarot.y = 0; + } - // Display info - DrawRectangle(10, 400, 310, 30, Fade(SKYBLUE, 0.5f)); - DrawRectangleLines(10, 400, 310, 30, Fade(DARKBLUE, 0.5f)); - DrawText("MOUSE LEFT BUTTON to CYCLE VOX MODELS", 40, 410, 10, BLUE); - DrawText(TextFormat("File: %s", GetFileName(voxFileNames[currentModel])), 10, 10, 20, GRAY); + UpdateCameraPro(&camera, + (Vector3) { + (IsKeyDown(KEY_W) || IsKeyDown(KEY_UP)) * 0.1f - // Move forward-backward + (IsKeyDown(KEY_S) || IsKeyDown(KEY_DOWN)) * 0.1f, + (IsKeyDown(KEY_D) || IsKeyDown(KEY_RIGHT)) * 0.1f - // Move right-left + (IsKeyDown(KEY_A) || IsKeyDown(KEY_LEFT)) * 0.1f, + 0.0f // Move up-down + }, + camerarot, + GetMouseWheelMove() * -2.0f); // Move to target (zoom) - EndDrawing(); - //---------------------------------------------------------------------------------- - } + // Cycle between models on mouse click + if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) currentModel = (currentModel + 1) % MAX_VOX_FILES; - // De-Initialization - //-------------------------------------------------------------------------------------- - // Unload models data (GPU VRAM) - for (int i = 0; i < MAX_VOX_FILES; i++) UnloadModel(models[i]); + // Update the shader with the camera view vector (points towards { 0.0f, 0.0f, 0.0f }) + float cameraPos[3] = { camera.position.x, camera.position.y, camera.position.z }; + SetShaderValue(shader, shader.locs[SHADER_LOC_VECTOR_VIEW], cameraPos, SHADER_UNIFORM_VEC3); - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + // Update light values (actually, only enable/disable them) + for (int i = 0; i < MAX_LIGHTS; i++) UpdateLightValues(shader, lights[i]); - return 0; + //---------------------------------------------------------------------------------- + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + // Draw 3D model + BeginMode3D(camera); + + DrawModel(models[currentModel], modelpos, 1.0f, WHITE); + DrawGrid(10, 1.0); + + // Draw spheres to show where the lights are + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled) DrawSphereEx(lights[i].position, 0.2f, 8, 8, lights[i].color); + else DrawSphereWires(lights[i].position, 0.2f, 8, 8, ColorAlpha(lights[i].color, 0.3f)); + } + + EndMode3D(); + + // Display info + DrawRectangle(10, 400, 340, 60, Fade(SKYBLUE, 0.5f)); + DrawRectangleLines(10, 400, 340, 60, Fade(DARKBLUE, 0.5f)); + DrawText("MOUSE LEFT BUTTON to CYCLE VOX MODELS", 40, 410, 10, BLUE); + DrawText("MOUSE MIDDLE BUTTON to ZOOM OR ROTATE CAMERA", 40, 420, 10, BLUE); + DrawText("UP-DOWN-LEFT-RIGHT KEYS to MOVE CAMERA", 40, 430, 10, BLUE); + DrawText(TextFormat("File: %s", GetFileName(voxFileNames[currentModel])), 10, 10, 20, GRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + // Unload models data (GPU VRAM) + for (int i = 0; i < MAX_VOX_FILES; i++) UnloadModel(models[i]); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; } diff --git a/examples/models/resources/models/vox/fez.vox b/examples/models/resources/models/vox/fez.vox new file mode 100644 index 0000000000000000000000000000000000000000..e9fa726934c53693140511963642799c1cf3ffc1 GIT binary patch literal 1123241 zcmWIZk5HJ#z`)?^=;_D6z`!t7S&$*vGs=|*#9?4ysAgbb2x4Gh$Y5Y#h=`2xJaS3^ zEVIFgg~3sgf!j%uf!kS;f!jrqf!kG)f!j@yf!ke?f!jlof!kA&f!j-wf!kY=f!jxs zf!kM+f!j}!f!kk^fjdBvfy+^efy+sWfzw%ufzw5afzwrqfzwTifzw@yfzv~Yfzwlo zfzwNgfzw-wfzwBcfzwxsfzwZkfzw}!fipmff!k4;fy+smfzw%;fzw5qfy-5yfy+&q zfy-T)fy+agfy+~wfy+yofy-N&fy+mkfy-B!fy+;sfy-Z+fipmvf!k4qfy+sSfzw%q zf!jrefzwrmfzwTefzw@ufy+aMfzwlkfzwNcfzw-sfzwBYfzwxofzwZgfy-Zofipmb zf!k4)fy+sifzw%)f!jrufzwr$fzwTufzw@;fzv~kfzwl!fzwNsfzw-+fzwBofzwx& zfzwZwfy-Z&fipmrf!k4yfy+safzw%yf!jrmfzwrufzwTmfzw@$fzv~cfzwlsfzwNk zfzw-!fzwBgfzwxwfzwZofy-Zwfipmjf!k4?fy+sqfzw%?f!jr$fzwr;fzwT$fzw@` zfzv~sfzwl+fzwN!fzw-^fzwBwfzwx=fzwZ&fy-Z=fipmzf!k4ofy+sQfzw%of!jrc zfzwrkfzwTcfzw@sfzv~SfzwlifzwNafzw-qfzwBWfzwxmfzwZefy-ZmfipmZf!k4& zfy+sgfzw%&f!jrsfzwr!fzwTsfzw@+fzv~ifzwlyfzwNqfzw-)fzwBmfzwx$fzwZu zfy-Z$fipmpf!k4wfy+sYfzw%wf!jrkfzwrsfzwTkfzw@!fzv~afzwlqfzwNifzw-y zfzwBefzwxufzwZmfy-Zufipmhf!k4=fy+sofzw%=f!jr!fzwr+fzwT!fzw@^fzv~q zfzwl)fzwNyfzw-?fzwBufzwx;fzwZ$fy-Z;fipmxf!k4sfy+sUfzw%sf!jrgfzwro zfzwTgfzw@wfzv~WfzwlmfzwNefzw-ufzwBafzwxqfzwZify-Zqfipmdf!k4+fy+sk zfzw%+f!jrwfzwr&fzwTwfzw@=fzv~mfzwl$fzwNufzw-;fzwBqfzwx)fzwZyfy-Z) zfipmtf!k4!fy+scfzw%!f!jrof!kG&f!j@wf!ke=f!jlmf!kA$f!j-uf!kY;f!jxq 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 zh0|Awh0{-oh0|Y&g)=~jh1*e?h0{ryh0|G?h0{fuh0|4;h0{%$h0|S`h0{Zsh0{}+ zh0{x!h0|M^h0{lwh0|A=h0{-&h0|Y|g)=~zh0{@mh095Wh0|Guh0{fah0|4qh0{%i zh0|Syh0{ZYh0{}oh0{xgh0|Mwh0{lch0|Ash0{-kh0|Y!g)=~fh1*e;h0{ruh0|G; zh0{fqh0|4)h0{%yh0|S?h0{Zoh0{}&h0{xwh0|M=h0{lsh0|A+h0{-!h0|Y^g)=~v zh0{@uh0{rmh0|G$h0{fih0|4yh0{%qh0|S)h0{Zgh0{}wh0{xoh0|M&h0{lkh0|A! zh0{-sh0|Y+g)=~nh0{@;h0{r$h0|G`h0{fyh0|4?h0{%)h0|S~h0{Zwh0{}=h0{x& zh0|M|h0{l!h0|A^h0{-+h0|Z1g)=~%h0{@kh0{rch0|Gsh0{fYh0|4oh0{%gh0|Sw zh0{ZWh0{}mh0{xeh0|Muh0{lah0|Aqh0{-ih0|Yyg)=~dh0{@!h0{rsh0|G+h0{fo zh0|4&h0{%wh0|S=h0{Zmh0{}$h0{xuh0|M;h0{lqh0|A)h0{-yh0|Y?g)=~th0{@s zh0{rkh0|G!h0{fgh0|4wh0{%oh0|S&h0{Zeh0{}uh0{xmh0|M$h0{lih0|Ayh0{-q zh0|Y)g)=~lh0{@+h0{r!h0|G^h0{fwh0|4=h0{%&h0|S|h0{Zuh0{};h0{x$h0|M` zh0{lyh0|A?h0{-)h0|Y~g)=~#h0{@oh0{rgh0|Gwh0{fch0|4sh0{%kh0|S!h0{Za zh0{}qh0{xih0|Myh0{leh0|Auh0{-mh0|Y$g)=~hh0{@&h1*G&h0|G=h0{fsh0|4+ zh0{%!h0|S^h0{Zqh0{})h0{xyh0|M?h0{luh0|A;h0{-$h0|Y`g)=~xh09Toh0{ro zh0|G&h0{fkh0|4!h0{%sh0|S+h0{Zih0{}yh0{xqh0|M)h0{lmh0|A$h0{-uh0|Y; zg)=~ph0{@=h1*G=h0|G|h0{f!h0|4^h0{%+h0|T1h0{Zyh0{}?h0{x)h0|M~h0{l$ zh0|A`h0{-;h0|Z3g)=~(h0D=^h0Do+h1=PHh111=h1=DDh11P|h11=Dh10`;h11i3 zh11J`h11)Bh117?h11u7h0D)?h11`Fg)6{-h1*e)mD@>?mCIR?mD5F$mD^R3mD5d; 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 zlhZ|+lhak1lhaL^lha+9lhZ?)lhad~lhaF?lha$7lha3;lhaq3lhaR`lha?BlQTe> zlhaX!lgmkklhav+lhZ|olhaj&lhaLwlha*=lhZ?mlhad$lhaFulha#;lha3qlhap) zlhaRylha>?lQTetliN|1lha9+lhaw1lhZ|&lhaj|lhaL=lha+5lhZ?$lhad`lhaF; zlha$3lha3)lhap~lhaR?lha?7lQTe-lhaX+lgmkslhav^lhZ|wlhaj=lhaL&lha*| zlhZ?ulhad;lhaF$lha#`lha3ylhap?lhaR)lha>~lQTe#lgm+^lha9^lhaw9lhZ|= zlhak5lhaL|lha+DlhZ?;lhae3lhaF`lha$Blha3?lhaq7lhaR~lha?FlQTe_lhaXy zlha9qlhav)lhZ|mlhaj$lhaLulha*;lhZ?klhad!lhaFslha#+lha3olhap&lhaRw zlha>=lQTerlhaX?lha9)lhav~lhZ|$lhaj`lhaL;lha+3lhZ?!lhad^lhaF+lha$1 zlha3&lhap|lhaR=lha?5lQTe*lhaX)lha9ylhav?lhZ|ulhaj;lhaL$lha*`lhZ?s zlhad+lhaF!lha#^lha3wlhap=lhaR&lha>|lQTezlhaX~liNv~lhaw7lhZ|;lhak3 zlhaL`lha+BlhZ?+lhae1lhaF^lha$9lha3=lhaq5lhaR|lha?DlQTe@liN{;lha9u zlhav;lhZ|qlhaj)lhaLylha*?lhZ?olhad&lhaFwlha#=lha3slhap+lhaR!lha>^ zlQTevlhaX`liNv`lhaw3lhZ|)lhaj~lhaL?lha+7lhZ?&lhad|lhaF=lha$5lha3+ zlhaq1lhaR^lha?9lQTe3`i#tG(i_1}oi_1xgi_=+& zi_=Aki_=w!i_=Ysi_=|+i_=4ii_=qyi_=Sqi_=?)i_=Gmi_=$$i_=eui_>3;i!(rp zi`!9|i_=M&i_=+|i_=A!i_=w^i_=Y+i_=}1i_=4yi_=q?i_=S)i_=?~i_=G$i_=$` zi_=e;i_>43i!(r(i_=ksi_1xci_=+!i_=Agi_=wwi_=Yoi_=|&i_=4ei_=qui_=Sm zi_=?$i_=Gii_=$yi_=eqi_>3)i!(rli`!9^i_=M!i_=+^i_=Awi_=w=i_=Y&i_=|| zi_=4ui_=q;i_=S$i_=?`i_=Gyi_=$?i_=e)i_>3~i!(r#i_=k!i_1xki_=++i_=Ao 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 zhs#Tmhs#@$hs#Hihs#%yhs#fqhtpq?hdV%#hs#lkhs#NchtpY!htoxghtpMwhto}o zhtpk&htorehtpGuhto@mhtpe$hto%ihtpSyhtp4qhtpq)hciHlhucw^hto-!htpY^ zhtoxwhtpM=hto}&htpk|htoruhtpG;hto@$htpe`hto%yhtpS?htp4)htpq~hciH# zhtpAohs#NYhtpYwhtoxchtpMshto}khtpk!htorahtpGqhto@ihtpeyhto%ehtpSu zhtp4mhtpq$hciHhhucw=hs#NohtpY=htoxshtpM+hto}!htpk^htorqhtpG)hto@y zhtpe?hto%uhtpS;htp4$htpq`hciHxhucw&hs#NghtpY&htoxkhtpM!hto}shtpk+ zhtorihtpGyhto@qhtpe)hto%mhtpS$htp4uhtpq;hciHphucw|hs#NwhtpY|htox! zhtpM^hto}+htpl1htoryhtpG?hto@)htpe~hto%$htpS`htp4;htpr3hciH(hucwu zhs#NWhtpYuhtoxahtpMqhto}ihtpkyhtorYhtpGohto@ghtpewhto%chtpSshtp4k zhtpq!hciHfhucw;hs#NmhtpY;htoxqhtpM)hto}yhtpk?htorohtpG&hto@whtpe= zhto%shtpS+htp4!htpq^hciHvhucw$hs#NehtpY$htoxihtpMyhto}qhtpk)htorg zhtpGwhto@ohtpe&hto%khtpS!htp4shtpq+hciHnhucw`hs#NuhtpY`htoxyhtpM? zhto})htpk~htorwhtpG=hto@&htpe|hto%!htpS^htp4+htpr1hciH%hucwyhs#Na zhtpYyhtoxehtpMuhto}mhtpk$htorchtpGshto@khtpe!hto%ghtpSwhtp4ohtpq& zhciHjhucw?hto-yhtpY?htoxuhtpM;hto}$htpk`htorshtpG+hto@!htpe^hto%w zhtpS=htp4&htpq|hciHzhtpAyhto-qhtpY)htoxmhtpM$hto}uhtpk;htorkhtpG! zhto@shtpe+hto%ohtpS&htp4whtpq=hciHrhtpA?hucY?htpY~htox$htpM`hto}; zhtpl3htor!htpG^hto@+htpf1hto%&htpS|htp4=htpr5hciH*hs)7`hs();huhhJ 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 zkTXkke96kkd*}kkeXEkkdv_kkeLAkkd|2kkejIkkdg=kjqg|klRU5 zkkeUDkkds^kkeI9kkd_1kkegHkkdm?kkeC7kkd;~kkeaFkkdy`kkeOBkke03kkemJ zkTXC}kSkD6kTXb6kTY0MkTXP2kTXqkUPpikUQEykUPdekUQ2ukUP#mkUQQ$kTbzRklWBuklV;mkjvOmkjunS zkjvCikjunkki>vkkiFbkki#rkkidjkkj2zkki9ZkkivpkkiXhkki{xkkiLdkki*tkkijl zkkj8#kTbwgkSowokUPjwkSo|wkSoMckSo+skSokkkSp9!kSoGakSo$qkSoeikSp3y zkSoSekSo?ukSoqmkSpF$kTbzhkjv0WkkiOWkki;mkkiCSkkiyikkiaakki~qkki6Q zkkisgkkiUYkki^okkiIUkki&kkkigckkj5skki3PkkipfkkiRXkki>nkkiFTkki#j zkkidbkkj2rkki9RkkivhkkiXZkki{pkkiLVkki*lkkijdkkj8tkTbwYkTcLokTb|g zkTcjwkTb+ckTcXskTc9kkTcv!kTb$akTcRqkTc3ikTcpykTb?ekTcdukTcFmkTc#$ zkTbzZkkimuklV;ukki;$kkiCikkiyykkiaqkki~)kki6gkkiswkkiUokki^&kkiIk zkki&!kkigskkj5+kki3fkjv3nklV>vkki>%kkiFjkki#zkkidrkkj2*kki9hkkivx zkkiXpkki{(kkiLlkki*#kkijtkkj8-kTbwokSowwkUPj&kTcj=kTb+skTcX+kTc9! zkTcv^kTb$qkTcR)kTc3ykTcp?kTb?ukTcd;kTcF$kTc#`kTbzpkjv0SklV;akki;i zkkiCOkkiyekkiaWkki~mkki6MkkisckkiUUkki^kkkiIQkki&gkkigYkkj5okki3L zkjv3TklV>bkki>jkkiFPkki#fkkidXkkj2nkki9NkkivdkkiXVkki{lkkiLRkki*h zkkijZkkj8pkTbwUkSowckUPjkkTcjskTb+YkTcXokTc9gkTcvwkTb$WkTcRmkTc3e zkTcpukTb?akTcdqkTcFikTc#ykTbzVkjv0iklV;qkki;ykkiCekkiyukkiamkki~$ zkki6ckkisskkiUkkki^!kkiIgkki&wkkigokkj5&kki3bkjv3jklV>rkki>zkkiFf zkki#vkkidnkkj2%kki9dkkivtkkiXlkki{#kkiLhkki*xkkijpkkj8(kTbwkkSows zkUPj!kTcj+kTb+okTcX&kTc9wkTcv=kTb$mkTcR$kTc3ukTcp;kTb?qkTcd)kTcFy zkTc#?kTbzlkjv0aklV;ikki;qkkiCWkkiymkkiaekki~ukki6UkkiskkkiUckki^s zkkiIYkki&okkiggkkj5wkki3Tkjv3bklV>jkki>rkkiFXkki#nkkidfkkj2vkki9V zkkivlkkiXdkki{tkkiLZkki*pkkijhkkj8xkTbwckSowkkUPjskTcj!kTb+gkTcXw zkTc9okTcv&kTb$ekTcRukTc3mkTcp$kTb?ikTcdykTcFqkTc#)kTbzdkjv0qklV;y zkki;)kkiCmkkiy$kkiaukki~;kki6kkkis!kkiUskki^+kkiIokki&&kkigwkkj5= zkki3jkjv3rklV>zkki>*kkiFnkki#%kkidvkkj2kTbwskSow!kUPj+kTcj^kTb+wkTcX=kTc9&kTcv|kTb$ukTcR; zkTc3$kTcp`kTb?ykTcd?kTcF)kTc#~kTbztkjv0QklV;Ykki;gkkiCMkkiyckkiaU zkki~kkki6KkkisakkiUSkki^ikkiIOkki&ekkigWkkj5mkki3Jkjv3RklV>Zkki>h zkkiFNkki#dkkidVkkj2lkki9LkkivbkkiXTkki{jkkiLPkki*fkkijXkkj8nkTbwS zkSowakUPjikTcjqkTb+WkTcXmkTc9ekTcvukTb$UkTcRkkTc3ckTcpskTb?YkTcdo zkTcFgkTc#wkTbzTkjv0gklV;okki;wkkiCckkiyskkiakkki~!kki6akkisqkkiUi zkki^ykkiIekki&ukkigmkkj5$kki3Zkjv3hklV>pkki>xkkiFdkki#tkkidlkkj2# zkki9bkkivrkkiXjkki{zkkiLfkki*vkkijnkkj8%kTbwikSowqkUPjykTcj)kTb+m zkTcX$kTc9ukTcv;kTb$kkTcR!kTc3skTcp+kTb?okTcd&kTcFwkTc#=kTbzjkjv0Y zklV;gkki;okkiCUkkiykkkiackki~skki6SkkisikkiUakki^qkkiIWkki&mkkige zkkj5ukki3Rkjv3ZklV>hkki>pkkiFVkki#lkkiddkkj2tkki9TkkivjkkiXbkki{r zkkiLXkki*nkkijfkkj8vkTbwakSowikUPjqkTcjykTb+ekTcXukTc9mkTcv$kTb$c zkTcRskTc3kkTcp!kTb?gkTcdwkTcFokTc#&kTbzbkjv0oklV;wkki;&kkiCkkkiy! zkkiaskki~+kki6ikkisykkiUqkki^)kkiImkki&$kkigukkj5;kki3hkjv3pklV>x zkki>(kkiFlkki##kkidtkkj2-kki9jkkivzkkiXrkki{*kkiLnkki*%kkijvkkj8< zkTbwqkSowykUPj)kTcj?kTb+ukTcX;kTc9$kTcv`kTb$skTcR+kTc3!kTcp^kTb?w zkTcd=kTcF&kTc#|kTbzrkjv0UklV;ckki;kkkiCQkkiygkkiaYkki~okki6Okkise zkkiUWkki^mkkiISkki&ikkigakkj5qkki3Nkjv3VklV>dkki>lkkiFRkki#hkkidZ zkkj2pkki9PkkivfkkiXXkki{nkkiLTkki*jkkijbkkj8rkTbwWkSowekUPjmkTcju zkTb+akTcXqkTc9ikTcvykTb$YkTcRokTc3gkTcpwkTb?ckTcdskTcFkkTc#!kTbzX zkjv0kklV;skki;!kkiCgkkiywkkiaokki~&kki6ekkisukkiUmkki^$kkiIikki&y zkkigqkkj5)kki3dkjv3lklV>tkki>#kkiFhkki#xkkidpkkj2(kki9fkkivvkkiXn zkki{%kkiLjkki*zkkijrkkj8*kTbwmkSowukUPj$kTcj;kTb+qkTcX)kTc9ykTcv? zkTb$okTcR&kTc3wkTcp=kTb?skTcd+kTcF!kTc#^kTbznkjv0cklV;kkki;skkiCY zkkiyokkiagkki~wkki6WkkismkkiUekki^ukkiIakki&qkkigikkj5ykki3Vkjv3d zklV>lkki>tkkiFZkki#pkkidhkkj2xkki9XkkivnkkiXfkki{vkkiLbkki*rkkijj zkkj8zkTbwekSowmkUPjukTcj$kTb+ikTcXykTc9qkTcv)kTb$gkTcRwkTc3okTcp& zkTb?kkTcd!kTcFskTc#+kTbzfkjv0sklV;!kki;+kkiCokkiy&kkiawkki~=kki6m zkkis$kkiUukki^;kkiIqkki&)kkigykkj5?kki3lkjv3tklV>#kki>-kkiFpkki#( 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 z89In@899h?8#{<`nmCAYn>vVbnmLGZnLCJaS~!StS~`evS~-YuT04kw+c=1E+B%4F z**S=D+B=AGIXH-MJ35GQIXQ@NJ3EMRx;Th&yE=$*x;cn(x;uz*dN_!2dOC=4dO3)3 zdOL`5`Z$Pj`Z|bl`8kMj`a6hm1vrRt2Revx1v!Xu2Rn#yhB%0EhdPLHhB=6FhdYRI zMmUIZMmmUbMmdOaMmvac#W;v@#yW^`#W{#^#yf~{C4lUA6ytVs6ytPu6ytJn6ytPt z6ytPr6ytPv6yx-86yx-C6yx-A6yx-E6yx-96yx-D6yx-B6yx@H6ypqV6ytJq6611m z6617s6617n6617r6617p6617t665r6665rA665r8665rC665r7665rB665r9665rD z65|YT661Ds7UOhs7UOhw7UOhr7UOhv7UOht7UOhx7UT4A7UT4E7UT4C7UT4G7UT4B z7UT4F7UT4D7UT4H7UK+X7UOhu5#w@l5#w}r5#w}m5#w}q5#w}o5#w}s5##i55##i9 z5##i75##iB5##i65##iA5##i85##iC5#tPS5#x4r72|Yr72|Yv72|Yq72|Yu72|Ys z72|Yw731`9731`D731`B731`F731`A731`E731`C731`G72^zW72|Yt6XSMr6XSGt z6XSGo6XSGs6XSGq6XSGu6XW!76XW!B6XW!96XW!D6XW!86XW!C6XW!A6XW!E6XOhU z6XSMt7vpqt7vpqx7vpqs7vpqw7vpqu7vpqy7vuDB7vuDF7vuDD7vuDH7vuDC7vuDG z7vuDE7vuDI7vl_Y7vpsF5aV?65aV?A5aV?55aV?95aV?75aV?B5aaal5aaap5aaan z5aaar5aaam5aaaq5aaao5aaas5aSH+5aV?86ytRA6ytRE6ytR96ytRD6ytRB6ytRF z6yx;p6yx;t6yx;r6yx;v6yx;q6yx;u6yx;s6yx;w6ypr=6ytRC661986619C66197 z6619B661996619D665sn665sr665sp665st665so665ss665sq665su65|Z;6619A z7UOdA7UOjG7UOjB7UOjF7UOjD7UOjH7UT5r7UT5v7UT5t7UT5x7UT5s7UT5w7UT5u z7UT5y7UK-?7UOdC5#x075#x0B5#x065#x0A5#x085#x0C5##jm5##jq5##jo5##js z5##jn5##jr5##jp5##jt5#tQ-5#x0972|gD72|aF72|aA72|aE72|aC72|aG731{q z731{u731{s731{w731{r731{v731{t731{x72^!>72|UB6XSI96XSID6XSI86XSIC z6XSIA6XSIE6XW#o6XW#s6XW#q6XW#u6XW#p6XW#t6XW#r6XW#v6XOi<6XSIB7vpyF z7vpsH7vpsC7vpsG7vpsE7vpsI7vuEs7vuEw7vuEu7vuEy7vuEt7vuEx7vuEv7vuEz z7vl`@7vpja5aV(R5aV_Z5aV5aaR-5aaX@5aS965aV_f6z6sl6z6mn6z6gg6z6mm6z6mk6z6mo6zB916zB95 z6zB936zB976zB926zB966zB946zBFA6z2>O6z6gj66bOf66bUl66bUg66bUk66bUi z66bUm66f>~66f?366f?166f?566f?066f?466f?266f?666XvM66bal7Uy&l7Uy&p z7Uy&k7Uy&o7Uy&m7Uy&q7U%R37U%R77U%R57U%R97U%R47U%R87U%R67U%RA7Uv8Q z7Uy&n5$AFe5$ALk5$ALf5$ALj5$ALh5$ALl5$E&}5$E(25$E(05$E(45$E&~5$E(3 z5$E(15$E(55$6mL5$ARk73Xvk73Xvo73Xvj73Xvn73Xvl73Xvp73cI273cI673cI4 z73cI873cI373cI773cI573cI973T~P73Xvm6X$jk6X$dm6X$dh6X$dl6X$dj6X$dn z6X*006X*046X*026X*066X*016X*056X*036X*076Xy&N6X$jm7w2>m7w2>q7w2>l z7w2>p7w2>n7w2>r7w7a47w7a87w7a67w7aA7w7a57w7a97w7a77w7aB7v~HR7w2@8 z5a)D~5a)E35a)D}5a)E25a)E05a)E45a;xe5a;xi5a;xg5a;xk5a;xf5a;xj5a;xh z5a;xl5a$e#5a)E16z6o36z6o76z6o26z6o66z6o46z6o86zBAi6zBAm6zBAk6zBAo z6zBAj6zBAn6zBAl6zBAp6z2?(6z6o566bW166bW566bW066bW466bW266bW666f@g z66f@k66f@i66f@m66f@h66f@l66f@j66f@n66Xw%66bW37Uy!37Uy)97Uy)47Uy)8 z7Uy)67Uy)A7U%Sk7U%So7U%Sm7U%Sq7U%Sl7U%Sp7U%Sn7U%Sr7Uv9*7Uy!55$AN0 z5$AN45$AM~5$AN35$AN15$AN55$E)f5$E)j5$E)h5$E)l5$E)g5$E)k5$E)i5$E)m z5$6n$5$AN273X%673Xx873Xx373Xx773Xx573Xx973cJj73cJn73cJl73cJp73cJk z73cJo73cJm73cJq73U0)73Xr46X$f26X$f66X$f16X$f56X$f36X$f76X*1h6X*1l z6X*1j6X*1n6X*1i6X*1m6X*1k6X*1o6Xy(&6X$f47w2}87w2@A7w2@57w2@97w2@7 z7w2@B7w7bl7w7bp7w7bn7w7br7w7bm7w7bq7w7bo7w7bs7v~I+7w2+R5a)7I5a)JQ z5a)DJ5a)JP5a)JN5a)DP5a;wz5a;w%5a;w#5a;w(5a;w!5a;w&5a;q!5a;w)5a$X| z5a%{j6z4Wl6z4Kl6z4Qi6z4Kk6z4Qk6z4Km6z8;16z8;56z8;36z8;76z8^46z8;6 z6z8^66z8;86z6tO6z6hO6z6tQ6z6nS6z6hL6z6nR6z6nP6z6nT6zB9%6zB9*6zB9( z6zB9-6zB9&6zB9+6zB9)6zBF=6z2?36z2+56z2|76z2+76z2?46z2+66z2?66z2|C z6z7ak6z7ao6z7am6z7aq6z7Uj6z7ap6z7gp6z7ar6z5J*6z4Kj66Z2f66Z8l66Z8g z66Z8k66Z8i66Z8m66dr~66ds366ds166ds566ds066ds466ds266ds666bVK66bbQ z66bPK66bVQ66bVL66bVP66bVN66bVR66f?#66f?(66f?%66f?*66f?$66f?)66f?& z66f?+66Xw166X$766Xw366Xw766Xw266Xw666Xw466Xw866cIi66cIm66cIk66cIo z66cIj66cIn66cIl66cIp66Z`%66ZEl7Uwil7Uwip7Uwik7Uwio7Uwim7Uwiq7U#53 z7U#577U#557U#597U#547U#587U#567U#5A7Uy(O7Uy(S7Uy(Q7Uy(U7Uy(P7Uy(T z7Uy(R7Uy(V7U%R(7U%R-7U%R*7U%R<7U%R)7U%R;7U%R+7U%R=7Uv957Uv997Uv35 z7Uv9B7Uv967Uv9A7Uv987Uv9C7Uzsm7Uzsq7Uzso7Uzss7Uzsn7Uzsr7Uzsp7Uzst z7UxV*7Uwin5$7^e5$7~k5$7~f5$7~j5$7~h5$7~l5$Ci}5$Cj25$Cj05$Cj45$Ci~ z5$Cj35$Cj15$Cj55$AMJ5$ASP5$AGJ5$AMP5$AMK5$AMO5$AMM5$AMQ5$E(!5$E(& z5$E($5$E()5$E(#5$E((5$E(%5$E(*5$6n05$6t65$6n25$6n65$6n15$6n55$6n3 z5$6n75$B9h5$B9l5$B9j5$B9n5$B9i5$B9m5$B9k5$B9o5$8-$5$D!W6&KZ16&KM` z6&KM~6&E#B73VZk73VZo73VZj73VZn73VZl73VZp73Z{273Z{673Z{473Z{873Z{3 z73Z{773Z{573Z{973XwN73XwR73XwP73XwT73XwO73XwS73XwQ73XwU73cI&73cI+ z73cI)73cI;73cI(73cI-73cI*73cI<73U0473U0873U0673U0A73U0573U0973U07 z73U0B73Yjl73Yjp73Yjn73Yjr73Yjm73Yjq73Yjo73Yjs73WM)73b7Y6BpG~6Bp4^ z6Bp4|6Bjj96X!Nk6X!Hm6X!Hh6X!Hl6X!Hj6X!Hn6XX.XXBX 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 zaT_YjaTzJgaT+VjahfR0ahfX2ahfU1ahfa3aat(LaatNaRw{PafT?%afT|(afT_&afU0) zaYiW1aYic3aYiZ2aYif4amFaiamFgkamFdjamFjlaV99saT}`0aT%$|aT=@0ahj;e zahj^gahj>fahj{haayRzaayX#aayU!aaya$aoVWJaoVcLaoVZKaoVfMaXP5TaXYHW zaXG2TaXPEWak{9;ak{F=ak{CaeAo8aeAuAaeAr9aeAxBar&spar&yrar&vq zar&#saR#W!aR;i%aR#Z#aR#f%afYbKafYhMafYeLafYkNaYm@faYm}haYm`gaYn1i zamJ{~amK31amK00amK62aVDt9acir}iRh@xiRh}zi5RNNaT%$~aT=@2ahj;gahj^i zahj>hahj{jaayR#aayX%aayU$aaya&aoVWLaoVcNaoVZMaoVfOaXP5VaXYHYaXG2V zaXPEYak{9=ak{F?ak{C>ak{I@aeAoAaeAuCaeArBaeAxDar&srar&ytar&vsar&#u zaR#W$aR;i(aR#Z%aR#f(afYbMafYhOafYeNafYkPaYm@haYm}jaYm`iaYn1kamJ|1 zamK33amK02amK64aVDtBacir|iRh@wiRh}yi5RNMaT%$}aT=@1ahj;fahj^hahj>g zahj{iaayR!aayX$aayU#aaya%aoVWKaoVcMaoVZLaoVfNaXP5UaXYHXaXG2UaXPEX zak{9ak{C=ak{I?aeAo9aeAuBaeArAaeAxCar&sqar&ysar&vrar&#taR#W# zaR;i&aR#Z$aR#f&afYbLafYhNafYeMafYkOaYm@gaYm}iaYm`haYn1jamJ|0amK32 zamK01amK63aVDtAacir~iRh@yiRh}!i5RNOaT%%0aT=@3ahj;hahj^jahj>iahj{k zaayR$aayX&aayU%aaya(aoVWMaoVcOaoVZNaoVfPaXP5WaXYHZaXG2WaXPEZak{9> zak{F@ak{C?ak{I^aeAoBaeAuDaeArCaeAxEar&ssar&yuar&vtar&#vaR#W%aR;i) zaR#Z&aR#f)afYbNafYhPafYeOafYkQaYm@iaYm}kaYm`jaYn1lamJ|2amK34amK03 zamK65aVDtCaT{vLaT#gIaT;sLahhnzahht#ahhq!ahhw$aaw4|aawA~aaw7}aawE0 zaoT9eaoTFgaoTCfaoTIhaXM(oaXV_raXD$oaXM?rak^;8ak^^Aak^>9ak^{Bae8RT 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 zar&9aar&FcaR!*kaR-{naRr&kaR!^nafX=4afX`6afX@5afX}7aYmTPaYmZRaYmWQ zaYmcSamJX)amJd+amJa*amJg-aVD6^aT}V-aT%G)aT=S-ahjOQahjUSahjRRahjXT zaax$laax+naax(maax7aoU;6aoU^8aXOgFaXXsIaXFdFaXOpIak`kw zak`qyak`nxak`tzaeA1_aeA7{aeA4`aeAA|ar&6bar&Cdar&9car&FeaR!*maR-{p zaRr&maR!^pafX=6afX`8afX@7afX}9aYmTRaYmZTaYmWSaYmcUamJX+amJd;amJa- zamJg6aoU;5aoU^7aXOgEaXXsHaXFdEaXOpHak`kvak`qx zak`nwak`tyaeA1^aeA7`aeA4_aeAA{ar&6aar&Ccar&9bar&FdaR!*laR-{oaRr&l zaR!^oafX=5afX`7afX@6afX}8aYmTQaYmZSaYmWRaYmcTamJX*amJd-amJa+amJg; zaVD6_ac7&!iR75ciR7Bei5Qy8aT%G*aT=S;ahjORahjUTahjRSahjXUaax$maax+o zaax(naax8aoU;7aoU^9aXOgGaXXsJaXFdGaXOpJak`kxak`qzak`ny zak`t!aeA1`aeA7|aeA4{aeAA}ar&6car&Cear&9dar&FfaR!*naR-{qaRr&naR!^q zafX=7afX`9afX@8afX}AaYmTSaYmZUaYmWTaYmcVamJX-amJdbak|;aak|^caeCOuaeCUwaeCRv zaeCXxar)TEar)ZGar)WFar)cHaR%7PaR=JSaRu4PaR%GSafaB)afaH+afaE*afaK- zaYoq4aYow6aYot5aYoz7amLulamL!namLxmamL%oaVFTvaVOiziKf`di5l9dak|;cak|^eaeCOwaeCUyaeCRxaeCXzar)TG zar)ZIar)WHar)cJaR%7RaR=JUaRu4RaR%GUafaB+afaH;afaE-afaKcak|;bak|^daeCOvaeCUxaeCRwaeCXyar)TFar)ZHar)WG zar)cIaR%7QaR=JTaRu4QaR%GTafaB*afaH-afaE+afaK;aYoq5aYow7aYot6aYoz8 zamLumamL!oamLxnamL%paVFTwaU0spaT?jnaT?ppahll6ahlr8ahlo7ahlu9aa!2R zaa!8Taa!5Saa!BUaoX6+aoXC;aoX9-aoXFe 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 zje#P!t$`x9oq-~^y@4X9gMlKqqk$rqlYt_)vwu`x`85RhJhkyrhy`7mVqK?wt*sNj)5X)u7M(Fo`E7~zJVfV z0m%P`irhwqid@Eqid-g!id?3Kid<%fid^P~id+_kid>e4idF{irh|yid@cyid-&+id?RSid=4nid^o7id-Isid>$Cidiid=q%id_DNiktz4id=z)irhhlik!iQirgWFirk@wiris_irnFb zirf)~irkTgiri6#irmqLirg`Virle=irjIAirn#rirfi?id>0?irh(tik!)YikvBi zikzv2ikxYNik#_&ikumSikz8-ikw-7ik#Voikvxyik!KIikx|dik$g|ikt<8id=?9 zikwD9ik!wqikv1!ikzlKikxOfik#*~ikuckiky~4ikwzPik#L)ikvn^ik!Aaikx;v zik$XFikuEcikyx{ikwbHik!|yikvP+ikz-Sikxmnik$97iku!sikzNCikx0Xik#j? zikv=1ik!YiikyB%ik$vNiktyPikyK)id;cPik!hliku-vikzWFikx9aik#s_ikuNf ziky)~ikwkKik#6#ikvYGyikwcyik!~IikvRSikz;-ikxo7ik$Aoiku$CikzOtikx1?ik#lYikv>i zik!a2ikyDNik$w&iktz)id=!lid;d)ik!j5iku!irhvfik!wK zikv1UikzkE+ikwa+ik!|SikvPcikz+{ikxmHik$8yiku!MikzM%ikx01ik#jiikvGS zikwcSik!}-ikvQ{ikz;dikxnyik$AIiku#%ikzONikx1iik#l2ikv>Cik!ZtikyC? zik$wYiktzaid=!Fid;daik!iwiku;)ikzXQikxAlik#u5ikuOqiky+AikwlVik#7= zikvZ~ikz{gikxw#ik$JLiku0iikyk2irh)2ik!)&ikvB?ikzvYikxYtik#`Dikumy zikz9Iikw-dik#V|ikvy7ik!Koikx|-ik$hTiktFnikwbn zik!}7ikvQHikz-yikxm{ik$9diku#1ikzNiikx0%ik#kNikv=Xik!Y?ikyCCik$vt ziktyvid=zaid;cvik!h_iku;4ikzWlikx9)ik#tQikuNH7ikwd7ik!~o zikvRyikz?ik!aYikyDtik$xDikt!F zid=!_id;eFik!jbikukirhvPik!w4ikv1EikzkvikxN^ik#*a zikub}iky}fikwy!ik#LKikvnUik!9id>Esikwasik!|CikvPM zikz+%ikxm1ik$8iiku!6ikzMnikw~+ik#jSikvGCikwcCik!}tikvQ%ikz;N zikxniik$A2iku#nikzO7ikx1Sik#k-ikv={ik!ZdikyCyik$wIiktzKid=z~id;dK zik!igiku;qikzXAikxAVik#t=ikuOaiky*_ikwlFik#7wikvZ)ikz{Qikxwlik$J5 ziku0Sikyj-irh(-ik!)oikvByikzvIikxYdik#_|ikumiikz92ikw-Nik#V&ikvx? zik!KYikx|tik$hDiktFXikwbXik!|?ikvQ1ikz-iikxm% zik$9Niku!+ikzNSikx0nik#k7ikv=Hik!YyikyB{ik$vdiktyfid=zKid;cfik!h# ziku-G?ikwc?ik!~YikvRiikz<2ikxoNik$A& ziku$SikzO-ikx27ik#loikv>yik!aIikyDdik$w|iktz~id=!#id;d~ik!jLiku^irhvvik!waikv1kikzl4ikxOPik#*)ikucUiky}F1ikwb1ik!|iikvPsikz-CikxmXik$8?iku!c zikzM{ikx0Hik#jyikv<+ik!YSikyBnik$v7ikty9id=yGiikwciik!~2ikvRCikz;tikxn?ik$AYiku#{ikzOd zikx1yik#lIikv>Sik!Z-ikyD7ik$woiktzqid=!Vid;dqik!i=iku;~ikzXgikxA# zik#uLikuO)iky+Qikwllik#85ikvaFikz{wikxw_ik$Jbiku0yikykIirh)Iik!)| zikvC7ikzvoikxY-ik#`Tikum?ikz9Yikw-tik#WDikvyNik!K&ikx}2ik$hjiktF%ikwb%ik!}NikvQXikz-?ikxnCik$9tiku#HikzNyikx0{ zik#kdikv=nik!Z7ikyCSik$v-iktyHNikwdNik!~&ikvR?ikzcid;qx zirmHyirgj+irl6Siri)nirnT7irf|sirkhCiriKXirm%?irh91irlsiirjV%irn@N zikuD(irkJ4id;?(irmf)irg*^irlUairj7virnrFirgL!irk(Kiriifirn4~irhX9 zirl^qirjt-%idNn zid<0+id@kSid-=cid?Y{id=CHid^vyid+c}irk3~id;z!irmQ#irgseCidG4irh|)id@c)id-&^id?Raid=4vid^oFid-I!id>$Kidq zid=q0~irh(#id@N#id-pnFidG)ikwc) zik!~QikvRaikz;_ikxoFik$Awiku$KikzO#ikx1~ik#lgikv>qik!aAikyDVik$w= ziktz?id=!tid;d?ik!jDiku+ikwC+ik!wSikv1cikzk{ikxOH zik#*yikucMiky}%ikwz1ik#Liikvnsik!ACikx;Xik$W?ikuEEid>E^ikwa^ik!|a zikvPkikz-4ikxmPik$8)iku!UikzMGaikwcaik!}_ikvR4 zikz;likxn)ik$AQiku#Kik!Z#ikyC~ik$wgiktziid=!N zid;diik!i&iku;?ikzXYikxAtik#uDikuOyiky+Iikwldik#7|ikva7ikz{oikxw- zik$JTiku0qikykAikwNVik!)=ikvB~ikzvgikxY#ik#`Likum)ikz9Qikw-lik#W5 zikvyFik!Kwikx|_ik$hbiktFvikwbvik!}FikvQPikz-) zikxn4ik$9liku#9ikzNqikx0HFikwdFik!~wikvR)ikz~ik!agikyD#ik$xLikt!Nid=#2id;eNik!jj zikusikwCsik!wCikv1Mikzk%ikxO1ik#*iikuc6iky}nikwy+ zik#LSikvncik!9{ikx;Hik$WyikuD}id>E!ikwa!ik!|KikvPUikz+GKikwcKik!}#ikvQ4ik!ZlikyC)ik$wQiktzSid=!7id;dSik!ioiku;yikzXI zikxAdik#t|ikuOiiky+2ikwlNik#7&ikvZ?ikz{Yikxwtik$JDiku0aikyj_ikwNF zik!)wikvB)ikzvQikxYlik#`5ikumqikz9Aikw-Vik#V=ikvx~ik!Kgikx|#ik$hL ziktFfikwbfik!|~ikvQ9ikz-qikxmG~ikwc~ik!~gikvRqikz)ik!aQikyDlik$x5ikt!7id=!-id;e7ik!jTikuF9ikwb9ik!|qikvP!ikz-Kikxmfik$8~iku!kikzN4ikx0Pik#j) zikv<^ik!YaikyBvik$vFiktyHid=y{id;cHik!hdiku-nikzW7ikx9Sik#s-ikuNX ziky)?ikwkCik#6tikvY%ikz`Nikxviik$I2ikt~Pikyi)ikwM4ik!(likvAvikzuF zikxXaik#^_ikulfikz7~ikw+Kik#U#ikvwGqikwcqik!~AikvRKikz;#ikxn~ik$Agiku$4ikzOlikx1)ik#lQikv>a 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 znaQfmnZ>Hina!%qnZv5gnairona8Tkna`@sS-`5y709N{9mJ;08O)~48N#N_8Oo;2 z8OEl}8P2B68NsH^8Of&18O5f|8O^558N;T`8Ox^38ONr~8PBH7nZTyZnaHNhoy4Zh znarllnZl;bnaZZjnZ~Bfna-xnnZc&anaQTinZ>5ena!rmnZu^cnaifkna8Hgna`%o zS-_^u709m49mKB88O*NC8N#m28OpBA8OE;68P2ZE8Nsg18Og598O5&58O^TD8N;s3 z8OyHB8ON^78PBfFnZT~hmB_Bloy4xpnar-tnZmBjnaZxrnZ~Znna-}vnZd5inaQrq znZ>Tmna!@unZvHknai%sna8fona{4wS-`H$7098?9mJu`8O))~8N#8=8Oou|8OEW^ z8P1{18Ns2<8Ofo{8O5Q@8O@>08N;E>8Ox!}8ONc_8PB22nZTjUnaH8coy4KcnarWg znZlvWnaZKenZ}{ana-iinZcpVnaQEdnZ=>Zna!chnZu#XnaiQfna82bna`ojS-_#p z709W~9mJ{38O*878N#W|8Oo{58OEv18P2K98NsQ{8Of>48O5p08O^E88N;c}8Oy26 z8ON#28PBQAnZT*cnaHWkoy4iknaruonZl{enaZimnZ~Kina-)qnZc>dnaQclnZ>Eh zna!!pnZv2fnaionna8Qjna`=rS-`2x709K`9mJ)~8O){38N#K^8Oo*18OEi|8P285 z8NsE@8Of#08O5c{8O^248N;Q_8Ox>28ONo}8PBE6nZTvYnaHKgoy4WgnariknZl*a znaZWinZ~8ena-umnZc#ZnaQQhnZ>2dna!olnZu>bnaicjna8Efna`!nS-_>t709j3 z9mK878O*KB8N#j18Op898OE*58P2WD8Nsd08Og288O5#48O^QC8N;p28OyEA8ON>6 z8PBcEnZT{gnaHiooy4uonar)snZm8inaZuqnZ~Wmna-`unZd2hnaQopnZ>Qlna!=t znZvEjnai!rna8cnna{1vS-`E#709E^9mJ!|8O)>18N#E?8Oo!~8OEc`8P2238Ns8> z8Ofu}8O5W_8O@{28N;K@8Ox*08ONi{8PB84nZTpWnaHEeoy4QenarcinZl#YnaZQg znZ~2cna-oknZcvXnaQKfnZ={bna!ijnZu*ZnaiWhna88dna`ulS-_*r709d19mK25 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 ztukkTtuj}jtukkjtukk@tukkbtukk*tukkrtukl0tukkXtukk%tukkntukk{tukkf ztukktukkxtukl6tukkUtum*foieA9oieAfoieA1oieAXoieAH zoieAnoie9|oieAToieADoieAjoieA5oieAboieALoieAroie9`oieARoiewRoieAh zoieA3oieAZoieAJoieApoie9~oieAVoieAFoieAloieA7oieAdoieANoieAtoib;D zoib;joib;Toib;zoib;Loib;roib;boib;*oib;Hoib;noib;Xoib;%oib;Poib;v zoib;foib;oib;EoieAPy)w6vy)vhy)vhZ zy)vh(y)vhpy)vh}y)vhVy)vh#y)vhly)vh_y)vhdy)vh-y)vhty)vi2y)tKjy)svz zy)t)@y)tL8y)tKry)tL0y)tK*y)tLGy)tKny)tK{y)tK%y)tLCy)tKvy)tL4y)tK< zy)tLKy)tKly)tK_y)t)_y)tLAy)tKty)tL2y)tK-y)tLIy)tKpy)tK}y)tK(y)tLE zy)tKxy)tL6y)tK>y)tLMy)tKky)u`fgEE(qgEF_VgEFUygEF_NgEF_7gEF_dgEF^; zgEF_JgEF_3gEF_ZgEF^`gEF_RgEFU`gEFVRgEE(cgEF_HgEE(sgEF_XgEFU!gEFV9 zgEF_9gEF_fgEF^=gEF_LgEF_5gEF_bgEF^|gEF_TgEF_DgEFVTgECiugEDuZgECi; zgEDupgED7`gED8RgEDuRgEDuxgEDu7gEDudgEDuNgEDutgEDuFgEDulgEDuVgED8l zgECiwgEDubgECi=gEDurgED7|gEDujgEDuTgEDuzgEDu9gEDufgEDuPgEDuvgEDuH zgEDungED8HgED8ngECivgEF_FqcXRVqcWGVqcW$7qcXRtqcXRdqcXR-qcXRJqcXRp zqcXRZqcXR(qcXRRqcXRxqcW$RqcW$xqcXRHqcWGHqcXRXqcWGXqcW$9qcXRvqcXRf zqcXRqcV4xqcV56qcV4dqcV4-qcV4tqcV52qcV4lqcV4_qcUflqcUf_qcV4b zqcT^bqcV4rqcT^rqcUfTqcV4@qcV4zqcV58qcV4fqcV4Fvofc#vofcNvofctvofcdvofc-vofcJvofcpvofcZvofc( zvofcRvofcxvofchvofc>vofcHvofcnvoe>Hvofc%vofcPvofcvvofcfvofc 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 z>{U3e?NvB!>{U2z?NvDK>{U4J?NvA(>{YlN?NvCP>{U3O?NvBk>{U2j?NvD4>{U43 z?NvBE>{U2D?NvCv>{U3u?NvB^>{U2@?NvDa>{U4Z?NvAf>{Yk|?Nzvg>{U2}?NvBK z>{U2J?NvC#>{U3!?NvA<>{U1;?NvCV>{U3U?NvBq>{U2p?NvDA>{U49?NvAv>{U1u z?Nzvw>{U3E?NvBa>{U2Z?NvC_>{U3^?NvB4>{U23?NvCl>{U3k?NvB)>{U2(?NvDQ z>{U4P?NvAn>{Yl79aOlC98|cC9aK0?98|bX9aK2Y98@^X9aK0i98@?h9aK2298@^1 z9aK1N98@@M9aOmN98@^%9aOj+98|a+9aOlS98|cS9aK1798|bm9aK2o98@^n9aK0y z98@?x9aK2I98@^H9aK1d98@@c9aOme98@^{9aOji98|ai9aOl298|c29aK0&98|bM z9aK2O98@^N9aK0Y98@?X9aK1@98@@?9aK1D98@@C9aOmE98@^t9aOjy98|ay9aOlI z98|cI9aK0|98|bd9aK2e98@^d9aK0o98|b79aK2898@^79aK1T98@@S9aOmT98@^- z9aOjq98|as9aXrE996iC9aT6@996hY9aT8Z991~Y9aT6j991|i9aT83991~29aT7O z991}N9aXsO991~&9aXp;996g+9aXrU996iS9aT78996ho9aT8p991~o9aT6z991|y z9aT8J991~I9aT7e991}d9aXse991~|9aXpk996gi9aXr4996i29aT6(996hO9aT8P z991~O9aT6Z991|Y9aT7^991}@9aT7E991}D9aXsE991~u9aXp!996gy9aXrK996iI z9aT6}996he9aT8f991~e9aT6p991|o9aT89991~89aT7U991}T9aXsU991~;9aXps z996gsom4oDoK!fCom4nYoK!eXom4o@oK!f?om4n2oK!e1om4ojoK!fiom4n&oK!e% zom4pOoK!gNom4m-oK(0Som4oToK!fSom4nooK!enom4p8oK!g7om4nIoK!eHom4oz zoK!fyom4n|oK!e{om4peoK!gdom4mjoK(02om9AjoK!f2om4nOoK!eNom4o(oK!f& zom4m@oK!d?om4oZoK!fYom4nuoK!etom4pEoK!gDom4mzoK!dyom4oJoK!fIom4ne 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 G*)SFfwk?mY8^G79)3qs{nHu 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

(&1^ zdz$C$wWszNUQ*fKUH|bu+v)vZ{Mr6lf3E+2zk4Ug8PsaF_f*6Z$pg$`ztWUF@9)cQ zSN-;or$@)ArKOiiF=w@d(vb~%)n7k--Ic85B=lkFzsn^N%Xn_?;Q3V}KT&Y@Z;L5B zNqc*kq_o7gKYqAF=F|0`%Uc8m8dwFKQj_^kZ@Kr&f4-j0hD?!jOZp0)3jBPRS$49_ z<%XMtqimGiX5Py9cJ3y<>_uOHynAUQUwmKdlA>$JA_bSJZkEnw8Y1hQ_&i_d*8KQ+ z%l+bo1SS6CIS;29`kp)BHp%70$_)y0PJJycaO3yko>A4{zC$z4)N=aaPdmlA7(EzR zxf+#44ylPGUs-Ac$@8{jCEtXiUqV%XcfX6|?JMeDqrJ}6$>!pR?RUGJXP%7ie z`grzdV&2)z3Ea(0;%1Y$7C3EL`S$jYpURR+<`#ND6EUj8Ns#N@iwaI2iWtN$vWi_C~guis{)qbw1l{ zKQL+Irc|@HA?ZhW4m9-cOH_F|yZr4B`}g(w_y5hTXZ^VPf9lMr6|e4JuK#y(KWpiX zPgkP+^Ro^2{YYQ<_T$~z|F6}H{o@&Yh~dJ6#HefL3jE!JH73JYEJP#w3lW`ezr-~Y7sfX#NGMyv;X~X zdwmT)FmjsBDv9YkepqI*vGa-42^$%jJ1(r)G;{X1xvzJXAA1|T-0?tP+)Sf+a?g`b zsU2EoWaOmR@2K`fVy<(xWzl{1rn$#oe)zB@=eC^Cq>Vb!hf-BqH#&1Adqo_mdMh8F zXE%d6YNqJ(%O+hpryP`;Cb)&RF!4-UcE#p!$KL7p8J@T?N*i@fo3nhUC!3^^?4$sf ziU~p4x7Z|KW&gF9r@h8^|LK^INYNBHA)=^ToZa=g za3=rdr>W)6%ypLvXWeoX>{3Y)QCOno{-?9i-BU5=an7!~7wh+a=F4*lk8qm*RsZr7 zjvkfPob6|V{c2y|jtlO7;{VUG_S^oyum7q3x&OKT?<;#z2aP2iXDai8UtRwg{%Akj zL=E@%GPgvOtJd59tgngL_V@kG|99)tJ^PvFMM8yq`(;T)jX6kU z?#o3IzcpsFhFSXVaBWNB<~-1KKp^P`qvWrTk6$mp9)9aZc<)*dj&phcKhAzyb4FD{ zt}E!qG^LGi1O-!fN2EFW1g9L?CFc5GwCnJdoKus&hVlzdIxW}i!}_K=cklY>|33;- zoAMVf?oB;4EvO>zVvwNIru|$D(kY&odyL}q56_NWa)h;hiKnFFMI#ZX7NsBsaSp}9 zb~2~-{ao&^zjgN9{Cjiu|G)eA?Jn<>74Mh2OnNIK#>P0!u<5*jJYV})qbhA*37r(R zPX_)%sTvLqOb6VYl%8HI+I>~tu4dKEn&xvqrgqj?= znYW)3w>#WgXS;mHvMsuin{t&;u27N8Y26T69(CmP>wgb-6}L#{9SIQ7yM< zbVostDMvb{b>$pclG$}9>rd;yjVyn-|LbW_5NQ$MI;#IqS*gXT-u9npU|H=q`6D*2 z%eHNm_!9T)_xJkm@i&!3dVjn{Zol%&tgQK6VI_0>N>NFBQu>B~)!*Me74UY`cjwS( zZ&{+%8W50R@Nw6->DS+Fa$#W7p2F~}=$5LJl8Um6hto1AE173IeS>;l)rz#Lx2-xB zkrc$CBa+Co(5Kf=RA}LikEYw-KH4}<&0^uqkB>Y*zUw_xV9L74Gx8lPt(vd3#MAIphXdOJuSs7*53T+F{Oh)Td~z3+qY?#N!(1*GhOyLyCQlR! zU=i63Eh>s@cq_5$$l|+S^_A6?L+KA|`H?S8l{!KW(?w zDp*3R6okI&D) z(~+<6(LrsAl--uJXr>8FJc%mFI?PV5l4bgGXD+`!U3TWNI?2x>pXY>zMMNYXI3}jr zIZbF||Hp@q%RVNwwKOR2y0B{H#xuEII~AO6SX`*T%dXwmZgw{EuHwHZ`|Cf>|KD4$ zQvdaR{X==h2?9cAC8kIQb5B_EVEvWO54~bFfgV%%`#$XRaIiyp~G2V zp?sj$B3NpbQB&y6povqWgC$uNC3$9UN{%`-J3ijrfl-K?YgI+9WN>%oq(d4xF{zPG z*IpblYC7Sts7-kh+v2X7wep5rd^S%!#HBPrNMI6&tA2cb^!uaAIvX4pu5+pG8c>DDGm{Vuq&5L+_Nuj3p;yahe8L}?U}jroF#-8a!e4I5@#1{zc$={mY?*Z z7pqS1dVlHXhJ@7c+Ik6RbCBIXpAq{5m2QAw8-K2!bMQ)Bk{JM&**RdAM+{5aJn zLTHoYyr|u=uaEnm_iH~`&@6hUa2EgC)NYQOrvw<7j9Pj{1kIclRei5Had^u0*Le)z zt{zXGt;RT0Q=&CMa$nTslIoY&4NF{jc^M|%NahT*)$&5@JIs?*9XvsL$AO83F{jvXd_fI%9?ew2z$gRrx z{mYNGG0mCWXO-cyGiyg%b^1)@;KczR9KsK^+!DX+y81LVAvk5*`~CHgAKqRooX{*% zB&uc<#qH_A#aRDq`>CdBhFhmSNt}5s?s3>LIXj);6p3^#B>}xj88Zcc{doB8@bUDt zMJEIq*~&5ucHH~(?M_u>$jUc9D^CT;ZBl9$VOYfx>e;dIR`=Y88;{R0cI`=gc;bY> zv9zq6d%sP;{i-$M0hg?9#R5m!y>VHcIg(}*140%~P*7zu;AmAm`Z~(~eRLgnWBkK5 zA;nOQr6DOU3NM_wuD& zQh|$4RN2VqUBCA|X~OPXb0!8hi+Hd#o;J1deOq<6zV5%%3|8@diyU(b7O#@?Z`V|E zN!hU`pyhysw~~{Kln(15Ro7!Nw{t6wJ$)PWd6J}|>b6~TCoS2e+WP4E{O!{(mNvMT zs7l?r;Ai{5@Aai63Zj!zI8yc*d*N1uGc+qb zkusCKIP2fEzta_hBoFgWPjlAl^()MG*0KY7;VlA6iym!zKmXX- z?#PbtB3`EMKLV+rb@y$&`)Y!&RA`G*kOYI~1ecbLPC}8*jJKm^dQ=>D-(V^d`Q+oezSfa-f-dcc*cKk>Y=0T# z;p8FIz_FoaqmHK2%&h;r{{NW&@xFWR?E;2t>;KvJpP3Ui?f>$>`k$B7+y9?@W!Zr# z+RFd({@njNedCfJxnKVyMq0L?JpMUJaMBXP9$Wv$8OzLkFMr+E_wZh+O^VtHg@qY~ zJFlER%^>om{7U05)w0Q#jz7Ni{nqw}4ADl8qNY4sLKIRWCBzk#m~KvMn$YmnfP358 z{=noPC3A9bmd;sT`epvT{dw0fuFhEDVRC+_j_;8hUfK-o9(m{MEVkuH&GlhPX6Tym z(I8>M1m8B5RWdU-{j!r-Q@ccIdB+r)t0#AE+f&;U`d-GVx#q0qa-X@$RaWO0hwq=^ z*Lge6`$-~a6HjR42Gx!&j!sHf&UMRd$l877a^bK3{O7MXm)}0S^YXG6cVAmgDf()! zmS8hO*`~P1X6_~*j?N|x4zId@8_oq=&s}b~MqtG$Atlx6t7TS}+*A|N$_m+1@uSB4 z^}gwMe+&4zrfG+V8h-gxwDX>sl+PJK|I1&V+4y$tU8VNIqi5CWZ3|~DHxulz<8W0` z^!8wA%?fEzTC&0G`rf*gFHe-d*E=QCfA;BwoV#ZHuMRK&yQ#FUJ?xgl`kZar{_b4spxb4BUvh8pE5&KE2RunmA*E9dSYV_~-ztGrv{eSQObsqS0 z4XI%KJGq~qoqLUx-sPZ)fv&x?p3jMj-oE$yt=-csZA{AeOZNV{e7bL8VU76gwc>Mc zUs|?>`*%gmw!Od1ltMyhOvt&-;VGn{+G(VCK!D+dgnL26vrXG_<&(d>OU?W|XItH$ zhfCKh2kRNMS4Qz&F3fCC&6;?Tx#cW(PS3;X*9$FU^*?rmb8Ai*U_f<#n-PE#m{WUd?)uJXgTWM3K z$jlur9SoKo0S`F#^v(M=JJ@fg_p_e|^QX&1#}r?A&y)PSGUwj+i|cRO@wt64?k}Eq zzH?P459icS=JvS^`sZiQd47E7_fr#k4G*z-KA0r1NriE#QJL(t%+8ma-pz}N-uR>H zw*GIelGndWZ(BMThVHZU)~M5FcMsr($Ha` z=ysapi-G_0_OhLC7w>+5HA>I>iiYNr%)&Hr>)zN)`i|Nr|Z{h9lt|Cj$)6#4TEInLTYeN3E~a>YrIVH=lw zL-x#Di8J$~|1Y&_<}*K5y7qQzLe%NQyLa4uwd3sjbIaR5%bW;EZRI<@vw!1y<)8-) zOQiHBOU`8K5l~d|6q^+4A#h1ztIV=95!d&AH@sD0Ay@a~;m@MGNsFv5K6sQ?|J&k=vdzp&Bdk$4lD{Md?svM zK8;IO+&B2`UBjcZgNrU_ujUF~Ix{y!_MvFpmv48@JzwFZA@qb}=Z>n1HdZ0Ab@Jv@ zQ`^-R@c6i$gPTb)*j4#a+7Zh z3;WjNk3|Gu=NcTIcyG_j?`t=^&sJI4#lalp!IwGZ&7?!ujM_K3RYomSxwiKHy2k|> zryU*t{JFd>_b4;ht<_J&`ksoI-dNu!92F|g;38sH+tbh?aw+`(iYF6NO#X)bdA;Sy z{~PsMEnn!7} zH+E;XLpef)9aOt(m(DNdnF6C$7Oy}qxXN0fuJC)P|*@g|eEqNfob=Y$Q4 zEwxr>E>FsSTl?c{)$Z7D99ahEf4+NI5wU5hkuygNhi0qnB$iOs#21HkXDl~4!^v1S zwRM;3Zq;o$`?lC0$k|;zYx{?3Z=V~wz2y(xeRrn&94|vlsoeR~R(eJpYwbvxDV=eb zjq&I{OQwY$t_s468k~v+UTud?33ZscEws_w`S(uv&Uq_%(_TCYy}u{3J-MgITjeH) zri|dql&Sg4655!r^Y3Qo_xIk};7JjpX-m-|BnCopY7h??f<5q|7U9XKkV=QzsXDP#~=-M)PH)oN8xls z07vqKm}xDBTh3hEo4Y&LEM|-4{=eV0Y{`-Af4=jAg!7HEn+l$_7E4ky7gyhJR}EGy zn6gn;P_j#GhL*C6h$=%HcXPmt&wsXWyn5qI&sn4G`S<4;JEn9CY&+%A6`=6&j6u($ zHqnA5{8?Xr&RB1L^Bj+gh|?tY1}CNssw&rdrIxaC-oLT{xpt);OkB&E2qO^*Gqe|$cjw#x23ZuVU z?F?)G=rDU8-{qGQ#};nb7%0$qbYHmS%*%?ox%1n?8VZHIZDsv`m!<^I{<=KbeYS`9 z4gsc9E{_gs%#(Y*_V=yr*ROB9*5P`&XK@MWsQ=Xvc;riiyds1|G*0IHyN%JDvOg#VzfJ28>B9dX(x;5LCPIDJFA7DJX<<*U4 znVr{`@0=FE!sxJY!2uTzoy=LE&D!$S6ePmsroG&dQIi>eqK!k!&?%*3z45H5XtCVu zzdn|(KRPGDZGJ_@+ky_UFsT+t1~r38Z-NB8W(!R5EP3{A<@)O%3uY}|xymWApt8hC zKw+8Xsw?H~ODTNbDdcwF}LQN3i*9WUxiU{TdKB8uSuQ7^L^Rxog430 z&4@bAuD4$P`|-zs~r|nk#diMNvl-_L)-lHAcju`p2SNf&i z*XWHi-Ibkqf9}GU4>sQB4U6bhdmnXu@76iX%}z}U7W#Gn>HUm9#s7c3`M+zeo)D)G zCu8V`@Hg=rBy^?aL2el2T%N)4|}A%4Tq?gF{oq$i=0{ zZqH$!{1xxK`tN4T*Z#2ZZtUh*a9~o^^?Rk!+5L86HAfFHh4U?)yzKBs-#lIA;4f`+ zS8Cnl;NR^f$khI2!EI6~4c@meB=m~}*`K}UgqsN!k|J|3*Pu7gg z*)Z|QW1-_S7foPdROCD@9QU?wsF;H z$#oEnkkqmknLjW8ynZ;#fd_YYe}2Eua;o+rvt$dELm>^TxEK{&TNpD-xTi$rFJ8sh z{$}@Sfw0Du0Jj#W`Rpwrtrs-xYWI9G{K5VrpgRp!%5D*W2cGb%5gp8Eg2eXQkV&srDl z(=z(OtKES;)0#CodPy zYuCj^;`et z-~0aY{ttVLzRNcMAK4qRGHjd3@Yna}{@?SThlPH)jlBAIzxPHR-Trn?Rt@KAPN#b8 z+C@4YRNoSt&?XOyLJ_lnXKc`dKU%E0AXDaEO-nMP7>9&o#<6|dJ-Er{2j^{ru zd}mHfak0i-!ZJ4yQw-ilCWOLwnxr?}_&gaIK%-E!`OvRundZTX~mN>eymTSSZ!T0|8Mg3?@5 z^xrSOSAR!8dwQUz(;bDKvA@4Ajkc4Ymf4pppX#LH)cE1!g==g7z2rZ?bt=QfWgbzt zuPV*!b5B*gIjQ5B3V-qJWoE8&(+)qp@$20!hTeO>Ny6X&#+1V>9J!G zf1duky?^!p-SwGSoloxvAvaw-B`2P~l#`sQbY->EuDIW)U!OJNHItjixBvII9l5cJ z6BL~$b~G{Mv?vD)*7j(f-1zSA()G#u<$e5@FCR|qiR!DI@u}z~+wDoIH&6APc(M0a zT6m)qMRv4EPVn@1_=fZZX$YKV6AKXQ9J|LHlWjlQnhD4ukGw@CZp_*eD+#s4jIk;oA_cP8MAUC)!4?SGeE`*-vI z&;Eb%{EPSf+F$m2{jGZaav!I=bQiYS0i;E>g9L7 zujP@So|a;ea%9`@%gepLAK38u+3Zxiv?9kI0(u5xsk@L6bZh6$xAnNynMLbBM#?^h9dwF&3+O;*iSL_zp&VNt+GXry( zpRN4)Vz(3l&IADug{&PsVIJF*4^CqFbzFY^>uZZ&{@LI&>$t|jpL@<+F4>#cQM$TT zOP&3e(PD!mMla{rNxjd{p7Y^BNylLs_Txqm9atC?vILwCu^M$KGzW6%t^fDroqJNd ztbF2RE+NMJ1AFZ9+s$O3t=#=g?Sk2>r+>YQ=M^-ZoUL@CWW@e4W~ z_`2=xw%(Fbqc4BI^PiTf)>mW{a#+|9w9}~JfZk-uhDo{W{ik0|pE2QskIH4AyiGgEkmEpT%LEg*(8h@@o90S39NG2j`1kAg z+LiWIe($b4^SCfGI3#r2oZBUPb5#8L1oQhmT_0Nhe7L;o|DHmY&v_@`-}7x>_V`KW zCI^Mi4ZLEF4n|Iso)|5dE?)oXL5tN!<<)*KLh}q3if?gZ{`hH+-rB8V+e^3Xw5|Vh z)X&=aIQuhcEyZbPQu{b07j_&d<82Xjy24<%H0s#bSMvAPD|ajG@_Sx6Z}|ifiSpiO zE5v1vw6I^FzVV`R$(-l%^>wv%J3TcxlOmtx+*G-)H^X_4j>!XT6Er&L37O)Agmes5(>)U~bdM*WWLn-=5aY8tb?rp=0Wshi>;*FgLw@@57G)X}h3GW65rG^c>MMw8le~FWNUDzXOxzE-{=Dg*v16&h(Ir^nO8_7<4 zx$WJz_$T|@R{zoed)hTqWRhsj*ZuqV#6$!f(f`N)^Jcw^g36bp|3Bv6v}a&b)JbNz zsFb(;enZ;$=2 zU*Gt$fy-QoL2_G1P-%agwN!;_nvL^e>8e)YIS-~vSY<}?SuRydjTUsgAs{A^qrzy$ z<(}fb|K2Zu`Fyd6`*oiSY<#QbIT&17Bo@SczEt$&ZRz79xw^Y{ef5_Q@A9ZPvRlk# ztJAd5YZ4xtSW+4eaI`dpe0g-)yLK0kTF8b2EU|0dgU{UbE0$aC$>oxB&?~X&b?Nfo zyS`Q^9NA$w-@_zM#8b=fbIFWD4T1~{&P*_I^E}lPEpJ~R6|X;c`-aPIHnww$yj$N4`$ zW!Bd1{r9Rq?n}iiH^zi7tz2tE-}|&%$bQbhUN3rZ{vY9q!LPpV`tSQ=|L^(xe*N$L zf;6wufBv7b^89&y%P-sfdJ%f{&hY~+kNT_cU$(rqw*AQ=0YSDETG}e^S}AJ`WElk~ z&bPZaZ+`w6g=y2CuiWZsHc2JNb-{$(1?AIJpIOGoSFx1cEHjk7HT(Ee#pgat4JNT1 z(RXHYVAvEoVWm{^tSMdcb$j-`k#=7sD17sR7pLPLkF8U5_)L9Q1YZqYI5j8a08gt` zuZ7$#qt~a;Psv$w$c>4`$!wCSMCyjTe-HoiPWbxwyZ`g{%=^|2sS6Dl1Qk0Cvm(_F zKU-%!eeJyY*35k`&KNzqt=WHkQz&2b11&~3CI&^pO-{kyYvk>}&hB=R6@QhXTxL`> zZ`sPHds#mAa0;xBeMBrS7rhc*-c#YcAw*&G(G|LSP!<xYSQ&3BtQ%l7^M_wdhz*I_f)y4}=hS$U|8L)qYjlcVGjk&h1# zzy0~tt@+$xqrKI}=1(<@95yL8dE68WYPeZGzi(%5&g~N+qLy3V-0_T+Xffv)f_`v17}8Se%-)mS~(X2sq+WQz18ft;GQrCG$H|FbN?>p#}n&YNGf{#}qq!+~ijYXT+Q4Ng61|GfXHyfUYR>TV|qPHr8+ zO}#UW?$_`58}wiDz0JAL=K0f9R?9R7h)M>XQ1EViyZ3YWyZaC7Z`X5O{v`h2{!dNo z`G5O=zW!eSeSKhCmBs%y;u(`7|u(U8p zS1Mc#vj1Q5`%BSdU6uUjKObgpI>p4!sKDHy;=E%`fx_d*itDex+N)%8>UP}mrLIX1 zfvJfsN-k43I?mv5*nTfw|L^hVuh%VXD`S!Q;KjummUMc9(p)dkV}=)_+CueAe7LxS^mOX~mp|PWJ@~O@j{ju$Q1eMD4g!Z76j?kr z#a{SPBM^4MVaw{e@_Ex1Z|CFSZWf%>!XUkH#w>1?vy%4zZS3OQY?>Z$Xz%paow9Mu zwlk6seVh&nG1akNnbjn-dbKF~mc^W9FA9zs-z;>Wdfbxd*rZsd^sF0_hHdqKc0^6^ zIrsF=wcPwum0lARoitcH;w3di#Psw(x9rJhc67*`wQ1{yi6V-c28tp9L64M#FWg(* zw*B=#tFU{QR@K(m&GFaTd5TF>!Qc>=;Ee<$PQzFFAM*d*+3%3R5Yu4%_22QYmp@M} zpRi~4^LF##lP5w1m^LsdGHh^c3Hi7BoBV(0|6kAl5uPLWU+vHRztM|cp&a&eUu|+t z&8*F=eGjW_^tW#8-52|-YUT3n+yTtaH)k%K(DL?LO0d|p)go2@FTbta{ZdehMcp^| zl$MB?kdQ_S^9cdAlN_NFXFmUYW%u@6j$a!5vizCK27H_;T;4M#@G7{xJpB6Y&(g0s zvJco8xo2H$nYT2+`rxt^(`If{QF2=7^VG-hlHba#rltntm=hP5c`lx#c-ljf^H|%7 z^_CgF`qSSY{_N%8U?BhL$}=gKZX+hvNj%$}l@>6hx`}pi9NktfCekC_D0fb9lJAn! z@jMI>W}B2&g*a{gw0!zUL-%tQ%x(XjqL zBiq^F*S}Zf@rB5jxO+!-Tw_pi;ovb7yz#|P^!2X2ap7E2jq{c{pOaebwD3n&FN44~ z)z%c16Jj2V|K^ZHx=@7hl?7XE@f?)QCue?Pm-L?-^s>@bF`dx+SPNreg5^+`##EEyr?kg^zVDiEaYanq=YIeGO}@MayF(WhCKC| z@BdjN|F*)7Z-GlMFO+OwvY=~1%c&p@5r@+i|7)siZ*t5~>~zmqu~?FA)1wR~J;inh z#}*yyHdie*f2C^P^&7mo^S<;yx$yB$Oqh#XQagi!14n_&o;~mOzYw2wk#SwmUbirT zZOg>WBviZvC4z%oPKRV<8FICpPS#EHxVHNHBJ*R*czlIZZ*t^B_7$*&p1Sbc|MBC} zEyBz^5~5B;CZ39(f`@hNk{M`rDRKy<~KYsY@rQ<8^9nY2J z=RbXAR`Vv!h7OLEtBjJT)c^RnHT+}SHskmr9+Qdrk>BrC&3?8bP*JiW&_zI#OMpp` z;mU$j&x^Y|Zf{lIR-2PNr++d_!v?`d56>eu$Cp2U`}epsFP9Gk|Ah}+jI0kD*RN<1 z@mvzCv`~e8s>i|=amkz0bShfazioYW>Zi?A-HE+g4nZD0t3v8(;{N|QG>8B5%fwxC zty}YRZYxyU$btGLK8*hsDH=Z&>Y8x;L(z=sbH45Uz1DI={GMsko7HO7SR_RF(ibf7 zN`CS8_rE=1HV?V|3;&e<%v^RPVs%?@&i0V(O&djmI5+I$QE^@2yG66O|7#deg;P`b zoSvyZTW`MOYPqqyH(u{=>pSKd+dpr7n=3u{X))6^!}Gx$0Ui#LoGJz$lX_bw3MeW0 z^M77)=h%u55#9$)%zavxtk~r1;Sf0~F8DxMpi6#8j|GwV-=W?Y(-}vqKzM22mU;4CawuAEhqT9c(+ zShPW;!Qr7{%JrWnf3N=PZ~Om5-px|<|E&MD(pi^-8<4zsT4~td5ieIah ziT3Me>)XIy=CN!;r-BpHY@=;D&U5{O-D1`=zu2qvslq2(lUG&o-Amr@gxoAuI{(9N%vl}Hoo_+c8wt2sAW#wI)=mQ77$w>OPO;HNb zb7*OCJk-#ea{PIDz1H=8V$6IQj@rtCXN+%2FM411_V3e6*O$&nd_3Xp-OH7h+djVf zYnJgPI`_7POqwUdHw~vrx~xLmT9!=6ara2N@%c{3n)P>+;@gjuoRBh7RS9WG`TVD5 zcT8BqtgrI(`qrLIy1$C)%+pP$K7KH1{OxA8(_~k&l1lW6rvH)uHLtJ#r~U84Zh`D>$CR#n!aTHKi%W;t^aq|v+UoC$h_tM=bJM$D2k@KyG(Vqn$LIp+VK^&@AYr5 zdSGyN;-)J>x6R`6{{DUab=!NN2|l9BXMB5DD&02gq0`d*TA4+z$}LSfS2px28FlnX zX$d$e-*_x zwtxO~b~}G9&*8^gbbKyfSMP~gKU-w^Oh?LGI(#7sUcxNdRgvPtXdwX7#J3_KDd zgEZP+x$i_tS&amzRPepUCJ=b1g5WV?(OR{X2jy+(V3&(Gb< zEt|H6&rUiOvE51F&br(Ceih6yY7UqxIP>5EEtLoL*XoyiTN{`E_qqMA_twTN#Ya7J zweMeJtoZq={)*zV83HK+!dsJ-TMy~3JZLb<$$=s5&(&YgSJ!v&&(Hfm>woIZyzR1e zALY9q7jDyix&9RBh`bNCkwygH@Bj4jCBv~UffHpe3O;kspWe6o`$NXA<)0bF6J9^R ze%=55b-AN%IT>!nD=wS5{R;m(>!k4Co711yS(pgx`5QBw<7mvyadJyw^bq=;Fz@l_ z=3l!`zc$m#niVy}aL<{Yy}ypj$Hl63TzPn7S*FvqkkFuq=0AGu7VsIH+$dnqSlW@G zpefqHp_t+uy!p=eBv)4tRf|n^5~uGh)BIK7a^u&}$6t$XH!fd(_;&g8+V^I<&Kx%S zmRrmA=5?IccKp0>=Lt0xuW71`0eUxGPHgbWJ!$i7VOy&2skQyrqv!HlZe5}HrbzAA zOXs_86E}SR_A$}YU!s*oGSaY2+?q+fR=PM_=)_GC1}BA-B^)QGt#+Da^lO2J?4t0E zix0Rql=E)hpRxSa!99(9;rHz3oLj!qCdMO*FZcHE7iotozJEA*??eX&qk;&NGz*7! z!v;=QdDAP5;w-13;kVxrT*K)o(JM}|EK-WJem0`|BwGRa_v$D1`**7x;NT2?I>Bj&#oXy%ueo2nv3l#ZWf_wC*WW&_N?tJ6OnCF6?dnf& zZ{Lx9_q6+r6AR)NBo|i7I={=v*`g*hDKOAQ;v`#u$065_B46F2Q}JK=U+vxGdOGIW zjrRYi?f34GS(w@R*y#Vqsl6+oJ`r2oyZ06IKE;FuO`MEN?{FB+O7ci?Q8+n?XVxau z)MB5mWf7(!0TpSrD<9j)_OCs|Zy$gC>*jyv?c4MH=YPG;k@Duy)29=3Z@=B8eC_tV za(g>Drc+#sEl-++8d?OW++B8Nnr_g!%q*_A(feaw*PP+F*1Pw|%jbn_AF-^K<2(M; zB-tn=)zR&UNB&~>ogH%-_g;T!kjmAeF+s&)5~H9K*KJqb;GVgrukRL~yB={o;n1Pg z*^58SILj1Xao%XFdH?aG4uQnvEW0gR%coE6*?O(^e9vK%sT&Wn@l2fbMC)F234 zjdC55Z)mhkXxe|_zlm$wo`0|Q3(qyvPD|RNess3^w+q{*^H(hL{K~}KeR?Z@WkhZI ztO?AKMKd{+85$fWasSo+x4b_6|L2c0QvW~n|94;R-oBsQf7VyO|N7&@)%ri*|1$sE z|MdU6cn=|ugZaymCUfjHnrf<|IJ8B$8XXtt>uPjf&WyY+l^l~Fot=C8*m?W-EHiGw zEhmmUSKGWQ_@Y>Hd&iVWjtl3dI+SM>T!?iR?bB>|vw?A^Rt}?!=M8~ro7#R!tUdbC zVr}&Lce(Pd`K44>M17#B8sNJ$~7Fn`Ygg#QTQE?RNHa z{hl9R`evGj$*#t05=V2t%t&3u<-_Z3btc&HM2D7QyHk*bNa}$}OAJ=BKQ+Al({O9{ zZ8lyp8wp;s3f1-duRO1@(U57>KCnP+)|IH!Yx|>Qn__v+@w2&ezGL zsHw7Wnx+5EtJxb{<1Z>7HZ3c5c=on%*7AbJ(5Hzy%R02~OWZEp;e3!YOv8Sk<-6)o z!G%653_ra8KA->FUSN@?9N*=~j_s5ASC&3rno#DjFPyV4p=x`hU;sPya8>?27-R{A>Pi{q$3{sa+h6~yitIJqc;U*tsOl<(OQBL}=2=!( zpUi(!(6aYn183PDBmIqAPO3UECKPCH;@}pUs%hDyoXxXL?6l$bi^q@c>+jdE?(KT; z#X#RXdYM|~ZEubVArUM=_pLZPt(bCmBsM2ztT}bl$!MFhvXerH!om|76CcjupSj*P?+q4B%@k&hL#?sLlP5pkR%ZIGG$wxgMCFb%0S~ue`F%o15;$WG?z!0)7a2m@otNGKmZ7aP$vm^ZL(KA~@ z`*X8AydDt}7>6xn%6`4AX^pxJ#U;h8^=KpQ|{`IE+p0D)%Z~OnB z@&ESZ!yDJmJ^xRC{p}9Hu4zFJn7o}ly8hn=b+VK`Z@-2p(%;2*)l?a`&kohg=@Cs# zo~`60nE3nh>0RI7HLz5CH|RZR^60L#z;CHgjjcX&oO4+=yB$>EvF4kxU~|6OjOQCZ zI!t29F_^|O$^FLCG*3O(D=+R`TlM8e&YA}=KUUbBSvg??C+A7GV^29OHP0;NQ4x|k zp^(O~;Ly7xPkIh$GIlXAC>`#xbBi=}yZ?KFX#r!+@4JV0AAjr^yrpC+i^rq`Nj*Z7 z7*zU>SKeNouPlA|-R%k+dE>?Xr>5k#Ftn&}9AY}jrkokOz4W%nwyoFJ&am`9{`sYY z#Lm=hJmL*cIKIYRzH+X8XN>RV*-y9h*=cmu%Ie8a=Tts8Z()2L3-E z*4C$e=4A4Dv;T#?jQVZCsg0`AoQxVq%fxEer=EM9dCxpQ`us78eR10!zce@>_;kW4 zGYu7uW|4(P^}kN1^l<Z{HXC*o|V`c4+L{HS`((b)1Zk*j>^<2jYP`D_=s zud^>Nle;hDRz6jU zgEoI>);In%|D(O?-_H7`5hnLX%jwdXp(AZv1{IZsYz>7VfE9$?OWBn z6EvP>R(&ohkW6GqXPdS#N3k`?=cZd^HKUy%yTpzY2RylNY&?15+N|Cu`qRA@yY;`_ z_Wtj)z2D!)h=@eouPe8+-?A!k^(nVWZ#FTuD5|J9=(#^O@ZFv*Zy~qgp4Fo*`pBnbu`Tnme^0!7K^TESKHgaNzW@=0jSje%`#Us(CP1RkCb7}wQ#Qi<{ z_!4fPYCc@ZwtLNlrcInG;&QDFmG9>Tt)Kq!@$%XJ&p2FpWRvY=(>Az>ax4}QoY67i zkf4y%(`j@3PTTEyZ#zkA|GvET)GXbD6Q!6PCMgppwd+28#7i@g}lr_IX^ zJFwApSlNp(&u?!piiioRDXae4zWs*6P}83ws$QgO&vhDvTZvw7jJj$HnE>hOn@mdHI98{-my`uL3iJ6IWyX zT%R7TlapQ*=NmPiul@S# z*NS?oYWKaXo_^@=*($589CM@G7?^T$qE95$Ze6pp_3-rB_idKs$ISOOX1Trfee~YS zS;|Zset7?#zOUNC#)jjU38!WYi-rhS^g2DkmM9M{<%JG`B?}xky?wgwuwhR0q59;1 z+v`u)y9hZ>75OUZ;A&L+&EL8A@3rgR_V#m>7*zh>|6c$7|Cji`zmZ$l@8TEMe1BW` zW|M05l!-l)cf8r2o_G861wS)4b>)AD%Rhf?F-d9L%sR=@DRqM5wwT6=D;9aBKEAbE z)Jo@OyXUvK>gNw{@R)W?*^uJd(CwpG`(x$$n~!br zi7A_Nul_zDSA3N@#?s}_yR$Xb-z;{dXM9mBP`tPmgkG|^u^&|uH(ti)9 z7q7pwZQX?zP7G{}93qT|QllsOtQ6a|Ykl_p>$jG#^VKuCn0-g@Z;egLksrT)v~J?; zT;G1;!>3Jo$?6Ap%vd&O*)-i~?#8tap=|CAO9hPjIFwc%+_o#czBbanrl$AGcK_qP zp_`ANt^NAbMsUX+qf=6;ohzU2`h7U{?1iV5Yi^o4wrlgBF0#;{DJUu7DI}1jBn5$Z4-cg!6TYpA(+RGtl9gXyeeR)=!>09*zx~W#;PY1c zPwT(>??>&!LQ@tow1l>8;D`=o;_hFxX4ApjaTBAaz4^NO|Hk)o{Dn_2|CRo?___3} z=lg^H|C#;Ict_vgZN0U!)zY_qJgUF)wbWj|f8wvJ`%kBG{9FHX|L^+G7VgRSAE3-I z)Z5sdskHDB5~=MuY}C8yZDr>4+F1KO8JEj1wut@z_p|7$-0v?^uWt+8_UGH%mmh7|qvF|5uDBK6w>)iUo3g6s3ZHDos{fDcZd9oB4 zexJ4bsyoUXSlwD$Hn4^u=_&$EF)mD9+Ol+#nb(w1d3h&Z&Y(qXBo+PChu7gK=Ci;6kQo0b|K`mp?otHQ}5jTRO0WS;!j z6?fy~*T4Rn%D%6@I_;6r>~ev{d+r@OoEg-T+o@$_y6ReQP;A`qZM>{}NtZY3wqG{c z-lpTgK0FlN_XtAkHV=WfzHzOrA@ z;EZm=^<3%PD~rFse!wIg(Rr>tGm9mwv(=zaibILTXd9>JwYbnrQ$D`5vfGYkBnbE+?OxZoR29x3B&G=di1) zsayK2TlIhHW~s+0OkKKxNqV}9N_&bT)5iBP`Ek2r_4;ee(|-T^{kbTm$7=p<8{g^A z=PvqwYuiR0%|)lUq&J65n$nzx^8;y z`n_(wVSHPT|Ns2GJ@ebHsG0fC_tdP~IMcl1z=0jRx(+3@xrb|h5NvXnoiF$NtgZ2? zCZ$C>8z~Rw^Q;Lj>c6oUDvOF zE!y46u#&@2|Fg;V&xt1)5}7@+R(dp^VwkCQ{lzh@-(R0z%V)c1CwqV2%;_;JpFxL`HkZei{<2}8AjyG?uglbrp)5Zp-E9J*S7J>OKg9%SeYr(VEeR% zD<^VwHWhg6*zjW!e`-SF?g?w3pZ-^Lv;X){`+tWopMSqTdFA0L!nyC8XKuXucGvOv zXZuZKoc=`Bv`T8V=m-iau-q!YpSQ+3{!jkZTl)X_-K)MoeylI}Q<!@wVKkWNmafaiVgV43#^S7_%O}kMsi|>Bz{*viWIF4O-o+!w1 z+pNpU=-d~HeR12pb8FXEZAt%RI`7`r$3nmJa>BPp=F5Hl<#nHXfpCjT&)ZjWfqpk8 zelhdQpFb@tcIn3E2|qrGhBa^~DlVL$+hKP6^Y6F)7ajRlzO{_1EV^CPrFMCCX2s{P zn{?+Fe%~9D(tSF$wsNl*L(`OJKMSn%PAe*}Jk;RWc)Ee1N5w7ly{Mqme7m^%(r;fX zD!!M=UFG-A7QMcAzW?VPyWULFU;npe#&S)!on7yC#r%p(YjPCvnOAHjw=9!uLvE+Q z!U+tir#n_XJkt>t`th^>_W5=D_Uu`6gP;HO`+EDwlUgL3+dp4Xx?a1ZW_PaQQxT8p zwYR_3&e~FY>$kUN)0XaQQv^TD1Pf1dIH8){s>E=UMdQPV4G#L-|9-v3fBfg$*}?Ds z7TwMI@v+82_w(!5QW{2X>*N3E*LT)0Tj|DXp>m3gQ?#i=qvhg_oq0Kj*J)i(|NnFM zd%1l-%okVByKQp3N_yMt```Be-}=*B>7Ua7UyJ{Lf4{!PIi){q-O1eZp1$8^C?tM< zy6Nm^6aD{v|K9(rM``gHD>L?3`}ZFgGujvX`}ApFP5$|OZ|(opIWkLUPchO}Y+2mX zdO$6uV_)|Dn6USYtG_&)u|5--D{lMq=iEk0B9fM8Kfm1K6YSE$y v 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%0D}N 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%0DT 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 tz4|;%HLfob+VP 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�HlaK&Xh|-U_mqxVi`&0(mmV*>Vsq4J>zj+) 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'USpA)g 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 E0II(^`Tzg` literal 0 HcmV?d00001 diff --git a/examples/shaders/resources/old_car_n.png b/examples/shaders/resources/old_car_n.png new file mode 100644 index 0000000000000000000000000000000000000000..11f689fe27a4e8c10e1a89df68ae6413c70bfff3 GIT binary patch literal 1287246 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� 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⋘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

*G>B_ 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 M%)r3F%)rC|08AV{kpKVy literal 0 HcmV?d00001 diff --git a/examples/shaders/resources/old_car_d.png b/examples/shaders/resources/old_car_d.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b3c833d1c089ac8df5fd9e0aab87660d6d3f39 GIT binary patch literal 1684886 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%0Dudz2kD?Bect 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
Zj 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