Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request upgrades the project from SDL2 to SDL3. This is a major update that brings numerous improvements, new features, and ensures long-term support for the project's core platform and input layer.
Summary of Changes
The entire engine has been migrated to the new SDL3 API. This involved changes to window creation, event handling, input processing, and the rendering backend. The
imguilibrary has also been updated to use its new SDL3 backend.Detailed Changes
Build System
find_package(SDL3). The oldFindSDL*.cmakemodules have been removed or updated.Core Engine
<SDL.h>to<SDL3/SDL.h>.SDL_Init()andSDL_Quit()calls have been updated to reflect changes in SDL3's subsystem management.-1on error now returnfalse. All error handling code has been updated to check for boolean return values.SDL_ScancodeandSDL_Keycodeusage has been updated.SDL_GamepadAPI, replacing the deprecatedSDL_GameControllerAPI. This includes updated button and axis mappings.ImGui
imguibackend has been switched from the SDL2 implementation to the newimgui_impl_sdl3.cppbackend.imguirendering backend has been updated to work with the new SDL3 renderer implementations.How to Test