- Added SDL_main support to the default bindings load path.
- Refactored macro handling and binding generation internals with no intentional API changes.
- Added optional extension entry point:
require "rbsdl3/mixer"for SDL_mixer APIs. - Target SDL_mixer version to 3.2.0. Generated
rbsdl3/mixer.rb; SDL_mixer 3.2.0 APIs are now available via the bindings.
- Target SDL version to 3.4.2 (from 3.4.0). Regenerated
rbsdl3/sdl.rb; newly added constants in SDL 3.4.2 are now available via the bindings (see SDL 3.4.2 release notes for the full upstream change list). - Extended macro extraction to include
SDLK_,IMG_,MIX_, andTTF_prefixes, so the generated bindings now include previously omitted constants. - Added SDL_mixer to the default dynamic library load targets.
- Target SDL_image version to 3.4.0 (from 3.2.6). Regenerated
rbsdl3/image.rb; newly added APIs in SDL_image 3.4 are now available via the bindings (see the SDL_image 3.4.0 release notes for the full upstream change list).
- Target SDL version to 3.4.0 (from 3.2.28). Regenerated
rbsdl3/sdl.rb; newly added APIs in SDL 3.4 are now available via the bindings (see SDL 3.4.0 release notes for the full upstream change list). - Target SDL_image version to 3.2.6 (from 3.2.4). Regenerated
rbsdl3/image.rb(micro update; no intentional functional change in rbsdl3 beyond upstream bugfixes).
- Upstream renamed
SDL_PROP_WINDOW_OPENVR_OVERLAY_IDtoSDL_PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER(same value).
- Added SDL3 bindings built on
Fiddle::Importer. Supports runtime linking viadlload, allowing the user to choose the target dynamic library at runtime. require "rbsdl3"makes the SDL3 core API available (functions, constants, structs, enums, etc.) by loadingrbsdl3/sdlinternally.- Added optional extension entry points:
require "rbsdl3/image"for SDL_image APIs andrequire "rbsdl3/ttf"for SDL_ttf APIs (both assume the SDL3 core is loaded). - Added Ruby-side helpers that mirror a subset of SDL macros (C-style integer casts, FOURCC, version helpers, etc.).
- Added a stub/annotation mechanism for missing symbols and unsupported APIs: unresolved symbols raise
NotImplementedError, and selected APIs can be explicitly marked asunsupported:.
- Dependencies: Ruby >= 3.1, fiddle ~> 1.1.7.
- Due to Fiddle limitations, some APIs raise
NotImplementedError.- SDL examples:
SDL_vsnprintf()/SDL_vasprintf()/SDL_SetErrorV()/SDL_LogMessageV()/SDL_IOvprintf()/SDL_GUIDToString()/SDL_StringToGUID()/SDL_SetGPUBlendConstants() - SDL_ttf examples:
TTF_RenderText_*/TTF_RenderGlyph_*
- SDL examples: