commits
* Use generic versions of Marshal.PtrToStructure and Marshal.SizeOf
* Use generic version of Marshal.GetDelegateForFunctionPointer
* Update target frameworks
* Mark assembly as trimmable and enable AOT analyzer
The previous signature was different from the one actually implemented in SDL / the one in the documentation. This fixes it and makes it on par with the implementation and the documentation
This function should return an SDL_bool, not void per SDL wiki https://wiki.libsdl.org/SDL_HasARMSIMD.
This will possibly have an effect on armv7 and early armv8 platforms so it's important it gets fixed.
So no kludging with an array interop.
Adding `Mix_GetError`, `Mix_SetError`, `Mix_ClearError` as per the SDL_mixer header file:
/* We'll use SDL for reporting errors */
#define Mix_SetError SDL_SetError
#define Mix_GetError SDL_GetError
#define Mix_ClearError SDL_ClearError
Adding some missing functions to SDL2_ttf that are just wrappers of the `SDL_GetError` and `SDL_SetError` as per the SDL_ttf header:
```
/* We'll use SDL for reporting errors */
#define TTF_SetError SDL_SetError
#define TTF_GetError SDL_GetError
```
THis adds some missing overloads that Ryujinx uses.
Changelog:
- Add a new overload of SDL_MixAudioFormat to allow passing raw pointers
as dest and src (useful for usage with SDL_AudioSpec's callback).
- Add a new overload of SDL_OpenAudioDevice to allow passing null for
the device parameter.
- Add a new overload of SDL_Vulkan_GetInstanceExtensions to allow
passing null for the pName parameter.
Trying to avoid null strings was far too invasive and kept creating bugs in the wrapper, and the wrapper should not have enough code to create bugs in the first place.
This is based on my update to 2.0.14 I did based on ppy's fork.
Even if what I did in the end was duplicate compared to upstream, I found some differences and missing bits.
This commit is here to address those missing bits.
Based on FNA.Settings.props.
* Add SDL_Metal APIs
* Added LockTextureToSurface functions
* Add SDL_HasARMSIMD and SDL_GameControllerType enum/functions
* Updated enum names, added missing macros, added new hints
* Added Get/SetPlayerIndex functions
* Standardize comment format
* Added SDL_Get/SetTextureScaleMode
* TTF updates
* Added IMG_Animation API to SDL_image
* SDL_mixer updates
* Add SDL_BLENDMODE_MUL
* Added hints and SDL_GetAndroidSDKVersion
THis adds some missing overloads that Ryujinx uses.
Changelog:
- Add a new overload of SDL_MixAudioFormat to allow passing raw pointers
as dest and src (useful for usage with SDL_AudioSpec's callback).
- Add a new overload of SDL_OpenAudioDevice to allow passing null for
the device parameter.
- Add a new overload of SDL_Vulkan_GetInstanceExtensions to allow
passing null for the pName parameter.
* Add SDL_Metal APIs
* Added LockTextureToSurface functions
* Add SDL_HasARMSIMD and SDL_GameControllerType enum/functions
* Updated enum names, added missing macros, added new hints
* Added Get/SetPlayerIndex functions
* Standardize comment format
* Added SDL_Get/SetTextureScaleMode
* TTF updates
* Added IMG_Animation API to SDL_image
* SDL_mixer updates
* Add SDL_BLENDMODE_MUL
* Added hints and SDL_GetAndroidSDKVersion