Browse Source

Reset the dynamic API for SDL 3.0

Sam Lantinga 2 years ago
parent
commit
e4e7a8baff
3 changed files with 1285 additions and 1319 deletions
  1. 547 551
      src/dynapi/SDL_dynapi.sym
  2. 363 363
      src/dynapi/SDL_dynapi_overrides.h
  3. 375 405
      src/dynapi/SDL_dynapi_procs.h

+ 547 - 551
src/dynapi/SDL_dynapi.sym

@@ -1,37 +1,68 @@
 SDL3_0.0.0 {
   global:
-    JNI_OnLoad;
-    SDL_OpenURL;
-    SDL_LoadObject;
-    SDL_LoadFunction;
-    SDL_UnloadObject;
-    SDL_RWFromFile;
-    SDL_RWFromMem;
-    SDL_RWFromConstMem;
-    SDL_AllocRW;
-    SDL_FreeRW;
-    SDL_RWsize;
-    SDL_RWseek;
-    SDL_RWtell;
-    SDL_RWread;
-    SDL_RWwrite;
-    SDL_RWclose;
-    SDL_LoadFile_RW;
-    SDL_LoadFile;
-    SDL_ReadU8;
-    SDL_ReadLE16;
-    SDL_ReadBE16;
-    SDL_ReadLE32;
-    SDL_ReadBE32;
-    SDL_ReadLE64;
-    SDL_ReadBE64;
-    SDL_WriteU8;
-    SDL_WriteLE16;
-    SDL_WriteBE16;
-    SDL_WriteLE32;
-    SDL_WriteBE32;
-    SDL_WriteLE64;
-    SDL_WriteBE64;
+    SDL_Log;
+    SDL_LogCritical;
+    SDL_LogDebug;
+    SDL_LogError;
+    SDL_LogInfo;
+    SDL_LogMessage;
+    SDL_LogVerbose;
+    SDL_LogWarn;
+    SDL_SetError;
+    SDL_asprintf;
+    SDL_snprintf;
+    SDL_sscanf;
+    SDL_CreateThread;
+    SDL_CreateThreadWithStackSize;
+    SDL_RegisterApp;
+    SDL_RenderGetD3D12Device;
+    SDL_SetWindowsMessageHook;
+    SDL_UnregisterApp;
+    SDL_DXGIGetOutputInfo;
+    SDL_Direct3D9GetAdapterIndex;
+    SDL_RenderGetD3D11Device;
+    SDL_RenderGetD3D9Device;
+    SDL_GDKGetTaskQueue;
+    SDL_GDKSuspendComplete;
+    SDL_WinRTGetDeviceFamily;
+    SDL_WinRTGetFSPathUNICODE;
+    SDL_WinRTGetFSPathUTF8;
+    SDL_LinuxSetThreadPriority;
+    SDL_LinuxSetThreadPriorityAndPolicy;
+    SDL_OnApplicationDidChangeStatusBarOrientation;
+    SDL_iPhoneSetAnimationCallback;
+    SDL_iPhoneSetEventPump;
+    SDL_AndroidBackButton;
+    SDL_AndroidGetActivity;
+    SDL_AndroidGetExternalStoragePath;
+    SDL_AndroidGetExternalStorageState;
+    SDL_AndroidGetInternalStoragePath;
+    SDL_AndroidGetJNIEnv;
+    SDL_AndroidRequestPermission;
+    SDL_AndroidSendMessage;
+    SDL_AndroidShowToast;
+    SDL_GetAndroidSDKVersion;
+    SDL_IsAndroidTV;
+    SDL_IsChromebook;
+    SDL_IsDeXMode;
+    SDL_ReportAssertion;
+    SDL_SetAssertionHandler;
+    SDL_GetDefaultAssertionHandler;
+    SDL_GetAssertionHandler;
+    SDL_GetAssertionReport;
+    SDL_ResetAssertionReport;
+    SDL_AtomicTryLock;
+    SDL_AtomicLock;
+    SDL_AtomicUnlock;
+    SDL_MemoryBarrierReleaseFunction;
+    SDL_MemoryBarrierAcquireFunction;
+    SDL_AtomicCAS;
+    SDL_AtomicSet;
+    SDL_AtomicGet;
+    SDL_AtomicAdd;
+    SDL_AtomicCASPtr;
+    SDL_AtomicSetPtr;
+    SDL_AtomicGetPtr;
     SDL_GetNumAudioDrivers;
     SDL_GetAudioDriver;
     SDL_GetCurrentAudioDriver;
@@ -67,89 +98,39 @@ SDL3_0.0.0 {
     SDL_UnlockAudioDevice;
     SDL_CloseAudio;
     SDL_CloseAudioDevice;
-    SDL_SetWindowsMessageHook;
-    SDL_Direct3D9GetAdapterIndex;
-    SDL_RenderGetD3D9Device;
-    SDL_RenderGetD3D11Device;
-    SDL_RenderGetD3D12Device;
-    SDL_DXGIGetOutputInfo;
-    SDL_LinuxSetThreadPriority;
-    SDL_LinuxSetThreadPriorityAndPolicy;
-    SDL_iPhoneSetAnimationCallback;
-    SDL_iPhoneSetEventPump;
-    SDL_AndroidGetJNIEnv;
-    SDL_AndroidGetActivity;
-    SDL_GetAndroidSDKVersion;
-    SDL_IsAndroidTV;
-    SDL_IsChromebook;
-    SDL_IsDeXMode;
-    SDL_AndroidBackButton;
-    SDL_AndroidGetInternalStoragePath;
-    SDL_AndroidGetExternalStorageState;
-    SDL_AndroidGetExternalStoragePath;
-    SDL_AndroidRequestPermission;
-    SDL_AndroidShowToast;
-    SDL_AndroidSendMessage;
-    SDL_WinRTGetFSPathUNICODE;
-    SDL_WinRTGetFSPathUTF8;
-    SDL_WinRTGetDeviceFamily;
-    SDL_IsTablet;
-    SDL_OnApplicationWillTerminate;
-    SDL_OnApplicationDidReceiveMemoryWarning;
-    SDL_OnApplicationWillResignActive;
-    SDL_OnApplicationDidEnterBackground;
-    SDL_OnApplicationWillEnterForeground;
-    SDL_OnApplicationDidBecomeActive;
-    SDL_OnApplicationDidChangeStatusBarOrientation;
-    SDL_GDKGetTaskQueue;
-    SDL_AtomicTryLock;
-    SDL_AtomicLock;
-    SDL_AtomicUnlock;
-    SDL_MemoryBarrierReleaseFunction;
-    SDL_MemoryBarrierAcquireFunction;
-    SDL_AtomicCAS;
-    SDL_AtomicSet;
-    SDL_AtomicGet;
-    SDL_AtomicAdd;
-    SDL_AtomicCASPtr;
-    SDL_AtomicSetPtr;
-    SDL_AtomicGetPtr;
-    SDL_GetKeyboardFocus;
-    SDL_GetKeyboardState;
-    SDL_ResetKeyboard;
-    SDL_GetModState;
-    SDL_SetModState;
-    SDL_GetKeyFromScancode;
-    SDL_GetScancodeFromKey;
-    SDL_GetScancodeName;
-    SDL_GetScancodeFromName;
-    SDL_GetKeyName;
-    SDL_GetKeyFromName;
-    SDL_StartTextInput;
-    SDL_IsTextInputActive;
-    SDL_StopTextInput;
-    SDL_ClearComposition;
-    SDL_IsTextInputShown;
-    SDL_SetTextInputRect;
-    SDL_HasScreenKeyboardSupport;
-    SDL_IsScreenKeyboardShown;
-    SDL_LogSetAllPriority;
-    SDL_LogSetPriority;
-    SDL_LogGetPriority;
-    SDL_LogResetPriorities;
-    SDL_Log;
-    SDL_LogVerbose;
-    SDL_LogDebug;
-    SDL_LogInfo;
-    SDL_LogWarn;
-    SDL_LogError;
-    SDL_LogCritical;
-    SDL_LogMessage;
-    SDL_LogMessageV;
-    SDL_LogGetOutputFunction;
-    SDL_LogSetOutputFunction;
-    SDL_GUIDToString;
-    SDL_GUIDFromString;
+    SDL_ComposeCustomBlendMode;
+    SDL_SetClipboardText;
+    SDL_GetClipboardText;
+    SDL_HasClipboardText;
+    SDL_SetPrimarySelectionText;
+    SDL_GetPrimarySelectionText;
+    SDL_HasPrimarySelectionText;
+    SDL_GetCPUCount;
+    SDL_GetCPUCacheLineSize;
+    SDL_HasRDTSC;
+    SDL_HasAltiVec;
+    SDL_HasMMX;
+    SDL_HasSSE;
+    SDL_HasSSE2;
+    SDL_HasSSE3;
+    SDL_HasSSE41;
+    SDL_HasSSE42;
+    SDL_HasAVX;
+    SDL_HasAVX2;
+    SDL_HasAVX512F;
+    SDL_HasARMSIMD;
+    SDL_HasNEON;
+    SDL_HasLSX;
+    SDL_HasLASX;
+    SDL_GetSystemRAM;
+    SDL_SIMDGetAlignment;
+    SDL_SIMDAlloc;
+    SDL_SIMDRealloc;
+    SDL_SIMDFree;
+    SDL_GetError;
+    SDL_GetErrorMsg;
+    SDL_ClearError;
+    SDL_Error;
     SDL_PumpEvents;
     SDL_PeepEvents;
     SDL_HasEvent;
@@ -166,34 +147,419 @@ SDL3_0.0.0 {
     SDL_DelEventWatch;
     SDL_FilterEvents;
     SDL_EventState;
+    SDL_GetEventState;
     SDL_RegisterEvents;
-    SDL_GetTicks;
-    SDL_GetTicks64;
-    SDL_GetPerformanceCounter;
-    SDL_GetPerformanceFrequency;
-    SDL_Delay;
-    SDL_AddTimer;
-    SDL_RemoveTimer;
-    SDL_Vulkan_LoadLibrary;
-    SDL_Vulkan_GetVkGetInstanceProcAddr;
-    SDL_Vulkan_UnloadLibrary;
-    SDL_Vulkan_GetInstanceExtensions;
-    SDL_Vulkan_CreateSurface;
-    SDL_Vulkan_GetDrawableSize;
-    SDL_GetPreferredLocales;
-    SDL_GetPixelFormatName;
-    SDL_GetMasksForPixelFormatEnum;
-    SDL_GetPixelFormatEnumForMasks;
-    SDL_CreatePixelFormat;
-    SDL_DestroyPixelFormat;
-    SDL_CreatePalette;
-    SDL_SetPixelFormatPalette;
-    SDL_SetPaletteColors;
-    SDL_DestroyPalette;
-    SDL_MapRGB;
-    SDL_MapRGBA;
-    SDL_GetRGB;
-    SDL_GetRGBA;
+    SDL_GetBasePath;
+    SDL_GetPrefPath;
+    SDL_AddGamepadMapping;
+    SDL_AddGamepadMappingsFromRW;
+    SDL_GetNumGamepadMappings;
+    SDL_GetGamepadMappingForIndex;
+    SDL_GetGamepadMappingForGUID;
+    SDL_GetGamepadMapping;
+    SDL_HasGamepads;
+    SDL_GetGamepads;
+    SDL_IsGamepad;
+    SDL_GetGamepadInstanceName;
+    SDL_GetGamepadInstancePath;
+    SDL_GetGamepadInstancePlayerIndex;
+    SDL_GetGamepadInstanceGUID;
+    SDL_GetGamepadInstanceVendor;
+    SDL_GetGamepadInstanceProduct;
+    SDL_GetGamepadInstanceProductVersion;
+    SDL_GetGamepadInstanceType;
+    SDL_GetGamepadInstanceMapping;
+    SDL_OpenGamepad;
+    SDL_GetGamepadFromInstanceID;
+    SDL_GetGamepadFromPlayerIndex;
+    SDL_GetGamepadName;
+    SDL_GetGamepadPath;
+    SDL_GetGamepadType;
+    SDL_GetGamepadPlayerIndex;
+    SDL_SetGamepadPlayerIndex;
+    SDL_GetGamepadVendor;
+    SDL_GetGamepadProduct;
+    SDL_GetGamepadProductVersion;
+    SDL_GetGamepadFirmwareVersion;
+    SDL_GetGamepadSerial;
+    SDL_IsGamepadConnected;
+    SDL_GetGamepadJoystick;
+    SDL_GetGamepadEventState;
+    SDL_UpdateGamepads;
+    SDL_GetGamepadAxisFromString;
+    SDL_GetGamepadStringForAxis;
+    SDL_GetGamepadBindForAxis;
+    SDL_GamepadHasAxis;
+    SDL_GetGamepadAxis;
+    SDL_GetGamepadButtonFromString;
+    SDL_GetGamepadStringForButton;
+    SDL_GetGamepadBindForButton;
+    SDL_GamepadHasButton;
+    SDL_GetGamepadButton;
+    SDL_GetGamepadNumTouchpads;
+    SDL_GetGamepadNumTouchpadFingers;
+    SDL_GetGamepadTouchpadFinger;
+    SDL_GamepadHasSensor;
+    SDL_SetGamepadSensorEnabled;
+    SDL_IsGamepadSensorEnabled;
+    SDL_GetGamepadSensorDataRate;
+    SDL_GetGamepadSensorData;
+    SDL_RumbleGamepad;
+    SDL_RumbleGamepadTriggers;
+    SDL_GamepadHasLED;
+    SDL_GamepadHasRumble;
+    SDL_GamepadHasRumbleTriggers;
+    SDL_SetGamepadLED;
+    SDL_SendGamepadEffect;
+    SDL_CloseGamepad;
+    SDL_GetGamepadAppleSFSymbolsNameForButton;
+    SDL_GetGamepadAppleSFSymbolsNameForAxis;
+    SDL_GUIDToString;
+    SDL_GUIDFromString;
+    SDL_NumHaptics;
+    SDL_HapticName;
+    SDL_HapticOpen;
+    SDL_HapticOpened;
+    SDL_HapticIndex;
+    SDL_MouseIsHaptic;
+    SDL_HapticOpenFromMouse;
+    SDL_JoystickIsHaptic;
+    SDL_HapticOpenFromJoystick;
+    SDL_HapticClose;
+    SDL_HapticNumEffects;
+    SDL_HapticNumEffectsPlaying;
+    SDL_HapticQuery;
+    SDL_HapticNumAxes;
+    SDL_HapticEffectSupported;
+    SDL_HapticNewEffect;
+    SDL_HapticUpdateEffect;
+    SDL_HapticRunEffect;
+    SDL_HapticStopEffect;
+    SDL_HapticDestroyEffect;
+    SDL_HapticGetEffectStatus;
+    SDL_HapticSetGain;
+    SDL_HapticSetAutocenter;
+    SDL_HapticPause;
+    SDL_HapticUnpause;
+    SDL_HapticStopAll;
+    SDL_HapticRumbleSupported;
+    SDL_HapticRumbleInit;
+    SDL_HapticRumblePlay;
+    SDL_HapticRumbleStop;
+    SDL_hid_init;
+    SDL_hid_exit;
+    SDL_hid_device_change_count;
+    SDL_hid_enumerate;
+    SDL_hid_free_enumeration;
+    SDL_hid_open;
+    SDL_hid_open_path;
+    SDL_hid_write;
+    SDL_hid_read_timeout;
+    SDL_hid_read;
+    SDL_hid_set_nonblocking;
+    SDL_hid_send_feature_report;
+    SDL_hid_get_feature_report;
+    SDL_hid_close;
+    SDL_hid_get_manufacturer_string;
+    SDL_hid_get_product_string;
+    SDL_hid_get_serial_number_string;
+    SDL_hid_get_indexed_string;
+    SDL_hid_ble_scan;
+    SDL_SetHintWithPriority;
+    SDL_SetHint;
+    SDL_ResetHint;
+    SDL_ResetHints;
+    SDL_GetHint;
+    SDL_GetHintBoolean;
+    SDL_AddHintCallback;
+    SDL_DelHintCallback;
+    SDL_ClearHints;
+    SDL_Init;
+    SDL_InitSubSystem;
+    SDL_QuitSubSystem;
+    SDL_WasInit;
+    SDL_Quit;
+    SDL_LockJoysticks;
+    SDL_UnlockJoysticks;
+    SDL_HasJoysticks;
+    SDL_GetJoysticks;
+    SDL_GetJoystickInstanceName;
+    SDL_GetJoystickInstancePath;
+    SDL_GetJoystickInstancePlayerIndex;
+    SDL_GetJoystickInstanceGUID;
+    SDL_GetJoystickInstanceVendor;
+    SDL_GetJoystickInstanceProduct;
+    SDL_GetJoystickInstanceProductVersion;
+    SDL_GetJoystickInstanceType;
+    SDL_OpenJoystick;
+    SDL_GetJoystickFromInstanceID;
+    SDL_GetJoystickFromPlayerIndex;
+    SDL_AttachVirtualJoystick;
+    SDL_AttachVirtualJoystickEx;
+    SDL_DetachVirtualJoystick;
+    SDL_IsJoystickVirtual;
+    SDL_SetJoystickVirtualAxis;
+    SDL_SetJoystickVirtualButton;
+    SDL_SetJoystickVirtualHat;
+    SDL_GetJoystickName;
+    SDL_GetJoystickPath;
+    SDL_GetJoystickPlayerIndex;
+    SDL_SetJoystickPlayerIndex;
+    SDL_GetJoystickGUID;
+    SDL_GetJoystickVendor;
+    SDL_GetJoystickProduct;
+    SDL_GetJoystickProductVersion;
+    SDL_GetJoystickFirmwareVersion;
+    SDL_GetJoystickSerial;
+    SDL_GetJoystickType;
+    SDL_GetJoystickGUIDString;
+    SDL_GetJoystickGUIDFromString;
+    SDL_GetJoystickGUIDInfo;
+    SDL_IsJoystickConnected;
+    SDL_GetJoystickInstanceID;
+    SDL_GetNumJoystickAxes;
+    SDL_GetNumJoystickHats;
+    SDL_GetNumJoystickButtons;
+    SDL_UpdateJoysticks;
+    SDL_GetJoystickEventState;
+    SDL_GetJoystickAxis;
+    SDL_GetJoystickAxisInitialState;
+    SDL_GetJoystickHat;
+    SDL_GetJoystickButton;
+    SDL_RumbleJoystick;
+    SDL_RumbleJoystickTriggers;
+    SDL_JoystickHasLED;
+    SDL_JoystickHasRumble;
+    SDL_JoystickHasRumbleTriggers;
+    SDL_SetJoystickLED;
+    SDL_SendJoystickEffect;
+    SDL_CloseJoystick;
+    SDL_GetJoystickPowerLevel;
+    SDL_GetKeyboardFocus;
+    SDL_GetKeyboardState;
+    SDL_ResetKeyboard;
+    SDL_GetModState;
+    SDL_SetModState;
+    SDL_GetKeyFromScancode;
+    SDL_GetScancodeFromKey;
+    SDL_GetScancodeName;
+    SDL_GetScancodeFromName;
+    SDL_GetKeyName;
+    SDL_GetKeyFromName;
+    SDL_StartTextInput;
+    SDL_IsTextInputActive;
+    SDL_StopTextInput;
+    SDL_ClearComposition;
+    SDL_IsTextInputShown;
+    SDL_SetTextInputRect;
+    SDL_HasScreenKeyboardSupport;
+    SDL_IsScreenKeyboardShown;
+    SDL_LoadObject;
+    SDL_LoadFunction;
+    SDL_UnloadObject;
+    SDL_GetPreferredLocales;
+    SDL_LogSetAllPriority;
+    SDL_LogSetPriority;
+    SDL_LogGetPriority;
+    SDL_LogResetPriorities;
+    SDL_LogMessageV;
+    SDL_LogGetOutputFunction;
+    SDL_LogSetOutputFunction;
+    SDL_SetMainReady;
+    SDL_RunApp;
+    SDL_ShowMessageBox;
+    SDL_ShowSimpleMessageBox;
+    SDL_Metal_CreateView;
+    SDL_Metal_DestroyView;
+    SDL_Metal_GetLayer;
+    SDL_Metal_GetDrawableSize;
+    SDL_OpenURL;
+    SDL_GetMouseFocus;
+    SDL_GetMouseState;
+    SDL_GetGlobalMouseState;
+    SDL_GetRelativeMouseState;
+    SDL_WarpMouseInWindow;
+    SDL_WarpMouseGlobal;
+    SDL_SetRelativeMouseMode;
+    SDL_CaptureMouse;
+    SDL_GetRelativeMouseMode;
+    SDL_CreateCursor;
+    SDL_CreateColorCursor;
+    SDL_CreateSystemCursor;
+    SDL_SetCursor;
+    SDL_GetCursor;
+    SDL_GetDefaultCursor;
+    SDL_FreeCursor;
+    SDL_ShowCursor;
+    SDL_CreateMutex;
+    SDL_LockMutex;
+    SDL_TryLockMutex;
+    SDL_UnlockMutex;
+    SDL_DestroyMutex;
+    SDL_CreateSemaphore;
+    SDL_DestroySemaphore;
+    SDL_SemWait;
+    SDL_SemTryWait;
+    SDL_SemWaitTimeout;
+    SDL_SemPost;
+    SDL_SemValue;
+    SDL_CreateCond;
+    SDL_DestroyCond;
+    SDL_CondSignal;
+    SDL_CondBroadcast;
+    SDL_CondWait;
+    SDL_CondWaitTimeout;
+    SDL_GetPixelFormatName;
+    SDL_GetMasksForPixelFormatEnum;
+    SDL_GetPixelFormatEnumForMasks;
+    SDL_CreatePixelFormat;
+    SDL_DestroyPixelFormat;
+    SDL_CreatePalette;
+    SDL_SetPixelFormatPalette;
+    SDL_SetPaletteColors;
+    SDL_DestroyPalette;
+    SDL_MapRGB;
+    SDL_MapRGBA;
+    SDL_GetRGB;
+    SDL_GetRGBA;
+    SDL_GetPlatform;
+    SDL_GetPowerInfo;
+    SDL_HasRectIntersection;
+    SDL_GetRectIntersection;
+    SDL_GetRectUnion;
+    SDL_GetRectEnclosingPoints;
+    SDL_GetRectAndLineIntersection;
+    SDL_HasRectIntersectionF;
+    SDL_GetRectIntersectionF;
+    SDL_GetRectUnionF;
+    SDL_GetRectEnclosingPointsF;
+    SDL_GetRectAndLineIntersectionF;
+    SDL_GetNumRenderDrivers;
+    SDL_GetRenderDriver;
+    SDL_CreateWindowAndRenderer;
+    SDL_CreateRenderer;
+    SDL_CreateSoftwareRenderer;
+    SDL_GetRenderer;
+    SDL_GetRenderWindow;
+    SDL_GetRendererInfo;
+    SDL_GetRendererOutputSize;
+    SDL_CreateTexture;
+    SDL_CreateTextureFromSurface;
+    SDL_QueryTexture;
+    SDL_SetTextureColorMod;
+    SDL_GetTextureColorMod;
+    SDL_SetTextureAlphaMod;
+    SDL_GetTextureAlphaMod;
+    SDL_SetTextureBlendMode;
+    SDL_GetTextureBlendMode;
+    SDL_SetTextureScaleMode;
+    SDL_GetTextureScaleMode;
+    SDL_SetTextureUserData;
+    SDL_GetTextureUserData;
+    SDL_UpdateTexture;
+    SDL_UpdateYUVTexture;
+    SDL_UpdateNVTexture;
+    SDL_LockTexture;
+    SDL_LockTextureToSurface;
+    SDL_UnlockTexture;
+    SDL_IsRenderTargetSupported;
+    SDL_SetRenderTarget;
+    SDL_GetRenderTarget;
+    SDL_SetRenderLogicalSize;
+    SDL_GetRenderLogicalSize;
+    SDL_SetRenderIntegerScale;
+    SDL_GetRenderIntegerScale;
+    SDL_SetRenderViewport;
+    SDL_GetRenderViewport;
+    SDL_SetRenderClipRect;
+    SDL_GetRenderClipRect;
+    SDL_IsRenderClipEnabled;
+    SDL_SetRenderScale;
+    SDL_GetRenderScale;
+    SDL_RenderWindowToLogical;
+    SDL_RenderLogicalToWindow;
+    SDL_SetRenderDrawColor;
+    SDL_GetRenderDrawColor;
+    SDL_SetRenderDrawBlendMode;
+    SDL_GetRenderDrawBlendMode;
+    SDL_RenderClear;
+    SDL_RenderPoint;
+    SDL_RenderPoints;
+    SDL_RenderLine;
+    SDL_RenderLines;
+    SDL_RenderRect;
+    SDL_RenderRects;
+    SDL_RenderFillRect;
+    SDL_RenderFillRects;
+    SDL_RenderTexture;
+    SDL_RenderTextureRotated;
+    SDL_RenderPointF;
+    SDL_RenderPointsF;
+    SDL_RenderLineF;
+    SDL_RenderLinesF;
+    SDL_RenderRectF;
+    SDL_RenderRectsF;
+    SDL_RenderFillRectF;
+    SDL_RenderFillRectsF;
+    SDL_RenderTextureF;
+    SDL_RenderTextureRotatedF;
+    SDL_RenderGeometry;
+    SDL_RenderGeometryRaw;
+    SDL_RenderReadPixels;
+    SDL_RenderPresent;
+    SDL_DestroyTexture;
+    SDL_DestroyRenderer;
+    SDL_RenderFlush;
+    SDL_GL_BindTexture;
+    SDL_GL_UnbindTexture;
+    SDL_GetRenderMetalLayer;
+    SDL_GetRenderMetalCommandEncoder;
+    SDL_SetRenderVSync;
+    SDL_RWFromFile;
+    SDL_RWFromMem;
+    SDL_RWFromConstMem;
+    SDL_AllocRW;
+    SDL_FreeRW;
+    SDL_RWsize;
+    SDL_RWseek;
+    SDL_RWtell;
+    SDL_RWread;
+    SDL_RWwrite;
+    SDL_RWclose;
+    SDL_LoadFile_RW;
+    SDL_LoadFile;
+    SDL_ReadU8;
+    SDL_ReadLE16;
+    SDL_ReadBE16;
+    SDL_ReadLE32;
+    SDL_ReadBE32;
+    SDL_ReadLE64;
+    SDL_ReadBE64;
+    SDL_WriteU8;
+    SDL_WriteLE16;
+    SDL_WriteBE16;
+    SDL_WriteLE32;
+    SDL_WriteBE32;
+    SDL_WriteLE64;
+    SDL_WriteBE64;
+    SDL_HasSensors;
+    SDL_GetSensors;
+    SDL_GetSensorInstanceName;
+    SDL_GetSensorInstanceType;
+    SDL_GetSensorInstanceNonPortableType;
+    SDL_OpenSensor;
+    SDL_GetSensorFromInstanceID;
+    SDL_GetSensorName;
+    SDL_GetSensorType;
+    SDL_GetSensorNonPortableType;
+    SDL_GetSensorInstanceID;
+    SDL_GetSensorData;
+    SDL_CloseSensor;
+    SDL_UpdateSensors;
+    SDL_CreateShapedWindow;
+    SDL_IsShapedWindow;
+    SDL_SetWindowShape;
+    SDL_GetShapedWindowMode;
     SDL_malloc;
     SDL_calloc;
     SDL_realloc;
@@ -269,11 +635,8 @@ SDL3_0.0.0 {
     SDL_strncmp;
     SDL_strcasecmp;
     SDL_strncasecmp;
-    SDL_sscanf;
     SDL_vsscanf;
-    SDL_snprintf;
     SDL_vsnprintf;
-    SDL_asprintf;
     SDL_vasprintf;
     SDL_acos;
     SDL_acosf;
@@ -321,43 +684,6 @@ SDL3_0.0.0 {
     SDL_iconv_close;
     SDL_iconv;
     SDL_iconv_string;
-    SDL_GetMouseFocus;
-    SDL_GetMouseState;
-    SDL_GetGlobalMouseState;
-    SDL_GetRelativeMouseState;
-    SDL_WarpMouseInWindow;
-    SDL_WarpMouseGlobal;
-    SDL_SetRelativeMouseMode;
-    SDL_CaptureMouse;
-    SDL_GetRelativeMouseMode;
-    SDL_CreateCursor;
-    SDL_CreateColorCursor;
-    SDL_CreateSystemCursor;
-    SDL_SetCursor;
-    SDL_GetCursor;
-    SDL_GetDefaultCursor;
-    SDL_FreeCursor;
-    SDL_ShowCursor;
-    SDL_SetClipboardText;
-    SDL_GetClipboardText;
-    SDL_HasClipboardText;
-    SDL_SetPrimarySelectionText;
-    SDL_GetPrimarySelectionText;
-    SDL_HasPrimarySelectionText;
-    SDL_CreateThread;
-    SDL_CreateThreadWithStackSize;
-    SDL_CreateThread;
-    SDL_CreateThreadWithStackSize;
-    SDL_GetThreadName;
-    SDL_ThreadID;
-    SDL_GetThreadID;
-    SDL_SetThreadPriority;
-    SDL_WaitThread;
-    SDL_DetachThread;
-    SDL_TLSCreate;
-    SDL_TLSGet;
-    SDL_TLSSet;
-    SDL_TLSCleanup;
     SDL_CreateSurface;
     SDL_CreateSurfaceFrom;
     SDL_DestroySurface;
@@ -395,133 +721,40 @@ SDL3_0.0.0 {
     SDL_SetYUVConversionMode;
     SDL_GetYUVConversionMode;
     SDL_GetYUVConversionModeForResolution;
-    SDL_HasRectIntersection;
-    SDL_GetRectIntersection;
-    SDL_GetRectUnion;
-    SDL_GetRectEnclosingPoints;
-    SDL_GetRectAndLineIntersection;
-    SDL_HasRectIntersectionF;
-    SDL_GetRectIntersectionF;
-    SDL_GetRectUnionF;
-    SDL_GetRectEnclosingPointsF;
-    SDL_GetRectAndLineIntersectionF;
-    SDL_CreateShapedWindow;
-    SDL_IsShapedWindow;
-    SDL_SetWindowShape;
-    SDL_GetShapedWindowMode;
-    SDL_hid_init;
-    SDL_hid_exit;
-    SDL_hid_device_change_count;
-    SDL_hid_enumerate;
-    SDL_hid_free_enumeration;
-    SDL_hid_open;
-    SDL_hid_open_path;
-    SDL_hid_write;
-    SDL_hid_read_timeout;
-    SDL_hid_read;
-    SDL_hid_set_nonblocking;
-    SDL_hid_send_feature_report;
-    SDL_hid_get_feature_report;
-    SDL_hid_close;
-    SDL_hid_get_manufacturer_string;
-    SDL_hid_get_product_string;
-    SDL_hid_get_serial_number_string;
-    SDL_hid_get_indexed_string;
-    SDL_hid_ble_scan;
+    SDL_IsTablet;
+    SDL_OnApplicationWillTerminate;
+    SDL_OnApplicationDidReceiveMemoryWarning;
+    SDL_OnApplicationWillResignActive;
+    SDL_OnApplicationDidEnterBackground;
+    SDL_OnApplicationWillEnterForeground;
+    SDL_OnApplicationDidBecomeActive;
     SDL_GetWindowWMInfo;
-    SDL_GetNumRenderDrivers;
-    SDL_CreateWindowAndRenderer;
-    SDL_CreateRenderer;
-    SDL_CreateSoftwareRenderer;
-    SDL_GetRenderer;
-    SDL_GetRenderWindow;
-    SDL_GetRendererInfo;
-    SDL_GetRendererOutputSize;
-    SDL_CreateTexture;
-    SDL_CreateTextureFromSurface;
-    SDL_QueryTexture;
-    SDL_SetTextureColorMod;
-    SDL_GetTextureColorMod;
-    SDL_SetTextureAlphaMod;
-    SDL_GetTextureAlphaMod;
-    SDL_SetTextureBlendMode;
-    SDL_GetTextureBlendMode;
-    SDL_SetTextureScaleMode;
-    SDL_GetTextureScaleMode;
-    SDL_SetTextureUserData;
-    SDL_GetTextureUserData;
-    SDL_UpdateTexture;
-    SDL_UpdateYUVTexture;
-    SDL_UpdateNVTexture;
-    SDL_LockTexture;
-    SDL_LockTextureToSurface;
-    SDL_UnlockTexture;
-    SDL_IsRenderTargetSupported;
-    SDL_SetRenderTarget;
-    SDL_GetRenderTarget;
-    SDL_SetRenderLogicalSize;
-    SDL_GetRenderLogicalSize;
-    SDL_SetRenderIntegerScale;
-    SDL_GetRenderIntegerScale;
-    SDL_SetRenderViewport;
-    SDL_GetRenderViewport;
-    SDL_SetRenderClipRect;
-    SDL_GetRenderClipRect;
-    SDL_IsRenderClipEnabled;
-    SDL_SetRenderScale;
-    SDL_GetRenderScale;
-    SDL_RenderWindowToLogical;
-    SDL_RenderLogicalToWindow;
-    SDL_SetRenderDrawColor;
-    SDL_GetRenderDrawColor;
-    SDL_SetRenderDrawBlendMode;
-    SDL_GetRenderDrawBlendMode;
-    SDL_RenderClear;
-    SDL_RenderPoint;
-    SDL_RenderPoints;
-    SDL_RenderLine;
-    SDL_RenderLines;
-    SDL_RenderRect;
-    SDL_RenderRects;
-    SDL_RenderFillRect;
-    SDL_RenderFillRects;
-    SDL_RenderTexture;
-    SDL_RenderTextureRotated;
-    SDL_RenderPointF;
-    SDL_RenderPointsF;
-    SDL_RenderLineF;
-    SDL_RenderLinesF;
-    SDL_RenderRectF;
-    SDL_RenderRectsF;
-    SDL_RenderFillRectF;
-    SDL_RenderFillRectsF;
-    SDL_RenderTextureF;
-    SDL_RenderTextureRotatedF;
-    SDL_RenderGeometry;
-    SDL_RenderGeometryRaw;
-    SDL_RenderReadPixels;
-    SDL_RenderPresent;
-    SDL_DestroyTexture;
-    SDL_DestroyRenderer;
-    SDL_RenderFlush;
-    SDL_GL_BindTexture;
-    SDL_GL_UnbindTexture;
-    SDL_GetRenderMetalLayer;
-    SDL_GetRenderMetalCommandEncoder;
-    SDL_SetRenderVSync;
-    SDL_Init;
-    SDL_InitSubSystem;
-    SDL_QuitSubSystem;
-    SDL_WasInit;
-    SDL_Quit;
-    SDL_ShowMessageBox;
-    SDL_ShowSimpleMessageBox;
-    SDL_SetMainReady;
-    SDL_RegisterApp;
-    SDL_UnregisterApp;
-    SDL_GDKSuspendComplete;
-    SDL_GetBasePath;
-    SDL_GetPrefPath;
+    SDL_GetThreadName;
+    SDL_ThreadID;
+    SDL_GetThreadID;
+    SDL_SetThreadPriority;
+    SDL_WaitThread;
+    SDL_DetachThread;
+    SDL_TLSCreate;
+    SDL_TLSGet;
+    SDL_TLSSet;
+    SDL_TLSCleanup;
+    SDL_GetTicks;
+    SDL_GetTicksNS;
+    SDL_GetPerformanceCounter;
+    SDL_GetPerformanceFrequency;
+    SDL_Delay;
+    SDL_DelayNS;
+    SDL_AddTimer;
+    SDL_RemoveTimer;
+    SDL_GetNumTouchDevices;
+    SDL_GetTouchDevice;
+    SDL_GetTouchName;
+    SDL_GetTouchDeviceType;
+    SDL_GetNumTouchFingers;
+    SDL_GetTouchFinger;
+    SDL_GetVersion;
+    SDL_GetRevision;
     SDL_GetNumVideoDrivers;
     SDL_GetVideoDriver;
     SDL_GetCurrentVideoDriver;
@@ -616,249 +849,12 @@ SDL3_0.0.0 {
     SDL_GL_GetSwapInterval;
     SDL_GL_SwapWindow;
     SDL_GL_DeleteContext;
-    SDL_GetNumTouchDevices;
-    SDL_GetTouchDevice;
-    SDL_GetTouchName;
-    SDL_GetTouchDeviceType;
-    SDL_GetNumTouchFingers;
-    SDL_GetTouchFinger;
-    SDL_GetCPUCount;
-    SDL_GetCPUCacheLineSize;
-    SDL_HasRDTSC;
-    SDL_HasAltiVec;
-    SDL_HasMMX;
-    SDL_HasSSE;
-    SDL_HasSSE2;
-    SDL_HasSSE3;
-    SDL_HasSSE41;
-    SDL_HasSSE42;
-    SDL_HasAVX;
-    SDL_HasAVX2;
-    SDL_HasAVX512F;
-    SDL_HasARMSIMD;
-    SDL_HasNEON;
-    SDL_HasLSX;
-    SDL_HasLASX;
-    SDL_GetSystemRAM;
-    SDL_SIMDGetAlignment;
-    SDL_SIMDAlloc;
-    SDL_SIMDRealloc;
-    SDL_SIMDFree;
-    SDL_SetError;
-    SDL_GetError;
-    SDL_GetErrorMsg;
-    SDL_ClearError;
-    SDL_Error;
-    SDL_OpenSensor;
-    SDL_GetSensorFromInstanceID;
-    SDL_GetSensorName;
-    SDL_GetSensorType;
-    SDL_GetSensorNonPortableType;
-    SDL_GetSensorInstanceID;
-    SDL_GetSensorData;
-    SDL_CloseSensor;
-    SDL_UpdateSensors;
-    SDL_SetHintWithPriority;
-    SDL_SetHint;
-    SDL_ResetHint;
-    SDL_ResetHints;
-    SDL_GetHint;
-    SDL_GetHintBoolean;
-    SDL_AddHintCallback;
-    SDL_DelHintCallback;
-    SDL_ClearHints;
-    SDL_GetPlatform;
-    SDL_CreateMutex;
-    SDL_LockMutex;
-    SDL_TryLockMutex;
-    SDL_UnlockMutex;
-    SDL_DestroyMutex;
-    SDL_CreateSemaphore;
-    SDL_DestroySemaphore;
-    SDL_SemWait;
-    SDL_SemTryWait;
-    SDL_SemWaitTimeout;
-    SDL_SemPost;
-    SDL_SemValue;
-    SDL_CreateCond;
-    SDL_DestroyCond;
-    SDL_CondSignal;
-    SDL_CondBroadcast;
-    SDL_CondWait;
-    SDL_CondWaitTimeout;
-    SDL_ComposeCustomBlendMode;
-    SDL_LockJoysticks;
-    SDL_UnlockJoysticks;
-    SDL_OpenJoystick;
-    SDL_GetJoystickFromInstanceID;
-    SDL_GetJoystickFromPlayerIndex;
-    SDL_AttachVirtualJoystick;
-    SDL_AttachVirtualJoystickEx;
-    SDL_DetachVirtualJoystick;
-    SDL_IsJoystickVirtual;
-    SDL_SetJoystickVirtualAxis;
-    SDL_SetJoystickVirtualButton;
-    SDL_SetJoystickVirtualHat;
-    SDL_GetJoystickName;
-    SDL_GetJoystickPath;
-    SDL_GetJoystickPlayerIndex;
-    SDL_SetJoystickPlayerIndex;
-    SDL_GetJoystickGUID;
-    SDL_GetJoystickVendor;
-    SDL_GetJoystickProduct;
-    SDL_GetJoystickProductVersion;
-    SDL_GetJoystickFirmwareVersion;
-    SDL_GetJoystickSerial;
-    SDL_GetJoystickType;
-    SDL_GetJoystickGUIDString;
-    SDL_GetJoystickGUIDFromString;
-    SDL_GetJoystickGUIDInfo;
-    SDL_IsJoystickConnected;
-    SDL_GetJoystickInstanceID;
-    SDL_GetNumJoystickAxes;
-    SDL_GetNumJoystickHats;
-    SDL_GetNumJoystickButtons;
-    SDL_UpdateJoysticks;
-    SDL_GetJoystickEventState;
-    SDL_GetJoystickAxis;
-    SDL_GetJoystickAxisInitialState;
-    SDL_GetJoystickHat;
-    SDL_GetJoystickButton;
-    SDL_RumbleJoystick;
-    SDL_RumbleJoystickTriggers;
-    SDL_JoystickHasLED;
-    SDL_JoystickHasRumble;
-    SDL_JoystickHasRumbleTriggers;
-    SDL_SetJoystickLED;
-    SDL_SendJoystickEffect;
-    SDL_CloseJoystick;
-    SDL_GetJoystickPowerLevel;
-    SDL_Metal_CreateView;
-    SDL_Metal_DestroyView;
-    SDL_Metal_GetLayer;
-    SDL_Metal_GetDrawableSize;
-    SDL_AddGamepadMappingsFromRW;
-    SDL_AddGamepadMapping;
-    SDL_GetNumGamepadMappings;
-    SDL_GetGamepadMappingForIndex;
-    SDL_GetGamepadMappingForGUID;
-    SDL_GetGamepadMapping;
-    SDL_IsGamepad;
-    SDL_OpenGamepad;
-    SDL_GetGamepadFromInstanceID;
-    SDL_GetGamepadFromPlayerIndex;
-    SDL_GetGamepadName;
-    SDL_GetGamepadPath;
-    SDL_GetGamepadType;
-    SDL_GetGamepadPlayerIndex;
-    SDL_SetGamepadPlayerIndex;
-    SDL_GetGamepadVendor;
-    SDL_GetGamepadProduct;
-    SDL_GetGamepadProductVersion;
-    SDL_GetGamepadFirmwareVersion;
-    SDL_GetGamepadSerial;
-    SDL_IsGamepadConnected;
-    SDL_GetGamepadJoystick;
-    SDL_GetGamepadEventState;
-    SDL_UpdateGamepads;
-    SDL_GetGamepadAxisFromString;
-    SDL_GetGamepadStringForAxis;
-    SDL_GetGamepadBindForAxis;
-    SDL_GamepadHasAxis;
-    SDL_GetGamepadAxis;
-    SDL_GetGamepadButtonFromString;
-    SDL_GetGamepadStringForButton;
-    SDL_GetGamepadBindForButton;
-    SDL_GamepadHasButton;
-    SDL_GetGamepadButton;
-    SDL_GetGamepadNumTouchpads;
-    SDL_GetGamepadNumTouchpadFingers;
-    SDL_GetGamepadTouchpadFinger;
-    SDL_GamepadHasSensor;
-    SDL_SetGamepadSensorEnabled;
-    SDL_IsGamepadSensorEnabled;
-    SDL_GetGamepadSensorDataRate;
-    SDL_GetGamepadSensorData;
-    SDL_RumbleGamepad;
-    SDL_RumbleGamepadTriggers;
-    SDL_GamepadHasLED;
-    SDL_GamepadHasRumble;
-    SDL_GamepadHasRumbleTriggers;
-    SDL_SetGamepadLED;
-    SDL_SendGamepadEffect;
-    SDL_CloseGamepad;
-    SDL_GetGamepadAppleSFSymbolsNameForButton;
-    SDL_GetGamepadAppleSFSymbolsNameForAxis;
-    SDL_ReportAssertion;
-    SDL_SetAssertionHandler;
-    SDL_GetDefaultAssertionHandler;
-    SDL_GetAssertionHandler;
-    SDL_GetAssertionReport;
-    SDL_ResetAssertionReport;
-    SDL_NumHaptics;
-    SDL_HapticName;
-    SDL_HapticOpen;
-    SDL_HapticOpened;
-    SDL_HapticIndex;
-    SDL_MouseIsHaptic;
-    SDL_HapticOpenFromMouse;
-    SDL_JoystickIsHaptic;
-    SDL_HapticOpenFromJoystick;
-    SDL_HapticClose;
-    SDL_HapticNumEffects;
-    SDL_HapticNumEffectsPlaying;
-    SDL_HapticQuery;
-    SDL_HapticNumAxes;
-    SDL_HapticEffectSupported;
-    SDL_HapticNewEffect;
-    SDL_HapticUpdateEffect;
-    SDL_HapticRunEffect;
-    SDL_HapticStopEffect;
-    SDL_HapticDestroyEffect;
-    SDL_HapticGetEffectStatus;
-    SDL_HapticSetGain;
-    SDL_HapticSetAutocenter;
-    SDL_HapticPause;
-    SDL_HapticUnpause;
-    SDL_HapticStopAll;
-    SDL_HapticRumbleSupported;
-    SDL_HapticRumbleInit;
-    SDL_HapticRumblePlay;
-    SDL_HapticRumbleStop;
-    SDL_GetVersion;
-    SDL_GetRevision;
-    SDL_GetPowerInfo;
-    SDL_GetTicksNS;
-    SDL_DelayNS;
-    SDL_GetEventState;
-    SDL_GetRenderDriver;
-    SDL_RunApp;
-    SDL_GetSensors;
-    SDL_GetSensorInstanceName;
-    SDL_GetSensorInstanceType;
-    SDL_GetSensorInstanceNonPortableType;
-    SDL_GetJoysticks;
-    SDL_GetJoystickInstanceName;
-    SDL_GetJoystickInstancePath;
-    SDL_GetJoystickInstancePlayerIndex;
-    SDL_GetJoystickInstanceGUID;
-    SDL_GetJoystickInstanceVendor;
-    SDL_GetJoystickInstanceProduct;
-    SDL_GetJoystickInstanceProductVersion;
-    SDL_GetJoystickInstanceType;
-    SDL_GetGamepadInstanceName;
-    SDL_GetGamepadInstancePath;
-    SDL_GetGamepadInstanceType;
-    SDL_GetGamepadInstanceMapping;
-    SDL_HasJoysticks;
-    SDL_HasSensors;
-    SDL_HasGamepads;
-    SDL_GetGamepads;
-    SDL_GetGamepadInstancePlayerIndex;
-    SDL_GetGamepadInstanceGUID;
-    SDL_GetGamepadInstanceVendor;
-    SDL_GetGamepadInstanceProduct;
-    SDL_GetGamepadInstanceProductVersion;
+    SDL_Vulkan_LoadLibrary;
+    SDL_Vulkan_GetVkGetInstanceProcAddr;
+    SDL_Vulkan_UnloadLibrary;
+    SDL_Vulkan_GetInstanceExtensions;
+    SDL_Vulkan_CreateSurface;
+    SDL_Vulkan_GetDrawableSize;
     # extra symbols go here (don't modify this line)
   local: *;
 };

+ 363 - 363
src/dynapi/SDL_dynapi_overrides.h

@@ -26,41 +26,62 @@
 #error You should not be here.
 #endif
 
-#define SDL_SetError SDL_SetError_REAL
 #define SDL_Log SDL_Log_REAL
-#define SDL_LogVerbose SDL_LogVerbose_REAL
-#define SDL_LogDebug SDL_LogDebug_REAL
+#define SDL_LogCritical SDL_LogCritical_REAL
+#define SDL_LogDebug    SDL_LogDebug_REAL
+#define SDL_LogError    SDL_LogError_REAL
 #define SDL_LogInfo SDL_LogInfo_REAL
+#define SDL_LogMessage  SDL_LogMessage_REAL
+#define SDL_LogVerbose  SDL_LogVerbose_REAL
 #define SDL_LogWarn SDL_LogWarn_REAL
-#define SDL_LogError SDL_LogError_REAL
-#define SDL_LogCritical SDL_LogCritical_REAL
-#define SDL_LogMessage SDL_LogMessage_REAL
-#define SDL_sscanf SDL_sscanf_REAL
-#define SDL_snprintf SDL_snprintf_REAL
-#define SDL_CreateThread SDL_CreateThread_REAL
+#define SDL_SetError    SDL_SetError_REAL
+#define SDL_asprintf    SDL_asprintf_REAL
+#define SDL_snprintf    SDL_snprintf_REAL
+#define SDL_sscanf  SDL_sscanf_REAL
+#define SDL_CreateThread    SDL_CreateThread_REAL
+#define SDL_CreateThreadWithStackSize   SDL_CreateThreadWithStackSize_REAL
 #define SDL_RegisterApp SDL_RegisterApp_REAL
-#define SDL_UnregisterApp SDL_UnregisterApp_REAL
-#define SDL_Direct3D9GetAdapterIndex SDL_Direct3D9GetAdapterIndex_REAL
+#define SDL_RenderGetD3D12Device    SDL_RenderGetD3D12Device_REAL
+#define SDL_SetWindowsMessageHook   SDL_SetWindowsMessageHook_REAL
+#define SDL_UnregisterApp   SDL_UnregisterApp_REAL
+#define SDL_DXGIGetOutputInfo   SDL_DXGIGetOutputInfo_REAL
+#define SDL_Direct3D9GetAdapterIndex    SDL_Direct3D9GetAdapterIndex_REAL
+#define SDL_RenderGetD3D11Device    SDL_RenderGetD3D11Device_REAL
 #define SDL_RenderGetD3D9Device SDL_RenderGetD3D9Device_REAL
-#define SDL_iPhoneSetAnimationCallback SDL_iPhoneSetAnimationCallback_REAL
-#define SDL_iPhoneSetEventPump SDL_iPhoneSetEventPump_REAL
-#define SDL_AndroidGetJNIEnv SDL_AndroidGetJNIEnv_REAL
-#define SDL_AndroidGetActivity SDL_AndroidGetActivity_REAL
-#define SDL_AndroidGetInternalStoragePath SDL_AndroidGetInternalStoragePath_REAL
-#define SDL_AndroidGetExternalStorageState SDL_AndroidGetExternalStorageState_REAL
-#define SDL_AndroidGetExternalStoragePath SDL_AndroidGetExternalStoragePath_REAL
-#define SDL_Init SDL_Init_REAL
-#define SDL_InitSubSystem SDL_InitSubSystem_REAL
-#define SDL_QuitSubSystem SDL_QuitSubSystem_REAL
-#define SDL_WasInit SDL_WasInit_REAL
-#define SDL_Quit SDL_Quit_REAL
+#define SDL_GDKGetTaskQueue SDL_GDKGetTaskQueue_REAL
+#define SDL_GDKSuspendComplete  SDL_GDKSuspendComplete_REAL
+#define SDL_WinRTGetDeviceFamily    SDL_WinRTGetDeviceFamily_REAL
+#define SDL_WinRTGetFSPathUNICODE   SDL_WinRTGetFSPathUNICODE_REAL
+#define SDL_WinRTGetFSPathUTF8  SDL_WinRTGetFSPathUTF8_REAL
+#define SDL_LinuxSetThreadPriority  SDL_LinuxSetThreadPriority_REAL
+#define SDL_LinuxSetThreadPriorityAndPolicy SDL_LinuxSetThreadPriorityAndPolicy_REAL
+#define SDL_OnApplicationDidChangeStatusBarOrientation  SDL_OnApplicationDidChangeStatusBarOrientation_REAL
+#define SDL_iPhoneSetAnimationCallback  SDL_iPhoneSetAnimationCallback_REAL
+#define SDL_iPhoneSetEventPump  SDL_iPhoneSetEventPump_REAL
+#define SDL_AndroidBackButton   SDL_AndroidBackButton_REAL
+#define SDL_AndroidGetActivity  SDL_AndroidGetActivity_REAL
+#define SDL_AndroidGetExternalStoragePath   SDL_AndroidGetExternalStoragePath_REAL
+#define SDL_AndroidGetExternalStorageState  SDL_AndroidGetExternalStorageState_REAL
+#define SDL_AndroidGetInternalStoragePath   SDL_AndroidGetInternalStoragePath_REAL
+#define SDL_AndroidGetJNIEnv    SDL_AndroidGetJNIEnv_REAL
+#define SDL_AndroidRequestPermission    SDL_AndroidRequestPermission_REAL
+#define SDL_AndroidSendMessage  SDL_AndroidSendMessage_REAL
+#define SDL_AndroidShowToast    SDL_AndroidShowToast_REAL
+#define SDL_GetAndroidSDKVersion    SDL_GetAndroidSDKVersion_REAL
+#define SDL_IsAndroidTV SDL_IsAndroidTV_REAL
+#define SDL_IsChromebook    SDL_IsChromebook_REAL
+#define SDL_IsDeXMode   SDL_IsDeXMode_REAL
 #define SDL_ReportAssertion SDL_ReportAssertion_REAL
 #define SDL_SetAssertionHandler SDL_SetAssertionHandler_REAL
+#define SDL_GetDefaultAssertionHandler SDL_GetDefaultAssertionHandler_REAL
+#define SDL_GetAssertionHandler SDL_GetAssertionHandler_REAL
 #define SDL_GetAssertionReport SDL_GetAssertionReport_REAL
 #define SDL_ResetAssertionReport SDL_ResetAssertionReport_REAL
 #define SDL_AtomicTryLock SDL_AtomicTryLock_REAL
 #define SDL_AtomicLock SDL_AtomicLock_REAL
 #define SDL_AtomicUnlock SDL_AtomicUnlock_REAL
+#define SDL_MemoryBarrierReleaseFunction SDL_MemoryBarrierReleaseFunction_REAL
+#define SDL_MemoryBarrierAcquireFunction SDL_MemoryBarrierAcquireFunction_REAL
 #define SDL_AtomicCAS SDL_AtomicCAS_REAL
 #define SDL_AtomicSet SDL_AtomicSet_REAL
 #define SDL_AtomicGet SDL_AtomicGet_REAL
@@ -74,6 +95,8 @@
 #define SDL_OpenAudio SDL_OpenAudio_REAL
 #define SDL_GetNumAudioDevices SDL_GetNumAudioDevices_REAL
 #define SDL_GetAudioDeviceName SDL_GetAudioDeviceName_REAL
+#define SDL_GetAudioDeviceSpec SDL_GetAudioDeviceSpec_REAL
+#define SDL_GetDefaultAudioInfo SDL_GetDefaultAudioInfo_REAL
 #define SDL_OpenAudioDevice SDL_OpenAudioDevice_REAL
 #define SDL_GetAudioStatus SDL_GetAudioStatus_REAL
 #define SDL_GetAudioDeviceStatus SDL_GetAudioDeviceStatus_REAL
@@ -82,17 +105,32 @@
 #define SDL_LoadWAV_RW SDL_LoadWAV_RW_REAL
 #define SDL_BuildAudioCVT SDL_BuildAudioCVT_REAL
 #define SDL_ConvertAudio SDL_ConvertAudio_REAL
+#define SDL_CreateAudioStream SDL_CreateAudioStream_REAL
+#define SDL_PutAudioStreamData SDL_PutAudioStreamData_REAL
+#define SDL_GetAudioStreamData SDL_GetAudioStreamData_REAL
+#define SDL_GetAudioStreamAvailable SDL_GetAudioStreamAvailable_REAL
+#define SDL_FlushAudioStream SDL_FlushAudioStream_REAL
+#define SDL_ClearAudioStream SDL_ClearAudioStream_REAL
+#define SDL_DestroyAudioStream SDL_DestroyAudioStream_REAL
 #define SDL_MixAudio SDL_MixAudio_REAL
 #define SDL_MixAudioFormat SDL_MixAudioFormat_REAL
+#define SDL_QueueAudio SDL_QueueAudio_REAL
+#define SDL_DequeueAudio SDL_DequeueAudio_REAL
+#define SDL_GetQueuedAudioSize SDL_GetQueuedAudioSize_REAL
+#define SDL_ClearQueuedAudio SDL_ClearQueuedAudio_REAL
 #define SDL_LockAudio SDL_LockAudio_REAL
 #define SDL_LockAudioDevice SDL_LockAudioDevice_REAL
 #define SDL_UnlockAudio SDL_UnlockAudio_REAL
 #define SDL_UnlockAudioDevice SDL_UnlockAudioDevice_REAL
 #define SDL_CloseAudio SDL_CloseAudio_REAL
 #define SDL_CloseAudioDevice SDL_CloseAudioDevice_REAL
+#define SDL_ComposeCustomBlendMode SDL_ComposeCustomBlendMode_REAL
 #define SDL_SetClipboardText SDL_SetClipboardText_REAL
 #define SDL_GetClipboardText SDL_GetClipboardText_REAL
 #define SDL_HasClipboardText SDL_HasClipboardText_REAL
+#define SDL_SetPrimarySelectionText SDL_SetPrimarySelectionText_REAL
+#define SDL_GetPrimarySelectionText SDL_GetPrimarySelectionText_REAL
+#define SDL_HasPrimarySelectionText SDL_HasPrimarySelectionText_REAL
 #define SDL_GetCPUCount SDL_GetCPUCount_REAL
 #define SDL_GetCPUCacheLineSize SDL_GetCPUCacheLineSize_REAL
 #define SDL_HasRDTSC SDL_HasRDTSC_REAL
@@ -103,8 +141,20 @@
 #define SDL_HasSSE3 SDL_HasSSE3_REAL
 #define SDL_HasSSE41 SDL_HasSSE41_REAL
 #define SDL_HasSSE42 SDL_HasSSE42_REAL
+#define SDL_HasAVX SDL_HasAVX_REAL
+#define SDL_HasAVX2 SDL_HasAVX2_REAL
+#define SDL_HasAVX512F SDL_HasAVX512F_REAL
+#define SDL_HasARMSIMD SDL_HasARMSIMD_REAL
+#define SDL_HasNEON SDL_HasNEON_REAL
+#define SDL_HasLSX SDL_HasLSX_REAL
+#define SDL_HasLASX SDL_HasLASX_REAL
 #define SDL_GetSystemRAM SDL_GetSystemRAM_REAL
+#define SDL_SIMDGetAlignment SDL_SIMDGetAlignment_REAL
+#define SDL_SIMDAlloc SDL_SIMDAlloc_REAL
+#define SDL_SIMDRealloc SDL_SIMDRealloc_REAL
+#define SDL_SIMDFree SDL_SIMDFree_REAL
 #define SDL_GetError SDL_GetError_REAL
+#define SDL_GetErrorMsg SDL_GetErrorMsg_REAL
 #define SDL_ClearError SDL_ClearError_REAL
 #define SDL_Error SDL_Error_REAL
 #define SDL_PumpEvents SDL_PumpEvents_REAL
@@ -123,15 +173,41 @@
 #define SDL_DelEventWatch SDL_DelEventWatch_REAL
 #define SDL_FilterEvents SDL_FilterEvents_REAL
 #define SDL_EventState SDL_EventState_REAL
+#define SDL_GetEventState SDL_GetEventState_REAL
 #define SDL_RegisterEvents SDL_RegisterEvents_REAL
 #define SDL_GetBasePath SDL_GetBasePath_REAL
 #define SDL_GetPrefPath SDL_GetPrefPath_REAL
 #define SDL_AddGamepadMapping SDL_AddGamepadMapping_REAL
+#define SDL_AddGamepadMappingsFromRW SDL_AddGamepadMappingsFromRW_REAL
+#define SDL_GetNumGamepadMappings SDL_GetNumGamepadMappings_REAL
+#define SDL_GetGamepadMappingForIndex SDL_GetGamepadMappingForIndex_REAL
 #define SDL_GetGamepadMappingForGUID SDL_GetGamepadMappingForGUID_REAL
 #define SDL_GetGamepadMapping SDL_GetGamepadMapping_REAL
+#define SDL_HasGamepads SDL_HasGamepads_REAL
+#define SDL_GetGamepads SDL_GetGamepads_REAL
 #define SDL_IsGamepad SDL_IsGamepad_REAL
+#define SDL_GetGamepadInstanceName SDL_GetGamepadInstanceName_REAL
+#define SDL_GetGamepadInstancePath SDL_GetGamepadInstancePath_REAL
+#define SDL_GetGamepadInstancePlayerIndex SDL_GetGamepadInstancePlayerIndex_REAL
+#define SDL_GetGamepadInstanceGUID SDL_GetGamepadInstanceGUID_REAL
+#define SDL_GetGamepadInstanceVendor SDL_GetGamepadInstanceVendor_REAL
+#define SDL_GetGamepadInstanceProduct SDL_GetGamepadInstanceProduct_REAL
+#define SDL_GetGamepadInstanceProductVersion SDL_GetGamepadInstanceProductVersion_REAL
+#define SDL_GetGamepadInstanceType SDL_GetGamepadInstanceType_REAL
+#define SDL_GetGamepadInstanceMapping SDL_GetGamepadInstanceMapping_REAL
 #define SDL_OpenGamepad SDL_OpenGamepad_REAL
+#define SDL_GetGamepadFromInstanceID SDL_GetGamepadFromInstanceID_REAL
+#define SDL_GetGamepadFromPlayerIndex SDL_GetGamepadFromPlayerIndex_REAL
 #define SDL_GetGamepadName SDL_GetGamepadName_REAL
+#define SDL_GetGamepadPath SDL_GetGamepadPath_REAL
+#define SDL_GetGamepadType SDL_GetGamepadType_REAL
+#define SDL_GetGamepadPlayerIndex SDL_GetGamepadPlayerIndex_REAL
+#define SDL_SetGamepadPlayerIndex SDL_SetGamepadPlayerIndex_REAL
+#define SDL_GetGamepadVendor SDL_GetGamepadVendor_REAL
+#define SDL_GetGamepadProduct SDL_GetGamepadProduct_REAL
+#define SDL_GetGamepadProductVersion SDL_GetGamepadProductVersion_REAL
+#define SDL_GetGamepadFirmwareVersion SDL_GetGamepadFirmwareVersion_REAL
+#define SDL_GetGamepadSerial SDL_GetGamepadSerial_REAL
 #define SDL_IsGamepadConnected SDL_IsGamepadConnected_REAL
 #define SDL_GetGamepadJoystick SDL_GetGamepadJoystick_REAL
 #define SDL_GetGamepadEventState SDL_GetGamepadEventState_REAL
@@ -139,12 +215,33 @@
 #define SDL_GetGamepadAxisFromString SDL_GetGamepadAxisFromString_REAL
 #define SDL_GetGamepadStringForAxis SDL_GetGamepadStringForAxis_REAL
 #define SDL_GetGamepadBindForAxis SDL_GetGamepadBindForAxis_REAL
+#define SDL_GamepadHasAxis SDL_GamepadHasAxis_REAL
 #define SDL_GetGamepadAxis SDL_GetGamepadAxis_REAL
 #define SDL_GetGamepadButtonFromString SDL_GetGamepadButtonFromString_REAL
 #define SDL_GetGamepadStringForButton SDL_GetGamepadStringForButton_REAL
 #define SDL_GetGamepadBindForButton SDL_GetGamepadBindForButton_REAL
+#define SDL_GamepadHasButton SDL_GamepadHasButton_REAL
 #define SDL_GetGamepadButton SDL_GetGamepadButton_REAL
+#define SDL_GetGamepadNumTouchpads SDL_GetGamepadNumTouchpads_REAL
+#define SDL_GetGamepadNumTouchpadFingers SDL_GetGamepadNumTouchpadFingers_REAL
+#define SDL_GetGamepadTouchpadFinger SDL_GetGamepadTouchpadFinger_REAL
+#define SDL_GamepadHasSensor SDL_GamepadHasSensor_REAL
+#define SDL_SetGamepadSensorEnabled SDL_SetGamepadSensorEnabled_REAL
+#define SDL_IsGamepadSensorEnabled SDL_IsGamepadSensorEnabled_REAL
+#define SDL_GetGamepadSensorDataRate SDL_GetGamepadSensorDataRate_REAL
+#define SDL_GetGamepadSensorData SDL_GetGamepadSensorData_REAL
+#define SDL_RumbleGamepad SDL_RumbleGamepad_REAL
+#define SDL_RumbleGamepadTriggers SDL_RumbleGamepadTriggers_REAL
+#define SDL_GamepadHasLED SDL_GamepadHasLED_REAL
+#define SDL_GamepadHasRumble SDL_GamepadHasRumble_REAL
+#define SDL_GamepadHasRumbleTriggers SDL_GamepadHasRumbleTriggers_REAL
+#define SDL_SetGamepadLED SDL_SetGamepadLED_REAL
+#define SDL_SendGamepadEffect SDL_SendGamepadEffect_REAL
 #define SDL_CloseGamepad SDL_CloseGamepad_REAL
+#define SDL_GetGamepadAppleSFSymbolsNameForButton SDL_GetGamepadAppleSFSymbolsNameForButton_REAL
+#define SDL_GetGamepadAppleSFSymbolsNameForAxis SDL_GetGamepadAppleSFSymbolsNameForAxis_REAL
+#define SDL_GUIDToString SDL_GUIDToString_REAL
+#define SDL_GUIDFromString SDL_GUIDFromString_REAL
 #define SDL_NumHaptics SDL_NumHaptics_REAL
 #define SDL_HapticName SDL_HapticName_REAL
 #define SDL_HapticOpen SDL_HapticOpen_REAL
@@ -175,17 +272,75 @@
 #define SDL_HapticRumbleInit SDL_HapticRumbleInit_REAL
 #define SDL_HapticRumblePlay SDL_HapticRumblePlay_REAL
 #define SDL_HapticRumbleStop SDL_HapticRumbleStop_REAL
+#define SDL_hid_init SDL_hid_init_REAL
+#define SDL_hid_exit SDL_hid_exit_REAL
+#define SDL_hid_device_change_count SDL_hid_device_change_count_REAL
+#define SDL_hid_enumerate SDL_hid_enumerate_REAL
+#define SDL_hid_free_enumeration SDL_hid_free_enumeration_REAL
+#define SDL_hid_open SDL_hid_open_REAL
+#define SDL_hid_open_path SDL_hid_open_path_REAL
+#define SDL_hid_write SDL_hid_write_REAL
+#define SDL_hid_read_timeout SDL_hid_read_timeout_REAL
+#define SDL_hid_read SDL_hid_read_REAL
+#define SDL_hid_set_nonblocking SDL_hid_set_nonblocking_REAL
+#define SDL_hid_send_feature_report SDL_hid_send_feature_report_REAL
+#define SDL_hid_get_feature_report SDL_hid_get_feature_report_REAL
+#define SDL_hid_close SDL_hid_close_REAL
+#define SDL_hid_get_manufacturer_string SDL_hid_get_manufacturer_string_REAL
+#define SDL_hid_get_product_string SDL_hid_get_product_string_REAL
+#define SDL_hid_get_serial_number_string SDL_hid_get_serial_number_string_REAL
+#define SDL_hid_get_indexed_string SDL_hid_get_indexed_string_REAL
+#define SDL_hid_ble_scan SDL_hid_ble_scan_REAL
 #define SDL_SetHintWithPriority SDL_SetHintWithPriority_REAL
 #define SDL_SetHint SDL_SetHint_REAL
+#define SDL_ResetHint SDL_ResetHint_REAL
+#define SDL_ResetHints SDL_ResetHints_REAL
 #define SDL_GetHint SDL_GetHint_REAL
+#define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
 #define SDL_AddHintCallback SDL_AddHintCallback_REAL
 #define SDL_DelHintCallback SDL_DelHintCallback_REAL
 #define SDL_ClearHints SDL_ClearHints_REAL
+#define SDL_Init SDL_Init_REAL
+#define SDL_InitSubSystem SDL_InitSubSystem_REAL
+#define SDL_QuitSubSystem SDL_QuitSubSystem_REAL
+#define SDL_WasInit SDL_WasInit_REAL
+#define SDL_Quit SDL_Quit_REAL
+#define SDL_LockJoysticks SDL_LockJoysticks_REAL
+#define SDL_UnlockJoysticks SDL_UnlockJoysticks_REAL
+#define SDL_HasJoysticks SDL_HasJoysticks_REAL
+#define SDL_GetJoysticks SDL_GetJoysticks_REAL
+#define SDL_GetJoystickInstanceName SDL_GetJoystickInstanceName_REAL
+#define SDL_GetJoystickInstancePath SDL_GetJoystickInstancePath_REAL
+#define SDL_GetJoystickInstancePlayerIndex SDL_GetJoystickInstancePlayerIndex_REAL
+#define SDL_GetJoystickInstanceGUID SDL_GetJoystickInstanceGUID_REAL
+#define SDL_GetJoystickInstanceVendor SDL_GetJoystickInstanceVendor_REAL
+#define SDL_GetJoystickInstanceProduct SDL_GetJoystickInstanceProduct_REAL
+#define SDL_GetJoystickInstanceProductVersion SDL_GetJoystickInstanceProductVersion_REAL
+#define SDL_GetJoystickInstanceType SDL_GetJoystickInstanceType_REAL
 #define SDL_OpenJoystick SDL_OpenJoystick_REAL
+#define SDL_GetJoystickFromInstanceID SDL_GetJoystickFromInstanceID_REAL
+#define SDL_GetJoystickFromPlayerIndex SDL_GetJoystickFromPlayerIndex_REAL
+#define SDL_AttachVirtualJoystick SDL_AttachVirtualJoystick_REAL
+#define SDL_AttachVirtualJoystickEx SDL_AttachVirtualJoystickEx_REAL
+#define SDL_DetachVirtualJoystick SDL_DetachVirtualJoystick_REAL
+#define SDL_IsJoystickVirtual SDL_IsJoystickVirtual_REAL
+#define SDL_SetJoystickVirtualAxis SDL_SetJoystickVirtualAxis_REAL
+#define SDL_SetJoystickVirtualButton SDL_SetJoystickVirtualButton_REAL
+#define SDL_SetJoystickVirtualHat SDL_SetJoystickVirtualHat_REAL
 #define SDL_GetJoystickName SDL_GetJoystickName_REAL
+#define SDL_GetJoystickPath SDL_GetJoystickPath_REAL
+#define SDL_GetJoystickPlayerIndex SDL_GetJoystickPlayerIndex_REAL
+#define SDL_SetJoystickPlayerIndex SDL_SetJoystickPlayerIndex_REAL
 #define SDL_GetJoystickGUID SDL_GetJoystickGUID_REAL
+#define SDL_GetJoystickVendor SDL_GetJoystickVendor_REAL
+#define SDL_GetJoystickProduct SDL_GetJoystickProduct_REAL
+#define SDL_GetJoystickProductVersion SDL_GetJoystickProductVersion_REAL
+#define SDL_GetJoystickFirmwareVersion SDL_GetJoystickFirmwareVersion_REAL
+#define SDL_GetJoystickSerial SDL_GetJoystickSerial_REAL
+#define SDL_GetJoystickType SDL_GetJoystickType_REAL
 #define SDL_GetJoystickGUIDString SDL_GetJoystickGUIDString_REAL
 #define SDL_GetJoystickGUIDFromString SDL_GetJoystickGUIDFromString_REAL
+#define SDL_GetJoystickGUIDInfo SDL_GetJoystickGUIDInfo_REAL
 #define SDL_IsJoystickConnected SDL_IsJoystickConnected_REAL
 #define SDL_GetJoystickInstanceID SDL_GetJoystickInstanceID_REAL
 #define SDL_GetNumJoystickAxes SDL_GetNumJoystickAxes_REAL
@@ -194,11 +349,21 @@
 #define SDL_UpdateJoysticks SDL_UpdateJoysticks_REAL
 #define SDL_GetJoystickEventState SDL_GetJoystickEventState_REAL
 #define SDL_GetJoystickAxis SDL_GetJoystickAxis_REAL
+#define SDL_GetJoystickAxisInitialState SDL_GetJoystickAxisInitialState_REAL
 #define SDL_GetJoystickHat SDL_GetJoystickHat_REAL
 #define SDL_GetJoystickButton SDL_GetJoystickButton_REAL
+#define SDL_RumbleJoystick SDL_RumbleJoystick_REAL
+#define SDL_RumbleJoystickTriggers SDL_RumbleJoystickTriggers_REAL
+#define SDL_JoystickHasLED SDL_JoystickHasLED_REAL
+#define SDL_JoystickHasRumble SDL_JoystickHasRumble_REAL
+#define SDL_JoystickHasRumbleTriggers SDL_JoystickHasRumbleTriggers_REAL
+#define SDL_SetJoystickLED SDL_SetJoystickLED_REAL
+#define SDL_SendJoystickEffect SDL_SendJoystickEffect_REAL
 #define SDL_CloseJoystick SDL_CloseJoystick_REAL
+#define SDL_GetJoystickPowerLevel SDL_GetJoystickPowerLevel_REAL
 #define SDL_GetKeyboardFocus SDL_GetKeyboardFocus_REAL
 #define SDL_GetKeyboardState SDL_GetKeyboardState_REAL
+#define SDL_ResetKeyboard SDL_ResetKeyboard_REAL
 #define SDL_GetModState SDL_GetModState_REAL
 #define SDL_SetModState SDL_SetModState_REAL
 #define SDL_GetKeyFromScancode SDL_GetKeyFromScancode_REAL
@@ -210,12 +375,15 @@
 #define SDL_StartTextInput SDL_StartTextInput_REAL
 #define SDL_IsTextInputActive SDL_IsTextInputActive_REAL
 #define SDL_StopTextInput SDL_StopTextInput_REAL
+#define SDL_ClearComposition SDL_ClearComposition_REAL
+#define SDL_IsTextInputShown SDL_IsTextInputShown_REAL
 #define SDL_SetTextInputRect SDL_SetTextInputRect_REAL
 #define SDL_HasScreenKeyboardSupport SDL_HasScreenKeyboardSupport_REAL
 #define SDL_IsScreenKeyboardShown SDL_IsScreenKeyboardShown_REAL
 #define SDL_LoadObject SDL_LoadObject_REAL
 #define SDL_LoadFunction SDL_LoadFunction_REAL
 #define SDL_UnloadObject SDL_UnloadObject_REAL
+#define SDL_GetPreferredLocales SDL_GetPreferredLocales_REAL
 #define SDL_LogSetAllPriority SDL_LogSetAllPriority_REAL
 #define SDL_LogSetPriority SDL_LogSetPriority_REAL
 #define SDL_LogGetPriority SDL_LogGetPriority_REAL
@@ -224,13 +392,22 @@
 #define SDL_LogGetOutputFunction SDL_LogGetOutputFunction_REAL
 #define SDL_LogSetOutputFunction SDL_LogSetOutputFunction_REAL
 #define SDL_SetMainReady SDL_SetMainReady_REAL
+#define SDL_RunApp SDL_RunApp_REAL
 #define SDL_ShowMessageBox SDL_ShowMessageBox_REAL
 #define SDL_ShowSimpleMessageBox SDL_ShowSimpleMessageBox_REAL
+#define SDL_Metal_CreateView SDL_Metal_CreateView_REAL
+#define SDL_Metal_DestroyView SDL_Metal_DestroyView_REAL
+#define SDL_Metal_GetLayer SDL_Metal_GetLayer_REAL
+#define SDL_Metal_GetDrawableSize SDL_Metal_GetDrawableSize_REAL
+#define SDL_OpenURL SDL_OpenURL_REAL
 #define SDL_GetMouseFocus SDL_GetMouseFocus_REAL
 #define SDL_GetMouseState SDL_GetMouseState_REAL
+#define SDL_GetGlobalMouseState SDL_GetGlobalMouseState_REAL
 #define SDL_GetRelativeMouseState SDL_GetRelativeMouseState_REAL
 #define SDL_WarpMouseInWindow SDL_WarpMouseInWindow_REAL
+#define SDL_WarpMouseGlobal SDL_WarpMouseGlobal_REAL
 #define SDL_SetRelativeMouseMode SDL_SetRelativeMouseMode_REAL
+#define SDL_CaptureMouse SDL_CaptureMouse_REAL
 #define SDL_GetRelativeMouseMode SDL_GetRelativeMouseMode_REAL
 #define SDL_CreateCursor SDL_CreateCursor_REAL
 #define SDL_CreateColorCursor SDL_CreateColorCursor_REAL
@@ -278,11 +455,18 @@
 #define SDL_GetRectUnion SDL_GetRectUnion_REAL
 #define SDL_GetRectEnclosingPoints SDL_GetRectEnclosingPoints_REAL
 #define SDL_GetRectAndLineIntersection SDL_GetRectAndLineIntersection_REAL
+#define SDL_HasRectIntersectionF SDL_HasRectIntersectionF_REAL
+#define SDL_GetRectIntersectionF SDL_GetRectIntersectionF_REAL
+#define SDL_GetRectUnionF SDL_GetRectUnionF_REAL
+#define SDL_GetRectEnclosingPointsF SDL_GetRectEnclosingPointsF_REAL
+#define SDL_GetRectAndLineIntersectionF SDL_GetRectAndLineIntersectionF_REAL
 #define SDL_GetNumRenderDrivers SDL_GetNumRenderDrivers_REAL
+#define SDL_GetRenderDriver SDL_GetRenderDriver_REAL
 #define SDL_CreateWindowAndRenderer SDL_CreateWindowAndRenderer_REAL
 #define SDL_CreateRenderer SDL_CreateRenderer_REAL
 #define SDL_CreateSoftwareRenderer SDL_CreateSoftwareRenderer_REAL
 #define SDL_GetRenderer SDL_GetRenderer_REAL
+#define SDL_GetRenderWindow SDL_GetRenderWindow_REAL
 #define SDL_GetRendererInfo SDL_GetRendererInfo_REAL
 #define SDL_GetRendererOutputSize SDL_GetRendererOutputSize_REAL
 #define SDL_CreateTexture SDL_CreateTexture_REAL
@@ -294,21 +478,32 @@
 #define SDL_GetTextureAlphaMod SDL_GetTextureAlphaMod_REAL
 #define SDL_SetTextureBlendMode SDL_SetTextureBlendMode_REAL
 #define SDL_GetTextureBlendMode SDL_GetTextureBlendMode_REAL
+#define SDL_SetTextureScaleMode SDL_SetTextureScaleMode_REAL
+#define SDL_GetTextureScaleMode SDL_GetTextureScaleMode_REAL
+#define SDL_SetTextureUserData SDL_SetTextureUserData_REAL
+#define SDL_GetTextureUserData SDL_GetTextureUserData_REAL
 #define SDL_UpdateTexture SDL_UpdateTexture_REAL
 #define SDL_UpdateYUVTexture SDL_UpdateYUVTexture_REAL
+#define SDL_UpdateNVTexture SDL_UpdateNVTexture_REAL
 #define SDL_LockTexture SDL_LockTexture_REAL
+#define SDL_LockTextureToSurface SDL_LockTextureToSurface_REAL
 #define SDL_UnlockTexture SDL_UnlockTexture_REAL
 #define SDL_IsRenderTargetSupported SDL_IsRenderTargetSupported_REAL
 #define SDL_SetRenderTarget SDL_SetRenderTarget_REAL
 #define SDL_GetRenderTarget SDL_GetRenderTarget_REAL
 #define SDL_SetRenderLogicalSize SDL_SetRenderLogicalSize_REAL
 #define SDL_GetRenderLogicalSize SDL_GetRenderLogicalSize_REAL
+#define SDL_SetRenderIntegerScale SDL_SetRenderIntegerScale_REAL
+#define SDL_GetRenderIntegerScale SDL_GetRenderIntegerScale_REAL
 #define SDL_SetRenderViewport SDL_SetRenderViewport_REAL
 #define SDL_GetRenderViewport SDL_GetRenderViewport_REAL
 #define SDL_SetRenderClipRect SDL_SetRenderClipRect_REAL
 #define SDL_GetRenderClipRect SDL_GetRenderClipRect_REAL
+#define SDL_IsRenderClipEnabled SDL_IsRenderClipEnabled_REAL
 #define SDL_SetRenderScale SDL_SetRenderScale_REAL
 #define SDL_GetRenderScale SDL_GetRenderScale_REAL
+#define SDL_RenderWindowToLogical SDL_RenderWindowToLogical_REAL
+#define SDL_RenderLogicalToWindow SDL_RenderLogicalToWindow_REAL
 #define SDL_SetRenderDrawColor SDL_SetRenderDrawColor_REAL
 #define SDL_GetRenderDrawColor SDL_GetRenderDrawColor_REAL
 #define SDL_SetRenderDrawBlendMode SDL_SetRenderDrawBlendMode_REAL
@@ -324,17 +519,41 @@
 #define SDL_RenderFillRects SDL_RenderFillRects_REAL
 #define SDL_RenderTexture SDL_RenderTexture_REAL
 #define SDL_RenderTextureRotated SDL_RenderTextureRotated_REAL
+#define SDL_RenderPointF SDL_RenderPointF_REAL
+#define SDL_RenderPointsF SDL_RenderPointsF_REAL
+#define SDL_RenderLineF SDL_RenderLineF_REAL
+#define SDL_RenderLinesF SDL_RenderLinesF_REAL
+#define SDL_RenderRectF SDL_RenderRectF_REAL
+#define SDL_RenderRectsF SDL_RenderRectsF_REAL
+#define SDL_RenderFillRectF SDL_RenderFillRectF_REAL
+#define SDL_RenderFillRectsF SDL_RenderFillRectsF_REAL
+#define SDL_RenderTextureF SDL_RenderTextureF_REAL
+#define SDL_RenderTextureRotatedF SDL_RenderTextureRotatedF_REAL
+#define SDL_RenderGeometry SDL_RenderGeometry_REAL
+#define SDL_RenderGeometryRaw SDL_RenderGeometryRaw_REAL
 #define SDL_RenderReadPixels SDL_RenderReadPixels_REAL
 #define SDL_RenderPresent SDL_RenderPresent_REAL
 #define SDL_DestroyTexture SDL_DestroyTexture_REAL
 #define SDL_DestroyRenderer SDL_DestroyRenderer_REAL
+#define SDL_RenderFlush SDL_RenderFlush_REAL
 #define SDL_GL_BindTexture SDL_GL_BindTexture_REAL
 #define SDL_GL_UnbindTexture SDL_GL_UnbindTexture_REAL
+#define SDL_GetRenderMetalLayer SDL_GetRenderMetalLayer_REAL
+#define SDL_GetRenderMetalCommandEncoder SDL_GetRenderMetalCommandEncoder_REAL
+#define SDL_SetRenderVSync SDL_SetRenderVSync_REAL
 #define SDL_RWFromFile SDL_RWFromFile_REAL
 #define SDL_RWFromMem SDL_RWFromMem_REAL
 #define SDL_RWFromConstMem SDL_RWFromConstMem_REAL
 #define SDL_AllocRW SDL_AllocRW_REAL
 #define SDL_FreeRW SDL_FreeRW_REAL
+#define SDL_RWsize SDL_RWsize_REAL
+#define SDL_RWseek SDL_RWseek_REAL
+#define SDL_RWtell SDL_RWtell_REAL
+#define SDL_RWread SDL_RWread_REAL
+#define SDL_RWwrite SDL_RWwrite_REAL
+#define SDL_RWclose SDL_RWclose_REAL
+#define SDL_LoadFile_RW SDL_LoadFile_RW_REAL
+#define SDL_LoadFile SDL_LoadFile_REAL
 #define SDL_ReadU8 SDL_ReadU8_REAL
 #define SDL_ReadLE16 SDL_ReadLE16_REAL
 #define SDL_ReadBE16 SDL_ReadBE16_REAL
@@ -349,6 +568,20 @@
 #define SDL_WriteBE32 SDL_WriteBE32_REAL
 #define SDL_WriteLE64 SDL_WriteLE64_REAL
 #define SDL_WriteBE64 SDL_WriteBE64_REAL
+#define SDL_HasSensors SDL_HasSensors_REAL
+#define SDL_GetSensors SDL_GetSensors_REAL
+#define SDL_GetSensorInstanceName SDL_GetSensorInstanceName_REAL
+#define SDL_GetSensorInstanceType SDL_GetSensorInstanceType_REAL
+#define SDL_GetSensorInstanceNonPortableType SDL_GetSensorInstanceNonPortableType_REAL
+#define SDL_OpenSensor SDL_OpenSensor_REAL
+#define SDL_GetSensorFromInstanceID SDL_GetSensorFromInstanceID_REAL
+#define SDL_GetSensorName SDL_GetSensorName_REAL
+#define SDL_GetSensorType SDL_GetSensorType_REAL
+#define SDL_GetSensorNonPortableType SDL_GetSensorNonPortableType_REAL
+#define SDL_GetSensorInstanceID SDL_GetSensorInstanceID_REAL
+#define SDL_GetSensorData SDL_GetSensorData_REAL
+#define SDL_CloseSensor SDL_CloseSensor_REAL
+#define SDL_UpdateSensors SDL_UpdateSensors_REAL
 #define SDL_CreateShapedWindow SDL_CreateShapedWindow_REAL
 #define SDL_IsShapedWindow SDL_IsShapedWindow_REAL
 #define SDL_SetWindowShape SDL_SetWindowShape_REAL
@@ -357,21 +590,45 @@
 #define SDL_calloc SDL_calloc_REAL
 #define SDL_realloc SDL_realloc_REAL
 #define SDL_free SDL_free_REAL
+#define SDL_GetOriginalMemoryFunctions SDL_GetOriginalMemoryFunctions_REAL
+#define SDL_GetMemoryFunctions SDL_GetMemoryFunctions_REAL
+#define SDL_SetMemoryFunctions SDL_SetMemoryFunctions_REAL
+#define SDL_GetNumAllocations SDL_GetNumAllocations_REAL
 #define SDL_getenv SDL_getenv_REAL
 #define SDL_setenv SDL_setenv_REAL
 #define SDL_qsort SDL_qsort_REAL
+#define SDL_bsearch SDL_bsearch_REAL
 #define SDL_abs SDL_abs_REAL
+#define SDL_isalpha SDL_isalpha_REAL
+#define SDL_isalnum SDL_isalnum_REAL
+#define SDL_isblank SDL_isblank_REAL
+#define SDL_iscntrl SDL_iscntrl_REAL
 #define SDL_isdigit SDL_isdigit_REAL
+#define SDL_isxdigit SDL_isxdigit_REAL
+#define SDL_ispunct SDL_ispunct_REAL
 #define SDL_isspace SDL_isspace_REAL
+#define SDL_isupper SDL_isupper_REAL
+#define SDL_islower SDL_islower_REAL
+#define SDL_isprint SDL_isprint_REAL
+#define SDL_isgraph SDL_isgraph_REAL
 #define SDL_toupper SDL_toupper_REAL
 #define SDL_tolower SDL_tolower_REAL
+#define SDL_crc16 SDL_crc16_REAL
+#define SDL_crc32 SDL_crc32_REAL
 #define SDL_memset SDL_memset_REAL
+#define SDL_memset4 SDL_memset4_REAL
 #define SDL_memcpy SDL_memcpy_REAL
 #define SDL_memmove SDL_memmove_REAL
 #define SDL_memcmp SDL_memcmp_REAL
 #define SDL_wcslen SDL_wcslen_REAL
 #define SDL_wcslcpy SDL_wcslcpy_REAL
 #define SDL_wcslcat SDL_wcslcat_REAL
+#define SDL_wcsdup SDL_wcsdup_REAL
+#define SDL_wcsstr SDL_wcsstr_REAL
+#define SDL_wcscmp SDL_wcscmp_REAL
+#define SDL_wcsncmp SDL_wcsncmp_REAL
+#define SDL_wcscasecmp SDL_wcscasecmp_REAL
+#define SDL_wcsncasecmp SDL_wcsncasecmp_REAL
 #define SDL_strlen SDL_strlen_REAL
 #define SDL_strlcpy SDL_strlcpy_REAL
 #define SDL_utf8strlcpy SDL_utf8strlcpy_REAL
@@ -383,6 +640,10 @@
 #define SDL_strchr SDL_strchr_REAL
 #define SDL_strrchr SDL_strrchr_REAL
 #define SDL_strstr SDL_strstr_REAL
+#define SDL_strcasestr SDL_strcasestr_REAL
+#define SDL_strtokr SDL_strtokr_REAL
+#define SDL_utf8strlen SDL_utf8strlen_REAL
+#define SDL_utf8strnlen SDL_utf8strnlen_REAL
 #define SDL_itoa SDL_itoa_REAL
 #define SDL_uitoa SDL_uitoa_REAL
 #define SDL_ltoa SDL_ltoa_REAL
@@ -400,27 +661,57 @@
 #define SDL_strncmp SDL_strncmp_REAL
 #define SDL_strcasecmp SDL_strcasecmp_REAL
 #define SDL_strncasecmp SDL_strncasecmp_REAL
+#define SDL_vsscanf SDL_vsscanf_REAL
 #define SDL_vsnprintf SDL_vsnprintf_REAL
+#define SDL_vasprintf SDL_vasprintf_REAL
 #define SDL_acos SDL_acos_REAL
+#define SDL_acosf SDL_acosf_REAL
 #define SDL_asin SDL_asin_REAL
+#define SDL_asinf SDL_asinf_REAL
 #define SDL_atan SDL_atan_REAL
+#define SDL_atanf SDL_atanf_REAL
 #define SDL_atan2 SDL_atan2_REAL
+#define SDL_atan2f SDL_atan2f_REAL
 #define SDL_ceil SDL_ceil_REAL
+#define SDL_ceilf SDL_ceilf_REAL
 #define SDL_copysign SDL_copysign_REAL
+#define SDL_copysignf SDL_copysignf_REAL
 #define SDL_cos SDL_cos_REAL
 #define SDL_cosf SDL_cosf_REAL
+#define SDL_exp SDL_exp_REAL
+#define SDL_expf SDL_expf_REAL
 #define SDL_fabs SDL_fabs_REAL
+#define SDL_fabsf SDL_fabsf_REAL
 #define SDL_floor SDL_floor_REAL
+#define SDL_floorf SDL_floorf_REAL
+#define SDL_trunc SDL_trunc_REAL
+#define SDL_truncf SDL_truncf_REAL
+#define SDL_fmod SDL_fmod_REAL
+#define SDL_fmodf SDL_fmodf_REAL
 #define SDL_log SDL_log_REAL
+#define SDL_logf SDL_logf_REAL
+#define SDL_log10 SDL_log10_REAL
+#define SDL_log10f SDL_log10f_REAL
 #define SDL_pow SDL_pow_REAL
+#define SDL_powf SDL_powf_REAL
+#define SDL_round SDL_round_REAL
+#define SDL_roundf SDL_roundf_REAL
+#define SDL_lround SDL_lround_REAL
+#define SDL_lroundf SDL_lroundf_REAL
 #define SDL_scalbn SDL_scalbn_REAL
+#define SDL_scalbnf SDL_scalbnf_REAL
 #define SDL_sin SDL_sin_REAL
 #define SDL_sinf SDL_sinf_REAL
 #define SDL_sqrt SDL_sqrt_REAL
+#define SDL_sqrtf SDL_sqrtf_REAL
+#define SDL_tan SDL_tan_REAL
+#define SDL_tanf SDL_tanf_REAL
 #define SDL_iconv_open SDL_iconv_open_REAL
 #define SDL_iconv_close SDL_iconv_close_REAL
 #define SDL_iconv SDL_iconv_REAL
 #define SDL_iconv_string SDL_iconv_string_REAL
+#define SDL_CreateSurface SDL_CreateSurface_REAL
+#define SDL_CreateSurfaceFrom SDL_CreateSurfaceFrom_REAL
 #define SDL_DestroySurface SDL_DestroySurface_REAL
 #define SDL_SetSurfacePalette SDL_SetSurfacePalette_REAL
 #define SDL_LockSurface SDL_LockSurface_REAL
@@ -428,7 +719,9 @@
 #define SDL_LoadBMP_RW SDL_LoadBMP_RW_REAL
 #define SDL_SaveBMP_RW SDL_SaveBMP_RW_REAL
 #define SDL_SetSurfaceRLE SDL_SetSurfaceRLE_REAL
+#define SDL_SurfaceHasRLE SDL_SurfaceHasRLE_REAL
 #define SDL_SetSurfaceColorKey SDL_SetSurfaceColorKey_REAL
+#define SDL_SurfaceHasColorKey SDL_SurfaceHasColorKey_REAL
 #define SDL_GetSurfaceColorKey SDL_GetSurfaceColorKey_REAL
 #define SDL_SetSurfaceColorMod SDL_SetSurfaceColorMod_REAL
 #define SDL_GetSurfaceColorMod SDL_GetSurfaceColorMod_REAL
@@ -438,16 +731,30 @@
 #define SDL_GetSurfaceBlendMode SDL_GetSurfaceBlendMode_REAL
 #define SDL_SetSurfaceClipRect SDL_SetSurfaceClipRect_REAL
 #define SDL_GetSurfaceClipRect SDL_GetSurfaceClipRect_REAL
+#define SDL_DuplicateSurface SDL_DuplicateSurface_REAL
 #define SDL_ConvertSurface SDL_ConvertSurface_REAL
 #define SDL_ConvertSurfaceFormat SDL_ConvertSurfaceFormat_REAL
 #define SDL_ConvertPixels SDL_ConvertPixels_REAL
+#define SDL_PremultiplyAlpha SDL_PremultiplyAlpha_REAL
 #define SDL_FillSurfaceRect SDL_FillSurfaceRect_REAL
 #define SDL_FillSurfaceRects SDL_FillSurfaceRects_REAL
 #define SDL_BlitSurface SDL_BlitSurface_REAL
 #define SDL_BlitSurfaceUnchecked SDL_BlitSurfaceUnchecked_REAL
 #define SDL_SoftStretch SDL_SoftStretch_REAL
+#define SDL_SoftStretchLinear SDL_SoftStretchLinear_REAL
 #define SDL_BlitSurfaceScaled SDL_BlitSurfaceScaled_REAL
 #define SDL_BlitSurfaceUncheckedScaled SDL_BlitSurfaceUncheckedScaled_REAL
+#define SDL_SetYUVConversionMode SDL_SetYUVConversionMode_REAL
+#define SDL_GetYUVConversionMode SDL_GetYUVConversionMode_REAL
+#define SDL_GetYUVConversionModeForResolution SDL_GetYUVConversionModeForResolution_REAL
+#define SDL_IsTablet SDL_IsTablet_REAL
+#define SDL_OnApplicationWillTerminate SDL_OnApplicationWillTerminate_REAL
+#define SDL_OnApplicationDidReceiveMemoryWarning SDL_OnApplicationDidReceiveMemoryWarning_REAL
+#define SDL_OnApplicationWillResignActive SDL_OnApplicationWillResignActive_REAL
+#define SDL_OnApplicationDidEnterBackground SDL_OnApplicationDidEnterBackground_REAL
+#define SDL_OnApplicationWillEnterForeground SDL_OnApplicationWillEnterForeground_REAL
+#define SDL_OnApplicationDidBecomeActive SDL_OnApplicationDidBecomeActive_REAL
+#define SDL_GetWindowWMInfo SDL_GetWindowWMInfo_REAL
 #define SDL_GetThreadName SDL_GetThreadName_REAL
 #define SDL_ThreadID SDL_ThreadID_REAL
 #define SDL_GetThreadID SDL_GetThreadID_REAL
@@ -457,14 +764,19 @@
 #define SDL_TLSCreate SDL_TLSCreate_REAL
 #define SDL_TLSGet SDL_TLSGet_REAL
 #define SDL_TLSSet SDL_TLSSet_REAL
+#define SDL_TLSCleanup SDL_TLSCleanup_REAL
 #define SDL_GetTicks SDL_GetTicks_REAL
+#define SDL_GetTicksNS SDL_GetTicksNS_REAL
 #define SDL_GetPerformanceCounter SDL_GetPerformanceCounter_REAL
 #define SDL_GetPerformanceFrequency SDL_GetPerformanceFrequency_REAL
 #define SDL_Delay SDL_Delay_REAL
+#define SDL_DelayNS SDL_DelayNS_REAL
 #define SDL_AddTimer SDL_AddTimer_REAL
 #define SDL_RemoveTimer SDL_RemoveTimer_REAL
 #define SDL_GetNumTouchDevices SDL_GetNumTouchDevices_REAL
 #define SDL_GetTouchDevice SDL_GetTouchDevice_REAL
+#define SDL_GetTouchName SDL_GetTouchName_REAL
+#define SDL_GetTouchDeviceType SDL_GetTouchDeviceType_REAL
 #define SDL_GetNumTouchFingers SDL_GetNumTouchFingers_REAL
 #define SDL_GetTouchFinger SDL_GetTouchFinger_REAL
 #define SDL_GetVersion SDL_GetVersion_REAL
@@ -475,15 +787,20 @@
 #define SDL_GetNumVideoDisplays SDL_GetNumVideoDisplays_REAL
 #define SDL_GetDisplayName SDL_GetDisplayName_REAL
 #define SDL_GetDisplayBounds SDL_GetDisplayBounds_REAL
+#define SDL_GetDisplayUsableBounds SDL_GetDisplayUsableBounds_REAL
 #define SDL_GetDisplayDPI SDL_GetDisplayDPI_REAL
+#define SDL_GetDisplayOrientation SDL_GetDisplayOrientation_REAL
 #define SDL_GetNumDisplayModes SDL_GetNumDisplayModes_REAL
 #define SDL_GetDisplayMode SDL_GetDisplayMode_REAL
 #define SDL_GetDesktopDisplayMode SDL_GetDesktopDisplayMode_REAL
 #define SDL_GetCurrentDisplayMode SDL_GetCurrentDisplayMode_REAL
 #define SDL_GetClosestDisplayMode SDL_GetClosestDisplayMode_REAL
+#define SDL_GetDisplayIndexForPoint SDL_GetDisplayIndexForPoint_REAL
+#define SDL_GetDisplayIndexForRect SDL_GetDisplayIndexForRect_REAL
 #define SDL_GetWindowDisplayIndex SDL_GetWindowDisplayIndex_REAL
 #define SDL_SetWindowDisplayMode SDL_SetWindowDisplayMode_REAL
 #define SDL_GetWindowDisplayMode SDL_GetWindowDisplayMode_REAL
+#define SDL_GetWindowICCProfile SDL_GetWindowICCProfile_REAL
 #define SDL_GetWindowPixelFormat SDL_GetWindowPixelFormat_REAL
 #define SDL_CreateWindow SDL_CreateWindow_REAL
 #define SDL_CreateWindowFrom SDL_CreateWindowFrom_REAL
@@ -499,11 +816,15 @@
 #define SDL_GetWindowPosition SDL_GetWindowPosition_REAL
 #define SDL_SetWindowSize SDL_SetWindowSize_REAL
 #define SDL_GetWindowSize SDL_GetWindowSize_REAL
+#define SDL_GetWindowBordersSize SDL_GetWindowBordersSize_REAL
+#define SDL_GetWindowSizeInPixels SDL_GetWindowSizeInPixels_REAL
 #define SDL_SetWindowMinimumSize SDL_SetWindowMinimumSize_REAL
 #define SDL_GetWindowMinimumSize SDL_GetWindowMinimumSize_REAL
 #define SDL_SetWindowMaximumSize SDL_SetWindowMaximumSize_REAL
 #define SDL_GetWindowMaximumSize SDL_GetWindowMaximumSize_REAL
 #define SDL_SetWindowBordered SDL_SetWindowBordered_REAL
+#define SDL_SetWindowResizable SDL_SetWindowResizable_REAL
+#define SDL_SetWindowAlwaysOnTop SDL_SetWindowAlwaysOnTop_REAL
 #define SDL_ShowWindow SDL_ShowWindow_REAL
 #define SDL_HideWindow SDL_HideWindow_REAL
 #define SDL_RaiseWindow SDL_RaiseWindow_REAL
@@ -515,369 +836,48 @@
 #define SDL_UpdateWindowSurface SDL_UpdateWindowSurface_REAL
 #define SDL_UpdateWindowSurfaceRects SDL_UpdateWindowSurfaceRects_REAL
 #define SDL_SetWindowGrab SDL_SetWindowGrab_REAL
+#define SDL_SetWindowKeyboardGrab SDL_SetWindowKeyboardGrab_REAL
+#define SDL_SetWindowMouseGrab SDL_SetWindowMouseGrab_REAL
 #define SDL_GetWindowGrab SDL_GetWindowGrab_REAL
+#define SDL_GetWindowKeyboardGrab SDL_GetWindowKeyboardGrab_REAL
+#define SDL_GetWindowMouseGrab SDL_GetWindowMouseGrab_REAL
+#define SDL_GetGrabbedWindow SDL_GetGrabbedWindow_REAL
+#define SDL_SetWindowMouseRect SDL_SetWindowMouseRect_REAL
+#define SDL_GetWindowMouseRect SDL_GetWindowMouseRect_REAL
+#define SDL_SetWindowOpacity SDL_SetWindowOpacity_REAL
+#define SDL_GetWindowOpacity SDL_GetWindowOpacity_REAL
+#define SDL_SetWindowModalFor SDL_SetWindowModalFor_REAL
+#define SDL_SetWindowInputFocus SDL_SetWindowInputFocus_REAL
+#define SDL_SetWindowHitTest SDL_SetWindowHitTest_REAL
+#define SDL_FlashWindow SDL_FlashWindow_REAL
 #define SDL_DestroyWindow SDL_DestroyWindow_REAL
 #define SDL_IsScreenSaverEnabled SDL_IsScreenSaverEnabled_REAL
 #define SDL_EnableScreenSaver SDL_EnableScreenSaver_REAL
 #define SDL_DisableScreenSaver SDL_DisableScreenSaver_REAL
 #define SDL_GL_LoadLibrary SDL_GL_LoadLibrary_REAL
 #define SDL_GL_GetProcAddress SDL_GL_GetProcAddress_REAL
+#define SDL_EGL_GetProcAddress SDL_EGL_GetProcAddress_REAL
 #define SDL_GL_UnloadLibrary SDL_GL_UnloadLibrary_REAL
 #define SDL_GL_ExtensionSupported SDL_GL_ExtensionSupported_REAL
+#define SDL_GL_ResetAttributes SDL_GL_ResetAttributes_REAL
 #define SDL_GL_SetAttribute SDL_GL_SetAttribute_REAL
 #define SDL_GL_GetAttribute SDL_GL_GetAttribute_REAL
 #define SDL_GL_CreateContext SDL_GL_CreateContext_REAL
 #define SDL_GL_MakeCurrent SDL_GL_MakeCurrent_REAL
 #define SDL_GL_GetCurrentWindow SDL_GL_GetCurrentWindow_REAL
 #define SDL_GL_GetCurrentContext SDL_GL_GetCurrentContext_REAL
+#define SDL_EGL_GetCurrentEGLDisplay SDL_EGL_GetCurrentEGLDisplay_REAL
+#define SDL_EGL_GetCurrentEGLConfig SDL_EGL_GetCurrentEGLConfig_REAL
+#define SDL_EGL_GetWindowEGLSurface SDL_EGL_GetWindowEGLSurface_REAL
+#define SDL_EGL_SetEGLAttributeCallbacks SDL_EGL_SetEGLAttributeCallbacks_REAL
 #define SDL_GL_GetDrawableSize SDL_GL_GetDrawableSize_REAL
 #define SDL_GL_SetSwapInterval SDL_GL_SetSwapInterval_REAL
 #define SDL_GL_GetSwapInterval SDL_GL_GetSwapInterval_REAL
 #define SDL_GL_SwapWindow SDL_GL_SwapWindow_REAL
 #define SDL_GL_DeleteContext SDL_GL_DeleteContext_REAL
-#define SDL_vsscanf SDL_vsscanf_REAL
-#define SDL_AddGamepadMappingsFromRW SDL_AddGamepadMappingsFromRW_REAL
-#define SDL_GL_ResetAttributes SDL_GL_ResetAttributes_REAL
-#define SDL_HasAVX SDL_HasAVX_REAL
-#define SDL_GetDefaultAssertionHandler SDL_GetDefaultAssertionHandler_REAL
-#define SDL_GetAssertionHandler SDL_GetAssertionHandler_REAL
-#define SDL_DXGIGetOutputInfo SDL_DXGIGetOutputInfo_REAL
-#define SDL_IsRenderClipEnabled SDL_IsRenderClipEnabled_REAL
-#define SDL_WarpMouseGlobal SDL_WarpMouseGlobal_REAL
-#define SDL_WinRTGetFSPathUNICODE SDL_WinRTGetFSPathUNICODE_REAL
-#define SDL_WinRTGetFSPathUTF8 SDL_WinRTGetFSPathUTF8_REAL
-#define SDL_sqrtf SDL_sqrtf_REAL
-#define SDL_tan SDL_tan_REAL
-#define SDL_tanf SDL_tanf_REAL
-#define SDL_CaptureMouse SDL_CaptureMouse_REAL
-#define SDL_SetWindowHitTest SDL_SetWindowHitTest_REAL
-#define SDL_GetGlobalMouseState SDL_GetGlobalMouseState_REAL
-#define SDL_HasAVX2 SDL_HasAVX2_REAL
-#define SDL_QueueAudio SDL_QueueAudio_REAL
-#define SDL_GetQueuedAudioSize SDL_GetQueuedAudioSize_REAL
-#define SDL_ClearQueuedAudio SDL_ClearQueuedAudio_REAL
-#define SDL_GetGrabbedWindow SDL_GetGrabbedWindow_REAL
-#define SDL_SetWindowsMessageHook SDL_SetWindowsMessageHook_REAL
-#define SDL_GetJoystickPowerLevel SDL_GetJoystickPowerLevel_REAL
-#define SDL_GetGamepadFromInstanceID SDL_GetGamepadFromInstanceID_REAL
-#define SDL_GetJoystickFromInstanceID SDL_GetJoystickFromInstanceID_REAL
-#define SDL_GetDisplayUsableBounds SDL_GetDisplayUsableBounds_REAL
-#define SDL_GetWindowBordersSize SDL_GetWindowBordersSize_REAL
-#define SDL_SetWindowOpacity SDL_SetWindowOpacity_REAL
-#define SDL_GetWindowOpacity SDL_GetWindowOpacity_REAL
-#define SDL_SetWindowInputFocus SDL_SetWindowInputFocus_REAL
-#define SDL_SetWindowModalFor SDL_SetWindowModalFor_REAL
-#define SDL_SetRenderIntegerScale SDL_SetRenderIntegerScale_REAL
-#define SDL_GetRenderIntegerScale SDL_GetRenderIntegerScale_REAL
-#define SDL_DequeueAudio SDL_DequeueAudio_REAL
-#define SDL_SetWindowResizable SDL_SetWindowResizable_REAL
-#define SDL_CreateSurface SDL_CreateSurface_REAL
-#define SDL_CreateSurfaceFrom SDL_CreateSurfaceFrom_REAL
-#define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
-#define SDL_GetJoystickVendor SDL_GetJoystickVendor_REAL
-#define SDL_GetJoystickProduct SDL_GetJoystickProduct_REAL
-#define SDL_GetJoystickProductVersion SDL_GetJoystickProductVersion_REAL
-#define SDL_GetGamepadVendor SDL_GetGamepadVendor_REAL
-#define SDL_GetGamepadProduct SDL_GetGamepadProduct_REAL
-#define SDL_GetGamepadProductVersion SDL_GetGamepadProductVersion_REAL
-#define SDL_HasNEON SDL_HasNEON_REAL
-#define SDL_GetNumGamepadMappings SDL_GetNumGamepadMappings_REAL
-#define SDL_GetGamepadMappingForIndex SDL_GetGamepadMappingForIndex_REAL
-#define SDL_GetJoystickAxisInitialState SDL_GetJoystickAxisInitialState_REAL
-#define SDL_GetJoystickType SDL_GetJoystickType_REAL
-#define SDL_MemoryBarrierReleaseFunction SDL_MemoryBarrierReleaseFunction_REAL
-#define SDL_MemoryBarrierAcquireFunction SDL_MemoryBarrierAcquireFunction_REAL
-#define SDL_utf8strlen SDL_utf8strlen_REAL
-#define SDL_LoadFile_RW SDL_LoadFile_RW_REAL
-#define SDL_wcscmp SDL_wcscmp_REAL
-#define SDL_ComposeCustomBlendMode SDL_ComposeCustomBlendMode_REAL
-#define SDL_DuplicateSurface SDL_DuplicateSurface_REAL
 #define SDL_Vulkan_LoadLibrary SDL_Vulkan_LoadLibrary_REAL
 #define SDL_Vulkan_GetVkGetInstanceProcAddr SDL_Vulkan_GetVkGetInstanceProcAddr_REAL
 #define SDL_Vulkan_UnloadLibrary SDL_Vulkan_UnloadLibrary_REAL
 #define SDL_Vulkan_GetInstanceExtensions SDL_Vulkan_GetInstanceExtensions_REAL
 #define SDL_Vulkan_CreateSurface SDL_Vulkan_CreateSurface_REAL
 #define SDL_Vulkan_GetDrawableSize SDL_Vulkan_GetDrawableSize_REAL
-#define SDL_LockJoysticks SDL_LockJoysticks_REAL
-#define SDL_UnlockJoysticks SDL_UnlockJoysticks_REAL
-#define SDL_GetMemoryFunctions SDL_GetMemoryFunctions_REAL
-#define SDL_SetMemoryFunctions SDL_SetMemoryFunctions_REAL
-#define SDL_GetNumAllocations SDL_GetNumAllocations_REAL
-#define SDL_CreateAudioStream SDL_CreateAudioStream_REAL
-#define SDL_PutAudioStreamData SDL_PutAudioStreamData_REAL
-#define SDL_GetAudioStreamData SDL_GetAudioStreamData_REAL
-#define SDL_ClearAudioStream SDL_ClearAudioStream_REAL
-#define SDL_GetAudioStreamAvailable SDL_GetAudioStreamAvailable_REAL
-#define SDL_DestroyAudioStream SDL_DestroyAudioStream_REAL
-#define SDL_FlushAudioStream SDL_FlushAudioStream_REAL
-#define SDL_acosf SDL_acosf_REAL
-#define SDL_asinf SDL_asinf_REAL
-#define SDL_atanf SDL_atanf_REAL
-#define SDL_atan2f SDL_atan2f_REAL
-#define SDL_ceilf SDL_ceilf_REAL
-#define SDL_copysignf SDL_copysignf_REAL
-#define SDL_fabsf SDL_fabsf_REAL
-#define SDL_floorf SDL_floorf_REAL
-#define SDL_logf SDL_logf_REAL
-#define SDL_powf SDL_powf_REAL
-#define SDL_scalbnf SDL_scalbnf_REAL
-#define SDL_fmod SDL_fmod_REAL
-#define SDL_fmodf SDL_fmodf_REAL
-#define SDL_SetYUVConversionMode SDL_SetYUVConversionMode_REAL
-#define SDL_GetYUVConversionMode SDL_GetYUVConversionMode_REAL
-#define SDL_GetYUVConversionModeForResolution SDL_GetYUVConversionModeForResolution_REAL
-#define SDL_GetRenderMetalLayer SDL_GetRenderMetalLayer_REAL
-#define SDL_GetRenderMetalCommandEncoder SDL_GetRenderMetalCommandEncoder_REAL
-#define SDL_IsAndroidTV SDL_IsAndroidTV_REAL
-#define SDL_WinRTGetDeviceFamily SDL_WinRTGetDeviceFamily_REAL
-#define SDL_log10 SDL_log10_REAL
-#define SDL_log10f SDL_log10f_REAL
-#define SDL_LinuxSetThreadPriority SDL_LinuxSetThreadPriority_REAL
-#define SDL_HasAVX512F SDL_HasAVX512F_REAL
-#define SDL_IsChromebook SDL_IsChromebook_REAL
-#define SDL_IsDeXMode SDL_IsDeXMode_REAL
-#define SDL_AndroidBackButton SDL_AndroidBackButton_REAL
-#define SDL_exp SDL_exp_REAL
-#define SDL_expf SDL_expf_REAL
-#define SDL_wcsdup SDL_wcsdup_REAL
-#define SDL_RumbleGamepad SDL_RumbleGamepad_REAL
-#define SDL_RumbleJoystick SDL_RumbleJoystick_REAL
-#define SDL_OpenSensor SDL_OpenSensor_REAL
-#define SDL_GetSensorFromInstanceID SDL_GetSensorFromInstanceID_REAL
-#define SDL_GetSensorName SDL_GetSensorName_REAL
-#define SDL_GetSensorType SDL_GetSensorType_REAL
-#define SDL_GetSensorNonPortableType SDL_GetSensorNonPortableType_REAL
-#define SDL_GetSensorInstanceID SDL_GetSensorInstanceID_REAL
-#define SDL_GetSensorData SDL_GetSensorData_REAL
-#define SDL_CloseSensor SDL_CloseSensor_REAL
-#define SDL_UpdateSensors SDL_UpdateSensors_REAL
-#define SDL_IsTablet SDL_IsTablet_REAL
-#define SDL_GetDisplayOrientation SDL_GetDisplayOrientation_REAL
-#define SDL_SurfaceHasColorKey SDL_SurfaceHasColorKey_REAL
-#define SDL_CreateThreadWithStackSize SDL_CreateThreadWithStackSize_REAL
-#define SDL_GetJoystickPlayerIndex SDL_GetJoystickPlayerIndex_REAL
-#define SDL_GetGamepadPlayerIndex SDL_GetGamepadPlayerIndex_REAL
-#define SDL_RenderFlush SDL_RenderFlush_REAL
-#define SDL_RenderPointF SDL_RenderPointF_REAL
-#define SDL_RenderPointsF SDL_RenderPointsF_REAL
-#define SDL_RenderLineF SDL_RenderLineF_REAL
-#define SDL_RenderLinesF SDL_RenderLinesF_REAL
-#define SDL_RenderRectF SDL_RenderRectF_REAL
-#define SDL_RenderRectsF SDL_RenderRectsF_REAL
-#define SDL_RenderFillRectF SDL_RenderFillRectF_REAL
-#define SDL_RenderFillRectsF SDL_RenderFillRectsF_REAL
-#define SDL_RenderTextureF SDL_RenderTextureF_REAL
-#define SDL_RenderTextureRotatedF SDL_RenderTextureRotatedF_REAL
-#define SDL_GetTouchDeviceType SDL_GetTouchDeviceType_REAL
-#define SDL_SIMDGetAlignment SDL_SIMDGetAlignment_REAL
-#define SDL_SIMDAlloc SDL_SIMDAlloc_REAL
-#define SDL_SIMDFree SDL_SIMDFree_REAL
-#define SDL_RWsize SDL_RWsize_REAL
-#define SDL_RWseek SDL_RWseek_REAL
-#define SDL_RWtell SDL_RWtell_REAL
-#define SDL_RWread SDL_RWread_REAL
-#define SDL_RWwrite SDL_RWwrite_REAL
-#define SDL_RWclose SDL_RWclose_REAL
-#define SDL_LoadFile SDL_LoadFile_REAL
-#define SDL_Metal_CreateView SDL_Metal_CreateView_REAL
-#define SDL_Metal_DestroyView SDL_Metal_DestroyView_REAL
-#define SDL_LockTextureToSurface SDL_LockTextureToSurface_REAL
-#define SDL_HasARMSIMD SDL_HasARMSIMD_REAL
-#define SDL_strtokr SDL_strtokr_REAL
-#define SDL_wcsstr SDL_wcsstr_REAL
-#define SDL_wcsncmp SDL_wcsncmp_REAL
-#define SDL_GetGamepadType SDL_GetGamepadType_REAL
-#define SDL_GetGamepadFromPlayerIndex SDL_GetGamepadFromPlayerIndex_REAL
-#define SDL_SetGamepadPlayerIndex SDL_SetGamepadPlayerIndex_REAL
-#define SDL_GetJoystickFromPlayerIndex SDL_GetJoystickFromPlayerIndex_REAL
-#define SDL_SetJoystickPlayerIndex SDL_SetJoystickPlayerIndex_REAL
-#define SDL_SetTextureScaleMode SDL_SetTextureScaleMode_REAL
-#define SDL_GetTextureScaleMode SDL_GetTextureScaleMode_REAL
-#define SDL_OnApplicationWillTerminate SDL_OnApplicationWillTerminate_REAL
-#define SDL_OnApplicationDidReceiveMemoryWarning SDL_OnApplicationDidReceiveMemoryWarning_REAL
-#define SDL_OnApplicationWillResignActive SDL_OnApplicationWillResignActive_REAL
-#define SDL_OnApplicationDidEnterBackground SDL_OnApplicationDidEnterBackground_REAL
-#define SDL_OnApplicationWillEnterForeground SDL_OnApplicationWillEnterForeground_REAL
-#define SDL_OnApplicationDidBecomeActive SDL_OnApplicationDidBecomeActive_REAL
-#define SDL_OnApplicationDidChangeStatusBarOrientation SDL_OnApplicationDidChangeStatusBarOrientation_REAL
-#define SDL_GetAndroidSDKVersion SDL_GetAndroidSDKVersion_REAL
-#define SDL_isupper SDL_isupper_REAL
-#define SDL_islower SDL_islower_REAL
-#define SDL_AttachVirtualJoystick SDL_AttachVirtualJoystick_REAL
-#define SDL_DetachVirtualJoystick SDL_DetachVirtualJoystick_REAL
-#define SDL_IsJoystickVirtual SDL_IsJoystickVirtual_REAL
-#define SDL_SetJoystickVirtualAxis SDL_SetJoystickVirtualAxis_REAL
-#define SDL_SetJoystickVirtualButton SDL_SetJoystickVirtualButton_REAL
-#define SDL_SetJoystickVirtualHat SDL_SetJoystickVirtualHat_REAL
-#define SDL_GetErrorMsg SDL_GetErrorMsg_REAL
-#define SDL_Metal_GetLayer SDL_Metal_GetLayer_REAL
-#define SDL_Metal_GetDrawableSize SDL_Metal_GetDrawableSize_REAL
-#define SDL_trunc SDL_trunc_REAL
-#define SDL_truncf SDL_truncf_REAL
-#define SDL_GetPreferredLocales SDL_GetPreferredLocales_REAL
-#define SDL_SIMDRealloc SDL_SIMDRealloc_REAL
-#define SDL_AndroidRequestPermission SDL_AndroidRequestPermission_REAL
-#define SDL_OpenURL SDL_OpenURL_REAL
-#define SDL_SurfaceHasRLE SDL_SurfaceHasRLE_REAL
-#define SDL_GamepadHasLED SDL_GamepadHasLED_REAL
-#define SDL_SetGamepadLED SDL_SetGamepadLED_REAL
-#define SDL_JoystickHasLED SDL_JoystickHasLED_REAL
-#define SDL_SetJoystickLED SDL_SetJoystickLED_REAL
-#define SDL_RumbleGamepadTriggers SDL_RumbleGamepadTriggers_REAL
-#define SDL_RumbleJoystickTriggers SDL_RumbleJoystickTriggers_REAL
-#define SDL_GamepadHasAxis SDL_GamepadHasAxis_REAL
-#define SDL_GamepadHasButton SDL_GamepadHasButton_REAL
-#define SDL_GetGamepadNumTouchpads SDL_GetGamepadNumTouchpads_REAL
-#define SDL_GetGamepadNumTouchpadFingers SDL_GetGamepadNumTouchpadFingers_REAL
-#define SDL_GetGamepadTouchpadFinger SDL_GetGamepadTouchpadFinger_REAL
-#define SDL_crc32 SDL_crc32_REAL
-#define SDL_GetGamepadSerial SDL_GetGamepadSerial_REAL
-#define SDL_GetJoystickSerial SDL_GetJoystickSerial_REAL
-#define SDL_GamepadHasSensor SDL_GamepadHasSensor_REAL
-#define SDL_SetGamepadSensorEnabled SDL_SetGamepadSensorEnabled_REAL
-#define SDL_IsGamepadSensorEnabled SDL_IsGamepadSensorEnabled_REAL
-#define SDL_GetGamepadSensorData SDL_GetGamepadSensorData_REAL
-#define SDL_wcscasecmp SDL_wcscasecmp_REAL
-#define SDL_wcsncasecmp SDL_wcsncasecmp_REAL
-#define SDL_round SDL_round_REAL
-#define SDL_roundf SDL_roundf_REAL
-#define SDL_lround SDL_lround_REAL
-#define SDL_lroundf SDL_lroundf_REAL
-#define SDL_SoftStretchLinear SDL_SoftStretchLinear_REAL
-#define SDL_RenderGetD3D11Device SDL_RenderGetD3D11Device_REAL
-#define SDL_UpdateNVTexture SDL_UpdateNVTexture_REAL
-#define SDL_SetWindowKeyboardGrab SDL_SetWindowKeyboardGrab_REAL
-#define SDL_SetWindowMouseGrab SDL_SetWindowMouseGrab_REAL
-#define SDL_GetWindowKeyboardGrab SDL_GetWindowKeyboardGrab_REAL
-#define SDL_GetWindowMouseGrab SDL_GetWindowMouseGrab_REAL
-#define SDL_isalpha SDL_isalpha_REAL
-#define SDL_isalnum SDL_isalnum_REAL
-#define SDL_isblank SDL_isblank_REAL
-#define SDL_iscntrl SDL_iscntrl_REAL
-#define SDL_isxdigit SDL_isxdigit_REAL
-#define SDL_ispunct SDL_ispunct_REAL
-#define SDL_isprint SDL_isprint_REAL
-#define SDL_isgraph SDL_isgraph_REAL
-#define SDL_AndroidShowToast SDL_AndroidShowToast_REAL
-#define SDL_GetAudioDeviceSpec SDL_GetAudioDeviceSpec_REAL
-#define SDL_TLSCleanup SDL_TLSCleanup_REAL
-#define SDL_SetWindowAlwaysOnTop SDL_SetWindowAlwaysOnTop_REAL
-#define SDL_FlashWindow SDL_FlashWindow_REAL
-#define SDL_SendGamepadEffect SDL_SendGamepadEffect_REAL
-#define SDL_SendJoystickEffect SDL_SendJoystickEffect_REAL
-#define SDL_GetGamepadSensorDataRate SDL_GetGamepadSensorDataRate_REAL
-#define SDL_SetTextureUserData SDL_SetTextureUserData_REAL
-#define SDL_GetTextureUserData SDL_GetTextureUserData_REAL
-#define SDL_RenderGeometry SDL_RenderGeometry_REAL
-#define SDL_RenderGeometryRaw SDL_RenderGeometryRaw_REAL
-#define SDL_SetRenderVSync SDL_SetRenderVSync_REAL
-#define SDL_asprintf SDL_asprintf_REAL
-#define SDL_vasprintf SDL_vasprintf_REAL
-#define SDL_GetWindowICCProfile SDL_GetWindowICCProfile_REAL
-#define SDL_LinuxSetThreadPriorityAndPolicy SDL_LinuxSetThreadPriorityAndPolicy_REAL
-#define SDL_GetGamepadAppleSFSymbolsNameForButton SDL_GetGamepadAppleSFSymbolsNameForButton_REAL
-#define SDL_GetGamepadAppleSFSymbolsNameForAxis SDL_GetGamepadAppleSFSymbolsNameForAxis_REAL
-#define SDL_hid_init SDL_hid_init_REAL
-#define SDL_hid_exit SDL_hid_exit_REAL
-#define SDL_hid_device_change_count SDL_hid_device_change_count_REAL
-#define SDL_hid_enumerate SDL_hid_enumerate_REAL
-#define SDL_hid_free_enumeration SDL_hid_free_enumeration_REAL
-#define SDL_hid_open SDL_hid_open_REAL
-#define SDL_hid_open_path SDL_hid_open_path_REAL
-#define SDL_hid_write SDL_hid_write_REAL
-#define SDL_hid_read_timeout SDL_hid_read_timeout_REAL
-#define SDL_hid_read SDL_hid_read_REAL
-#define SDL_hid_set_nonblocking SDL_hid_set_nonblocking_REAL
-#define SDL_hid_send_feature_report SDL_hid_send_feature_report_REAL
-#define SDL_hid_get_feature_report SDL_hid_get_feature_report_REAL
-#define SDL_hid_close SDL_hid_close_REAL
-#define SDL_hid_get_manufacturer_string SDL_hid_get_manufacturer_string_REAL
-#define SDL_hid_get_product_string SDL_hid_get_product_string_REAL
-#define SDL_hid_get_serial_number_string SDL_hid_get_serial_number_string_REAL
-#define SDL_hid_get_indexed_string SDL_hid_get_indexed_string_REAL
-#define SDL_SetWindowMouseRect SDL_SetWindowMouseRect_REAL
-#define SDL_GetWindowMouseRect SDL_GetWindowMouseRect_REAL
-#define SDL_RenderWindowToLogical SDL_RenderWindowToLogical_REAL
-#define SDL_RenderLogicalToWindow SDL_RenderLogicalToWindow_REAL
-#define SDL_JoystickHasRumble SDL_JoystickHasRumble_REAL
-#define SDL_JoystickHasRumbleTriggers SDL_JoystickHasRumbleTriggers_REAL
-#define SDL_GamepadHasRumble SDL_GamepadHasRumble_REAL
-#define SDL_GamepadHasRumbleTriggers SDL_GamepadHasRumbleTriggers_REAL
-#define SDL_hid_ble_scan SDL_hid_ble_scan_REAL
-#define SDL_PremultiplyAlpha SDL_PremultiplyAlpha_REAL
-#define SDL_AndroidSendMessage SDL_AndroidSendMessage_REAL
-#define SDL_GetTouchName SDL_GetTouchName_REAL
-#define SDL_ClearComposition SDL_ClearComposition_REAL
-#define SDL_IsTextInputShown SDL_IsTextInputShown_REAL
-#define SDL_HasRectIntersectionF SDL_HasRectIntersectionF_REAL
-#define SDL_GetRectIntersectionF SDL_GetRectIntersectionF_REAL
-#define SDL_GetRectUnionF SDL_GetRectUnionF_REAL
-#define SDL_GetRectEnclosingPointsF SDL_GetRectEnclosingPointsF_REAL
-#define SDL_GetRectAndLineIntersectionF SDL_GetRectAndLineIntersectionF_REAL
-#define SDL_GetRenderWindow SDL_GetRenderWindow_REAL
-#define SDL_bsearch SDL_bsearch_REAL
-#define SDL_GetGamepadPath SDL_GetGamepadPath_REAL
-#define SDL_GetJoystickPath SDL_GetJoystickPath_REAL
-#define SDL_AttachVirtualJoystickEx SDL_AttachVirtualJoystickEx_REAL
-#define SDL_GetGamepadFirmwareVersion SDL_GetGamepadFirmwareVersion_REAL
-#define SDL_GetJoystickFirmwareVersion SDL_GetJoystickFirmwareVersion_REAL
-#define SDL_GUIDToString SDL_GUIDToString_REAL
-#define SDL_GUIDFromString SDL_GUIDFromString_REAL
-#define SDL_HasLSX SDL_HasLSX_REAL
-#define SDL_HasLASX SDL_HasLASX_REAL
-#define SDL_RenderGetD3D12Device SDL_RenderGetD3D12Device_REAL
-#define SDL_utf8strnlen SDL_utf8strnlen_REAL
-#define SDL_GDKGetTaskQueue SDL_GDKGetTaskQueue_REAL
-#define SDL_GetOriginalMemoryFunctions SDL_GetOriginalMemoryFunctions_REAL
-#define SDL_ResetKeyboard SDL_ResetKeyboard_REAL
-#define SDL_GetDefaultAudioInfo SDL_GetDefaultAudioInfo_REAL
-#define SDL_GetDisplayIndexForPoint SDL_GetDisplayIndexForPoint_REAL
-#define SDL_GetDisplayIndexForRect SDL_GetDisplayIndexForRect_REAL
-#define SDL_ResetHint SDL_ResetHint_REAL
-#define SDL_crc16 SDL_crc16_REAL
-#define SDL_GetWindowSizeInPixels SDL_GetWindowSizeInPixels_REAL
-#define SDL_GetJoystickGUIDInfo SDL_GetJoystickGUIDInfo_REAL
-#define SDL_SetPrimarySelectionText SDL_SetPrimarySelectionText_REAL
-#define SDL_GetPrimarySelectionText SDL_GetPrimarySelectionText_REAL
-#define SDL_HasPrimarySelectionText SDL_HasPrimarySelectionText_REAL
-#define SDL_ResetHints SDL_ResetHints_REAL
-#define SDL_strcasestr SDL_strcasestr_REAL
-#define SDL_EGL_GetProcAddress SDL_EGL_GetProcAddress_REAL
-#define SDL_EGL_GetCurrentEGLDisplay SDL_EGL_GetCurrentEGLDisplay_REAL
-#define SDL_EGL_GetCurrentEGLConfig SDL_EGL_GetCurrentEGLConfig_REAL
-#define SDL_EGL_GetWindowEGLSurface SDL_EGL_GetWindowEGLSurface_REAL
-#define SDL_EGL_SetEGLAttributeCallbacks SDL_EGL_SetEGLAttributeCallbacks_REAL
-#define SDL_GDKSuspendComplete SDL_GDKSuspendComplete_REAL
-#define SDL_GetWindowWMInfo SDL_GetWindowWMInfo_REAL
-#define SDL_memset4 SDL_memset4_REAL
-#define SDL_GetTicksNS SDL_GetTicksNS_REAL
-#define SDL_DelayNS SDL_DelayNS_REAL
-#define SDL_GetEventState SDL_GetEventState_REAL
-#define SDL_GetRenderDriver SDL_GetRenderDriver_REAL
-#define SDL_RunApp SDL_RunApp_REAL
-#define SDL_GetSensors SDL_GetSensors_REAL
-#define SDL_GetSensorInstanceName SDL_GetSensorInstanceName_REAL
-#define SDL_GetSensorInstanceType SDL_GetSensorInstanceType_REAL
-#define SDL_GetSensorInstanceNonPortableType SDL_GetSensorInstanceNonPortableType_REAL
-#define SDL_GetJoysticks SDL_GetJoysticks_REAL
-#define SDL_GetJoystickInstanceName SDL_GetJoystickInstanceName_REAL
-#define SDL_GetJoystickInstancePath SDL_GetJoystickInstancePath_REAL
-#define SDL_GetJoystickInstancePlayerIndex SDL_GetJoystickInstancePlayerIndex_REAL
-#define SDL_GetJoystickInstanceGUID SDL_GetJoystickInstanceGUID_REAL
-#define SDL_GetJoystickInstanceVendor SDL_GetJoystickInstanceVendor_REAL
-#define SDL_GetJoystickInstanceProduct SDL_GetJoystickInstanceProduct_REAL
-#define SDL_GetJoystickInstanceProductVersion SDL_GetJoystickInstanceProductVersion_REAL
-#define SDL_GetJoystickInstanceType SDL_GetJoystickInstanceType_REAL
-#define SDL_GetGamepadInstanceName SDL_GetGamepadInstanceName_REAL
-#define SDL_GetGamepadInstancePath SDL_GetGamepadInstancePath_REAL
-#define SDL_GetGamepadInstanceType SDL_GetGamepadInstanceType_REAL
-#define SDL_GetGamepadInstanceMapping SDL_GetGamepadInstanceMapping_REAL
-#define SDL_HasJoysticks SDL_HasJoysticks_REAL
-#define SDL_HasSensors SDL_HasSensors_REAL
-#define SDL_HasGamepads SDL_HasGamepads_REAL
-#define SDL_GetGamepads SDL_GetGamepads_REAL
-#define SDL_GetGamepadInstancePlayerIndex SDL_GetGamepadInstancePlayerIndex_REAL
-#define SDL_GetGamepadInstanceGUID SDL_GetGamepadInstanceGUID_REAL
-#define SDL_GetGamepadInstanceVendor SDL_GetGamepadInstanceVendor_REAL
-#define SDL_GetGamepadInstanceProduct SDL_GetGamepadInstanceProduct_REAL
-#define SDL_GetGamepadInstanceProductVersion SDL_GetGamepadInstanceProductVersion_REAL

+ 375 - 405
src/dynapi/SDL_dynapi_procs.h

@@ -30,17 +30,18 @@
 
 /* direct jump magic can use these, the rest needs special code. */
 #if !SDL_DYNAPI_PROC_NO_VARARGS
-SDL_DYNAPI_PROC(int,SDL_SetError,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),return)
 SDL_DYNAPI_PROC(void,SDL_Log,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),)
-SDL_DYNAPI_PROC(void,SDL_LogVerbose,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_LogCritical,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_LogDebug,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
-SDL_DYNAPI_PROC(void,SDL_LogInfo,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
-SDL_DYNAPI_PROC(void,SDL_LogWarn,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_LogError,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
-SDL_DYNAPI_PROC(void,SDL_LogCritical,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_LogInfo,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_LogMessage,(int a, SDL_LogPriority b, SDL_PRINTF_FORMAT_STRING const char *c, ...),(a,b,c),)
-SDL_DYNAPI_PROC(int,SDL_sscanf,(const char *a, SDL_SCANF_FORMAT_STRING const char *b, ...),(a,b),return)
+SDL_DYNAPI_PROC(void,SDL_LogVerbose,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_LogWarn,(int a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),)
+SDL_DYNAPI_PROC(int,SDL_SetError,(SDL_PRINTF_FORMAT_STRING const char *a, ...),(a),return)
+SDL_DYNAPI_PROC(int,SDL_asprintf,(char **a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_snprintf,(SDL_OUT_Z_CAP(b) char *a, size_t b, SDL_PRINTF_FORMAT_STRING const char *c, ...),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_sscanf,(const char *a, SDL_SCANF_FORMAT_STRING const char *b, ...),(a,b),return)
 #endif
 
 #ifdef SDL_CreateThread
@@ -53,41 +54,78 @@ SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThread,(SDL_ThreadFunction a, const char *
 SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThread,(SDL_ThreadFunction a, const char *b, void *c),(a,b,c),return)
 #endif
 
+#ifdef SDL_CreateThreadWithStackSize
+#undef SDL_CreateThreadWithStackSize
+#endif
+
+#if defined(__WIN32__) || defined(__GDK__)
+SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadWithStackSize,(SDL_ThreadFunction a, const char *b, const size_t c, void *d, pfnSDL_CurrentBeginThread e, pfnSDL_CurrentEndThread f),(a,b,c,d,e,f),return)
+#else
+SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadWithStackSize,(SDL_ThreadFunction a, const char *b, const size_t c, void *d),(a,b,c,d),return)
+#endif
+
 #if defined(__WIN32__) || defined(__GDK__)
 SDL_DYNAPI_PROC(int,SDL_RegisterApp,(const char *a, Uint32 b, void *c),(a,b,c),return)
+SDL_DYNAPI_PROC(ID3D12Device*,SDL_RenderGetD3D12Device,(SDL_Renderer *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_SetWindowsMessageHook,(SDL_WindowsMessageHook a, void *b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_UnregisterApp,(void),(),)
 #endif
 
 #if defined(__WIN32__) || defined(__WINGDK__)
+SDL_DYNAPI_PROC(SDL_bool,SDL_DXGIGetOutputInfo,(int a, int *b, int *c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_Direct3D9GetAdapterIndex,(int a),(a),return)
+SDL_DYNAPI_PROC(ID3D11Device*,SDL_RenderGetD3D11Device,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(IDirect3DDevice9*,SDL_RenderGetD3D9Device,(SDL_Renderer *a),(a),return)
 #endif
 
+#if defined(__GDK__)
+SDL_DYNAPI_PROC(int,SDL_GDKGetTaskQueue,(XTaskQueueHandle *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_GDKSuspendComplete,(void),(),)
+#endif
+
+#ifdef __WINRT__
+SDL_DYNAPI_PROC(SDL_WinRT_DeviceFamily,SDL_WinRTGetDeviceFamily,(void),(),return)
+SDL_DYNAPI_PROC(const wchar_t*,SDL_WinRTGetFSPathUNICODE,(SDL_WinRT_Path a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_WinRTGetFSPathUTF8,(SDL_WinRT_Path a),(a),return)
+#endif
+
+#ifdef __LINUX__
+SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriorityAndPolicy,(Sint64 a, int b, int c),(a,b,c),return)
+#endif
+
 #ifdef __IOS__
+SDL_DYNAPI_PROC(void,SDL_OnApplicationDidChangeStatusBarOrientation,(void),(),)
 SDL_DYNAPI_PROC(int,SDL_iPhoneSetAnimationCallback,(SDL_Window *a, int b, void (SDLCALL *c)(void *), void *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(void,SDL_iPhoneSetEventPump,(SDL_bool a),(a),)
 #endif
 
 #ifdef __ANDROID__
-SDL_DYNAPI_PROC(void*,SDL_AndroidGetJNIEnv,(void),(),return)
+SDL_DYNAPI_PROC(void,SDL_AndroidBackButton,(void),(),)
 SDL_DYNAPI_PROC(void*,SDL_AndroidGetActivity,(void),(),return)
-SDL_DYNAPI_PROC(const char*,SDL_AndroidGetInternalStoragePath,(void),(),return)
-SDL_DYNAPI_PROC(int,SDL_AndroidGetExternalStorageState,(void),(),return)
 SDL_DYNAPI_PROC(const char*,SDL_AndroidGetExternalStoragePath,(void),(),return)
+SDL_DYNAPI_PROC(int,SDL_AndroidGetExternalStorageState,(void),(),return)
+SDL_DYNAPI_PROC(const char*,SDL_AndroidGetInternalStoragePath,(void),(),return)
+SDL_DYNAPI_PROC(void*,SDL_AndroidGetJNIEnv,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_AndroidRequestPermission,(const char *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_AndroidSendMessage,(Uint32 a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_AndroidShowToast,(const char *a, int b, int c, int d, int e),(a,b,c,d,e),return)
+SDL_DYNAPI_PROC(int,SDL_GetAndroidSDKVersion,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsChromebook,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsDeXMode,(void),(),return)
 #endif
-
-SDL_DYNAPI_PROC(int,SDL_Init,(Uint32 a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_InitSubSystem,(Uint32 a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_QuitSubSystem,(Uint32 a),(a),)
-SDL_DYNAPI_PROC(Uint32,SDL_WasInit,(Uint32 a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_Quit,(void),(),)
 SDL_DYNAPI_PROC(SDL_AssertState,SDL_ReportAssertion,(SDL_AssertData *a, const char *b, const char *c, int d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(void,SDL_SetAssertionHandler,(SDL_AssertionHandler a, void *b),(a,b),)
+SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetDefaultAssertionHandler,(void),(),return)
+SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetAssertionHandler,(void **a),(a),return)
 SDL_DYNAPI_PROC(const SDL_AssertData*,SDL_GetAssertionReport,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_ResetAssertionReport,(void),(),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_AtomicTryLock,(SDL_SpinLock *a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_AtomicLock,(SDL_SpinLock *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_AtomicUnlock,(SDL_SpinLock *a),(a),)
+SDL_DYNAPI_PROC(void,SDL_MemoryBarrierReleaseFunction,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_MemoryBarrierAcquireFunction,(void),(),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_AtomicCAS,(SDL_atomic_t *a, int b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_AtomicSet,(SDL_atomic_t *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_AtomicGet,(SDL_atomic_t *a),(a),return)
@@ -101,6 +139,8 @@ SDL_DYNAPI_PROC(const char*,SDL_GetCurrentAudioDriver,(void),(),return)
 SDL_DYNAPI_PROC(int,SDL_OpenAudio,(SDL_AudioSpec *a, SDL_AudioSpec *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumAudioDevices,(int a),(a),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetAudioDeviceName,(int a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetAudioDeviceSpec,(int a, int b, SDL_AudioSpec *c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_GetDefaultAudioInfo,(char **a, SDL_AudioSpec *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_AudioDeviceID,SDL_OpenAudioDevice,(const char *a, int b, const SDL_AudioSpec *c, SDL_AudioSpec *d, int e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(SDL_AudioStatus,SDL_GetAudioStatus,(void),(),return)
 SDL_DYNAPI_PROC(SDL_AudioStatus,SDL_GetAudioDeviceStatus,(SDL_AudioDeviceID a),(a),return)
@@ -109,17 +149,32 @@ SDL_DYNAPI_PROC(void,SDL_PauseAudioDevice,(SDL_AudioDeviceID a, int b),(a,b),)
 SDL_DYNAPI_PROC(SDL_AudioSpec*,SDL_LoadWAV_RW,(SDL_RWops *a, int b, SDL_AudioSpec *c, Uint8 **d, Uint32 *e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(int,SDL_BuildAudioCVT,(SDL_AudioCVT *a, SDL_AudioFormat b, Uint8 c, int d, SDL_AudioFormat e, Uint8 f, int g),(a,b,c,d,e,f,g),return)
 SDL_DYNAPI_PROC(int,SDL_ConvertAudio,(SDL_AudioCVT *a),(a),return)
+SDL_DYNAPI_PROC(SDL_AudioStream*,SDL_CreateAudioStream,(SDL_AudioFormat a, Uint8 b, int c, SDL_AudioFormat d, Uint8 e, int f),(a,b,c,d,e,f),return)
+SDL_DYNAPI_PROC(int,SDL_PutAudioStreamData,(SDL_AudioStream *a, const void *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_GetAudioStreamData,(SDL_AudioStream *a, void *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_GetAudioStreamAvailable,(SDL_AudioStream *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_FlushAudioStream,(SDL_AudioStream *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_ClearAudioStream,(SDL_AudioStream *a),(a),)
+SDL_DYNAPI_PROC(void,SDL_DestroyAudioStream,(SDL_AudioStream *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_MixAudio,(Uint8 *a, const Uint8 *b, Uint32 c, int d),(a,b,c,d),)
 SDL_DYNAPI_PROC(void,SDL_MixAudioFormat,(Uint8 *a, const Uint8 *b, SDL_AudioFormat c, Uint32 d, int e),(a,b,c,d,e),)
+SDL_DYNAPI_PROC(int,SDL_QueueAudio,(SDL_AudioDeviceID a, const void *b, Uint32 c),(a,b,c),return)
+SDL_DYNAPI_PROC(Uint32,SDL_DequeueAudio,(SDL_AudioDeviceID a, void *b, Uint32 c),(a,b,c),return)
+SDL_DYNAPI_PROC(Uint32,SDL_GetQueuedAudioSize,(SDL_AudioDeviceID a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_ClearQueuedAudio,(SDL_AudioDeviceID a),(a),)
 SDL_DYNAPI_PROC(void,SDL_LockAudio,(void),(),)
 SDL_DYNAPI_PROC(void,SDL_LockAudioDevice,(SDL_AudioDeviceID a),(a),)
 SDL_DYNAPI_PROC(void,SDL_UnlockAudio,(void),(),)
 SDL_DYNAPI_PROC(void,SDL_UnlockAudioDevice,(SDL_AudioDeviceID a),(a),)
 SDL_DYNAPI_PROC(void,SDL_CloseAudio,(void),(),)
 SDL_DYNAPI_PROC(void,SDL_CloseAudioDevice,(SDL_AudioDeviceID a),(a),)
+SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(int,SDL_SetClipboardText,(const char *a),(a),return)
 SDL_DYNAPI_PROC(char*,SDL_GetClipboardText,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasClipboardText,(void),(),return)
+SDL_DYNAPI_PROC(int,SDL_SetPrimarySelectionText,(const char *a),(a),return)
+SDL_DYNAPI_PROC(char*,SDL_GetPrimarySelectionText,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasPrimarySelectionText,(void),(),return)
 SDL_DYNAPI_PROC(int,SDL_GetCPUCount,(void),(),return)
 SDL_DYNAPI_PROC(int,SDL_GetCPUCacheLineSize,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasRDTSC,(void),(),return)
@@ -130,8 +185,20 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_HasSSE2,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasSSE3,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasSSE41,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasSSE42,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX2,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasARMSIMD,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasNEON,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasLSX,(void),(),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasLASX,(void),(),return)
 SDL_DYNAPI_PROC(int,SDL_GetSystemRAM,(void),(),return)
+SDL_DYNAPI_PROC(size_t,SDL_SIMDGetAlignment,(void),(),return)
+SDL_DYNAPI_PROC(void*,SDL_SIMDAlloc,(const size_t a),(a),return)
+SDL_DYNAPI_PROC(void*,SDL_SIMDRealloc,(void *a, const size_t b),(a,b),return)
+SDL_DYNAPI_PROC(void,SDL_SIMDFree,(void *a),(a),)
 SDL_DYNAPI_PROC(const char*,SDL_GetError,(void),(),return)
+SDL_DYNAPI_PROC(char*,SDL_GetErrorMsg,(char *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_ClearError,(void),(),)
 SDL_DYNAPI_PROC(int,SDL_Error,(SDL_errorcode a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_PumpEvents,(void),(),)
@@ -150,15 +217,41 @@ SDL_DYNAPI_PROC(void,SDL_AddEventWatch,(SDL_EventFilter a, void *b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_DelEventWatch,(SDL_EventFilter a, void *b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_FilterEvents,(SDL_EventFilter a, void *b),(a,b),)
 SDL_DYNAPI_PROC(Uint8,SDL_EventState,(Uint32 a, int b),(a,b),return)
+SDL_DYNAPI_PROC(Uint8,SDL_GetEventState,(Uint32 a),(a),return)
 SDL_DYNAPI_PROC(Uint32,SDL_RegisterEvents,(int a),(a),return)
 SDL_DYNAPI_PROC(char*,SDL_GetBasePath,(void),(),return)
 SDL_DYNAPI_PROC(char*,SDL_GetPrefPath,(const char *a, const char *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_AddGamepadMapping,(const char *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_AddGamepadMappingsFromRW,(SDL_RWops *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetNumGamepadMappings,(void),(),return)
+SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForIndex,(int a),(a),return)
 SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForGUID,(SDL_JoystickGUID a),(a),return)
 SDL_DYNAPI_PROC(char*,SDL_GetGamepadMapping,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasGamepads,(void),(),return)
+SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsGamepad,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstanceName,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstancePath,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadInstancePlayerIndex,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetGamepadInstanceGUID,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceVendor,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProduct,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProductVersion,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadInstanceType,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(char*,SDL_GetGamepadInstanceMapping,(SDL_JoystickID a),(a),return)
 SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_OpenGamepad,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromInstanceID,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromPlayerIndex,(int a),(a),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetGamepadName,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPath,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadType,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndex,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_SetGamepadPlayerIndex,(SDL_Gamepad *a, int b),(a,b),)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendor,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProduct,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersion,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadFirmwareVersion,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadSerial,(SDL_Gamepad *a),(a),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsGamepadConnected,(SDL_Gamepad *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetGamepadJoystick,(SDL_Gamepad *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetGamepadEventState,(int a),(a),return)
@@ -166,12 +259,33 @@ SDL_DYNAPI_PROC(void,SDL_UpdateGamepads,(void),(),)
 SDL_DYNAPI_PROC(SDL_GamepadAxis,SDL_GetGamepadAxisFromString,(const char *a),(a),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForAxis,(SDL_GamepadAxis a),(a),return)
 SDL_DYNAPI_PROC(SDL_GamepadBinding,SDL_GetGamepadBindForAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
 SDL_DYNAPI_PROC(Sint16,SDL_GetGamepadAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_GamepadButton,SDL_GetGamepadButtonFromString,(const char *a),(a),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForButton,(SDL_GamepadButton a),(a),return)
 SDL_DYNAPI_PROC(SDL_GamepadBinding,SDL_GetGamepadBindForButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
 SDL_DYNAPI_PROC(Uint8,SDL_GetGamepadButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadNumTouchpads,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadNumTouchpadFingers,(SDL_Gamepad *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadTouchpadFinger,(SDL_Gamepad *a, int b, int c, Uint8 *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasSensor,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_SetGamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b, SDL_bool c),(a,b,c),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsGamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_GetGamepadSensorDataRate,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetGamepadSensorData,(SDL_Gamepad *a, SDL_SensorType b, float *c, int d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_RumbleGamepad,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_RumbleGamepadTriggers,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasLED,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasRumble,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasRumbleTriggers,(SDL_Gamepad *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetGamepadLED,(SDL_Gamepad *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_SendGamepadEffect,(SDL_Gamepad *a, const void *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_CloseGamepad,(SDL_Gamepad *a),(a),)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
+SDL_DYNAPI_PROC(void,SDL_GUIDToString,(SDL_GUID a, char *b, int c),(a,b,c),)
+SDL_DYNAPI_PROC(SDL_GUID,SDL_GUIDFromString,(const char *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_NumHaptics,(void),(),return)
 SDL_DYNAPI_PROC(const char*,SDL_HapticName,(int a),(a),return)
 SDL_DYNAPI_PROC(SDL_Haptic*,SDL_HapticOpen,(int a),(a),return)
@@ -202,17 +316,75 @@ SDL_DYNAPI_PROC(int,SDL_HapticRumbleSupported,(SDL_Haptic *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_HapticRumbleInit,(SDL_Haptic *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_HapticRumblePlay,(SDL_Haptic *a, float b, Uint32 c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_HapticRumbleStop,(SDL_Haptic *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_hid_init,(void),(),return)
+SDL_DYNAPI_PROC(int,SDL_hid_exit,(void),(),return)
+SDL_DYNAPI_PROC(Uint32,SDL_hid_device_change_count,(void),(),return)
+SDL_DYNAPI_PROC(SDL_hid_device_info*,SDL_hid_enumerate,(unsigned short a, unsigned short b),(a,b),return)
+SDL_DYNAPI_PROC(void,SDL_hid_free_enumeration,(SDL_hid_device_info *a),(a),)
+SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open,(unsigned short a, unsigned short b, const wchar_t *c),(a,b,c),return)
+SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open_path,(const char *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_hid_write,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_read_timeout,(SDL_hid_device *a, unsigned char *b, size_t c, int d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_hid_read,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_set_nonblocking,(SDL_hid_device *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_hid_send_feature_report,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_get_feature_report,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(void,SDL_hid_close,(SDL_hid_device *a),(a),)
+SDL_DYNAPI_PROC(int,SDL_hid_get_manufacturer_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_get_product_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_get_serial_number_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_hid_get_indexed_string,(SDL_hid_device *a, int b, wchar_t *c, size_t d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(void,SDL_hid_ble_scan,(SDL_bool a),(a),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_SetHintWithPriority,(const char *a, const char *b, SDL_HintPriority c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_SetHint,(const char *a, const char *b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_ResetHint,(const char *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_ResetHints,(void),(),)
 SDL_DYNAPI_PROC(const char*,SDL_GetHint,(const char *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetHintBoolean,(const char *a, SDL_bool b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_AddHintCallback,(const char *a, SDL_HintCallback b, void *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_DelHintCallback,(const char *a, SDL_HintCallback b, void *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_ClearHints,(void),(),)
+SDL_DYNAPI_PROC(int,SDL_Init,(Uint32 a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_InitSubSystem,(Uint32 a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_QuitSubSystem,(Uint32 a),(a),)
+SDL_DYNAPI_PROC(Uint32,SDL_WasInit,(Uint32 a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_Quit,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_LockJoysticks,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_UnlockJoysticks,(void),(),)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasJoysticks,(void),(),return)
+SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetJoysticks,(int *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstanceName,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstancePath,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetJoystickInstancePlayerIndex,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickInstanceGUID,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceVendor,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProduct,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProductVersion,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickInstanceType,(SDL_JoystickID a),(a),return)
 SDL_DYNAPI_PROC(SDL_Joystick*,SDL_OpenJoystick,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromInstanceID,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromPlayerIndex,(int a),(a),return)
+SDL_DYNAPI_PROC(SDL_JoystickID,SDL_AttachVirtualJoystick,(SDL_JoystickType a, int b, int c, int d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_JoystickID,SDL_AttachVirtualJoystickEx,(const SDL_VirtualJoystickDesc *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_DetachVirtualJoystick,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsJoystickVirtual,(SDL_JoystickID a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualAxis,(SDL_Joystick *a, int b, Sint16 c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualButton,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualHat,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetJoystickName,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPath,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndex,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_SetJoystickPlayerIndex,(SDL_Joystick *a, int b),(a,b),)
 SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUID,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendor,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProduct,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersion,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickFirmwareVersion,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetJoystickSerial,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickType,(SDL_Joystick *a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDString,(SDL_JoystickGUID a, char *b, int c),(a,b,c),)
 SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUIDFromString,(const char *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDInfo,(SDL_JoystickGUID a, Uint16 *b, Uint16 *c, Uint16 *d, Uint16 *e),(a,b,c,d,e),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsJoystickConnected,(SDL_Joystick *a),(a),return)
 SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetJoystickInstanceID,(SDL_Joystick *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumJoystickAxes,(SDL_Joystick *a),(a),return)
@@ -221,11 +393,21 @@ SDL_DYNAPI_PROC(int,SDL_GetNumJoystickButtons,(SDL_Joystick *a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_UpdateJoysticks,(void),(),)
 SDL_DYNAPI_PROC(int,SDL_GetJoystickEventState,(int a),(a),return)
 SDL_DYNAPI_PROC(Sint16,SDL_GetJoystickAxis,(SDL_Joystick *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetJoystickAxisInitialState,(SDL_Joystick *a, int b, Sint16 *c),(a,b,c),return)
 SDL_DYNAPI_PROC(Uint8,SDL_GetJoystickHat,(SDL_Joystick *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(Uint8,SDL_GetJoystickButton,(SDL_Joystick *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_RumbleJoystick,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_RumbleJoystickTriggers,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasLED,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasRumble,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasRumbleTriggers,(SDL_Joystick *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetJoystickLED,(SDL_Joystick *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_SendJoystickEffect,(SDL_Joystick *a, const void *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_CloseJoystick,(SDL_Joystick *a),(a),)
+SDL_DYNAPI_PROC(SDL_JoystickPowerLevel,SDL_GetJoystickPowerLevel,(SDL_Joystick *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_GetKeyboardFocus,(void),(),return)
 SDL_DYNAPI_PROC(const Uint8*,SDL_GetKeyboardState,(int *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_ResetKeyboard,(void),(),)
 SDL_DYNAPI_PROC(SDL_Keymod,SDL_GetModState,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_SetModState,(SDL_Keymod a),(a),)
 SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromScancode,(SDL_Scancode a),(a),return)
@@ -237,12 +419,15 @@ SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromName,(const char *a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_StartTextInput,(void),(),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsTextInputActive,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_StopTextInput,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_ClearComposition,(void),(),)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsTextInputShown,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_SetTextInputRect,(const SDL_Rect *a),(a),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_HasScreenKeyboardSupport,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsScreenKeyboardShown,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(void*,SDL_LoadObject,(const char *a),(a),return)
 SDL_DYNAPI_PROC(void*,SDL_LoadFunction,(void *a, const char *b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_UnloadObject,(void *a),(a),)
+SDL_DYNAPI_PROC(SDL_Locale*,SDL_GetPreferredLocales,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_LogSetAllPriority,(SDL_LogPriority a),(a),)
 SDL_DYNAPI_PROC(void,SDL_LogSetPriority,(int a, SDL_LogPriority b),(a,b),)
 SDL_DYNAPI_PROC(SDL_LogPriority,SDL_LogGetPriority,(int a),(a),return)
@@ -251,13 +436,22 @@ SDL_DYNAPI_PROC(void,SDL_LogMessageV,(int a, SDL_LogPriority b, const char *c, v
 SDL_DYNAPI_PROC(void,SDL_LogGetOutputFunction,(SDL_LogOutputFunction *a, void **b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_LogSetOutputFunction,(SDL_LogOutputFunction a, void *b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_SetMainReady,(void),(),)
+SDL_DYNAPI_PROC(int,SDL_RunApp,(int a, char *b[], SDL_main_func c, void *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_ShowMessageBox,(const SDL_MessageBoxData *a, int *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_ShowSimpleMessageBox,(Uint32 a, const char *b, const char *c, SDL_Window *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_MetalView,SDL_Metal_CreateView,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_Metal_DestroyView,(SDL_MetalView a),(a),)
+SDL_DYNAPI_PROC(void*,SDL_Metal_GetLayer,(SDL_MetalView a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_Metal_GetDrawableSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
+SDL_DYNAPI_PROC(int,SDL_OpenURL,(const char *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_GetMouseFocus,(void),(),return)
 SDL_DYNAPI_PROC(Uint32,SDL_GetMouseState,(int *a, int *b),(a,b),return)
+SDL_DYNAPI_PROC(Uint32,SDL_GetGlobalMouseState,(int *a, int *b),(a,b),return)
 SDL_DYNAPI_PROC(Uint32,SDL_GetRelativeMouseState,(int *a, int *b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_WarpMouseInWindow,(SDL_Window *a, int b, int c),(a,b,c),)
+SDL_DYNAPI_PROC(int,SDL_WarpMouseGlobal,(int a, int b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_SetRelativeMouseMode,(SDL_bool a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_CaptureMouse,(SDL_bool a),(a),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_GetRelativeMouseMode,(void),(),return)
 SDL_DYNAPI_PROC(SDL_Cursor*,SDL_CreateCursor,(const Uint8 *a, const Uint8 *b, int c, int d, int e, int f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(SDL_Cursor*,SDL_CreateColorCursor,(SDL_Surface *a, int b, int c),(a,b,c),return)
@@ -305,11 +499,18 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectIntersection,(const SDL_Rect *a, const SDL_R
 SDL_DYNAPI_PROC(void,SDL_GetRectUnion,(const SDL_Rect *a, const SDL_Rect *b, SDL_Rect *c),(a,b,c),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectEnclosingPoints,(const SDL_Point *a, int b, const SDL_Rect *c, SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectAndLineIntersection,(const SDL_Rect *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasRectIntersectionF,(const SDL_FRect *a, const SDL_FRect *b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectIntersectionF,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),return)
+SDL_DYNAPI_PROC(void,SDL_GetRectUnionF,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectEnclosingPointsF,(const SDL_FPoint *a, int b, const SDL_FRect *c, SDL_FRect *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectAndLineIntersectionF,(const SDL_FRect *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumRenderDrivers,(void),(),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetRenderDriver,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_CreateWindowAndRenderer,(int a, int b, Uint32 c, SDL_Window **d, SDL_Renderer **e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateRenderer,(SDL_Window *a, const char *b, Uint32 c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_Renderer*,SDL_CreateSoftwareRenderer,(SDL_Surface *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Renderer*,SDL_GetRenderer,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(SDL_Window*,SDL_GetRenderWindow,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetRendererInfo,(SDL_Renderer *a, SDL_RendererInfo *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GetRendererOutputSize,(SDL_Renderer *a, int *b, int *c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTexture,(SDL_Renderer *a, Uint32 b, int c, int d, int e),(a,b,c,d,e),return)
@@ -321,21 +522,32 @@ SDL_DYNAPI_PROC(int,SDL_SetTextureAlphaMod,(SDL_Texture *a, Uint8 b),(a,b),retur
 SDL_DYNAPI_PROC(int,SDL_GetTextureAlphaMod,(SDL_Texture *a, Uint8 *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_SetTextureBlendMode,(SDL_Texture *a, SDL_BlendMode b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GetTextureBlendMode,(SDL_Texture *a, SDL_BlendMode *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_SetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_SetTextureUserData,(SDL_Texture *a, void *b),(a,b),return)
+SDL_DYNAPI_PROC(void*,SDL_GetTextureUserData,(SDL_Texture *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_UpdateTexture,(SDL_Texture *a, const SDL_Rect *b, const void *c, int d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_UpdateYUVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f, const Uint8 *g, int h),(a,b,c,d,e,f,g,h),return)
+SDL_DYNAPI_PROC(int,SDL_UpdateNVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(int,SDL_LockTexture,(SDL_Texture *a, const SDL_Rect *b, void **c, int *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_LockTextureToSurface,(SDL_Texture *a, const SDL_Rect *b, SDL_Surface **c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_UnlockTexture,(SDL_Texture *a),(a),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsRenderTargetSupported,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetRenderTarget,(SDL_Renderer *a, SDL_Texture *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_GetRenderTarget,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetRenderLogicalSize,(SDL_Renderer *a, int b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_GetRenderLogicalSize,(SDL_Renderer *a, int *b, int *c),(a,b,c),)
+SDL_DYNAPI_PROC(int,SDL_SetRenderIntegerScale,(SDL_Renderer *a, SDL_bool b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetRenderIntegerScale,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetRenderViewport,(SDL_Renderer *a, const SDL_Rect *b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_GetRenderViewport,(SDL_Renderer *a, SDL_Rect *b),(a,b),)
 SDL_DYNAPI_PROC(int,SDL_SetRenderClipRect,(SDL_Renderer *a, const SDL_Rect *b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_GetRenderClipRect,(SDL_Renderer *a, SDL_Rect *b),(a,b),)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsRenderClipEnabled,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetRenderScale,(SDL_Renderer *a, float b, float c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_GetRenderScale,(SDL_Renderer *a, float *b, float *c),(a,b,c),)
+SDL_DYNAPI_PROC(void,SDL_RenderWindowToLogical,(SDL_Renderer *a, int b, int c, float *d, float *e),(a,b,c,d,e),)
+SDL_DYNAPI_PROC(void,SDL_RenderLogicalToWindow,(SDL_Renderer *a, float b, float c, int *d, int *e),(a,b,c,d,e),)
 SDL_DYNAPI_PROC(int,SDL_SetRenderDrawColor,(SDL_Renderer *a, Uint8 b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(int,SDL_GetRenderDrawColor,(SDL_Renderer *a, Uint8 *b, Uint8 *c, Uint8 *d, Uint8 *e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(int,SDL_SetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode b),(a,b),return)
@@ -351,17 +563,41 @@ SDL_DYNAPI_PROC(int,SDL_RenderFillRect,(SDL_Renderer *a, const SDL_Rect *b),(a,b
 SDL_DYNAPI_PROC(int,SDL_RenderFillRects,(SDL_Renderer *a, const SDL_Rect *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_RenderTexture,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_RenderTextureRotated,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_Rect *d, const double e, const SDL_Point *f, const SDL_RendererFlip g),(a,b,c,d,e,f,g),return)
+SDL_DYNAPI_PROC(int,SDL_RenderPointF,(SDL_Renderer *a, float b, float c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RenderPointsF,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RenderLineF,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return)
+SDL_DYNAPI_PROC(int,SDL_RenderLinesF,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RenderRectF,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_RenderRectsF,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RenderFillRectF,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_RenderFillRectsF,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RenderTextureF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_RenderTextureRotatedF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d, const double e, const SDL_FPoint *f, const SDL_RendererFlip g),(a,b,c,d,e,f,g),return)
+SDL_DYNAPI_PROC(int,SDL_RenderGeometry,(SDL_Renderer *a, SDL_Texture *b, const SDL_Vertex *c, int d, const int *e, int f),(a,b,c,d,e,f),return)
+SDL_DYNAPI_PROC(int,SDL_RenderGeometryRaw,(SDL_Renderer *a, SDL_Texture *b, const float *c, int d, const SDL_Color *e, int f, const float *g, int h, int i, const void *j, int k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
 SDL_DYNAPI_PROC(int,SDL_RenderReadPixels,(SDL_Renderer *a, const SDL_Rect *b, Uint32 c, void *d, int e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(void,SDL_RenderPresent,(SDL_Renderer *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_DestroyTexture,(SDL_Texture *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_DestroyRenderer,(SDL_Renderer *a),(a),)
+SDL_DYNAPI_PROC(int,SDL_RenderFlush,(SDL_Renderer *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GL_BindTexture,(SDL_Texture *a, float *b, float *c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_GL_UnbindTexture,(SDL_Texture *a),(a),return)
-SDL_DYNAPI_PROC(SDL_RWops*,SDL_RWFromFile,(const char *a, const char *b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_RWops*,SDL_RWFromMem,(void *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalLayer,(SDL_Renderer *a),(a),return)
+SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalCommandEncoder,(SDL_Renderer *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetRenderVSync,(SDL_Renderer *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_RWops*,SDL_RWFromFile,(const char *a, const char *b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_RWops*,SDL_RWFromMem,(void *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_RWops*,SDL_RWFromConstMem,(const void *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_RWops*,SDL_AllocRW,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_FreeRW,(SDL_RWops *a),(a),)
+SDL_DYNAPI_PROC(Sint64,SDL_RWsize,(SDL_RWops *a),(a),return)
+SDL_DYNAPI_PROC(Sint64,SDL_RWseek,(SDL_RWops *a, Sint64 b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(Sint64,SDL_RWtell,(SDL_RWops *a),(a),return)
+SDL_DYNAPI_PROC(Sint64,SDL_RWread,(SDL_RWops *a, void *b, Sint64 c),(a,b,c),return)
+SDL_DYNAPI_PROC(Sint64,SDL_RWwrite,(SDL_RWops *a, const void *b, Sint64 c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_RWclose,(SDL_RWops *a),(a),return)
+SDL_DYNAPI_PROC(void*,SDL_LoadFile_RW,(SDL_RWops *a, size_t *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(void*,SDL_LoadFile,(const char *a, size_t *b),(a,b),return)
 SDL_DYNAPI_PROC(Uint8,SDL_ReadU8,(SDL_RWops *a),(a),return)
 SDL_DYNAPI_PROC(Uint16,SDL_ReadLE16,(SDL_RWops *a),(a),return)
 SDL_DYNAPI_PROC(Uint16,SDL_ReadBE16,(SDL_RWops *a),(a),return)
@@ -376,6 +612,20 @@ SDL_DYNAPI_PROC(size_t,SDL_WriteLE32,(SDL_RWops *a, Uint32 b),(a,b),return)
 SDL_DYNAPI_PROC(size_t,SDL_WriteBE32,(SDL_RWops *a, Uint32 b),(a,b),return)
 SDL_DYNAPI_PROC(size_t,SDL_WriteLE64,(SDL_RWops *a, Uint64 b),(a,b),return)
 SDL_DYNAPI_PROC(size_t,SDL_WriteBE64,(SDL_RWops *a, Uint64 b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_HasSensors,(void),(),return)
+SDL_DYNAPI_PROC(SDL_SensorID*,SDL_GetSensors,(int *a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetSensorInstanceName,(SDL_SensorID a),(a),return)
+SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorInstanceType,(SDL_SensorID a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetSensorInstanceNonPortableType,(SDL_SensorID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Sensor*,SDL_OpenSensor,(SDL_SensorID a),(a),return)
+SDL_DYNAPI_PROC(SDL_Sensor*,SDL_GetSensorFromInstanceID,(SDL_SensorID a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetSensorName,(SDL_Sensor *a),(a),return)
+SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorType,(SDL_Sensor *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableType,(SDL_Sensor *a),(a),return)
+SDL_DYNAPI_PROC(SDL_SensorID,SDL_GetSensorInstanceID,(SDL_Sensor *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetSensorData,(SDL_Sensor *a, float *b, int c),(a,b,c),return)
+SDL_DYNAPI_PROC(void,SDL_CloseSensor,(SDL_Sensor *a),(a),)
+SDL_DYNAPI_PROC(void,SDL_UpdateSensors,(void),(),)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateShapedWindow,(const char *a, unsigned int b, unsigned int c, unsigned int d, unsigned int e, Uint32 f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsShapedWindow,(const SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetWindowShape,(SDL_Window *a, SDL_Surface *b, SDL_WindowShapeMode *c),(a,b,c),return)
@@ -384,21 +634,45 @@ SDL_DYNAPI_PROC(void*,SDL_malloc,(size_t a),(a),return)
 SDL_DYNAPI_PROC(void*,SDL_calloc,(size_t a, size_t b),(a,b),return)
 SDL_DYNAPI_PROC(void*,SDL_realloc,(void *a, size_t b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_free,(void *a),(a),)
+SDL_DYNAPI_PROC(void,SDL_GetOriginalMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
+SDL_DYNAPI_PROC(void,SDL_GetMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
+SDL_DYNAPI_PROC(int,SDL_SetMemoryFunctions,(SDL_malloc_func a, SDL_calloc_func b, SDL_realloc_func c, SDL_free_func d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_GetNumAllocations,(void),(),return)
 SDL_DYNAPI_PROC(char*,SDL_getenv,(const char *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_setenv,(const char *a, const char *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_qsort,(void *a, size_t b, size_t c, int (SDLCALL *d)(const void *, const void *)),(a,b,c,d),)
+SDL_DYNAPI_PROC(void*,SDL_bsearch,(const void *a, const void *b, size_t c, size_t d, int (SDLCALL *e)(const void *, const void *)),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(int,SDL_abs,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isalpha,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isalnum,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isblank,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_iscntrl,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_isdigit,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isxdigit,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_ispunct,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_isspace,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isupper,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_islower,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isprint,(int a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_isgraph,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_toupper,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_tolower,(int a),(a),return)
+SDL_DYNAPI_PROC(Uint16,SDL_crc16,(Uint16 a, const void *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(Uint32,SDL_crc32,(Uint32 a, const void *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(void*,SDL_memset,(SDL_OUT_BYTECAP(c) void *a, int b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(void*,SDL_memset4,(void *a, Uint32 b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(void*,SDL_memcpy,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(void*,SDL_memmove,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_memcmp,(const void *a, const void *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const wchar_t *a),(a),return)
 SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(wchar_t*,SDL_wcsdup,(const wchar_t *a),(a),return)
+SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_wcsncmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_wcscasecmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_wcsncasecmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(size_t,SDL_strlen,(const char *a),(a),return)
 SDL_DYNAPI_PROC(size_t,SDL_strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(size_t,SDL_utf8strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return)
@@ -410,6 +684,10 @@ SDL_DYNAPI_PROC(char*,SDL_strlwr,(char *a),(a),return)
 SDL_DYNAPI_PROC(char*,SDL_strchr,(const char *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(char*,SDL_strrchr,(const char *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(char*,SDL_strstr,(const char *a, const char *b),(a,b),return)
+SDL_DYNAPI_PROC(char*,SDL_strcasestr,(const char *a, const char *b),(a,b),return)
+SDL_DYNAPI_PROC(char*,SDL_strtokr,(char *a, const char *b, char **c),(a,b,c),return)
+SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return)
+SDL_DYNAPI_PROC(size_t,SDL_utf8strnlen,(const char *a, size_t b),(a,b),return)
 SDL_DYNAPI_PROC(char*,SDL_itoa,(int a, char *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(char*,SDL_uitoa,(unsigned int a, char *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(char*,SDL_ltoa,(long a, char *b, int c),(a,b,c),return)
@@ -427,27 +705,57 @@ SDL_DYNAPI_PROC(int,SDL_strcmp,(const char *a, const char *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_strncmp,(const char *a, const char *b, size_t c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_strcasecmp,(const char *a, const char *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_strncasecmp,(const char *a, const char *b, size_t c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_vsscanf,(const char *a, const char *b, va_list c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_vsnprintf,(SDL_OUT_Z_CAP(b) char *a, size_t b, const char *c, va_list d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_vasprintf,(char **a, const char *b, va_list c),(a,b,c),return)
 SDL_DYNAPI_PROC(double,SDL_acos,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_acosf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_asin,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_asinf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_atan,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_atanf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_atan2,(double a, double b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_atan2f,(float a, float b),(a,b),return)
 SDL_DYNAPI_PROC(double,SDL_ceil,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_ceilf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_copysign,(double a, double b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_copysignf,(float a, float b),(a,b),return)
 SDL_DYNAPI_PROC(double,SDL_cos,(double a),(a),return)
 SDL_DYNAPI_PROC(float,SDL_cosf,(float a),(a),return)
+SDL_DYNAPI_PROC(double,SDL_exp,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_expf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_fabs,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_fabsf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_floor,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_floorf,(float a),(a),return)
+SDL_DYNAPI_PROC(double,SDL_trunc,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_truncf,(float a),(a),return)
+SDL_DYNAPI_PROC(double,SDL_fmod,(double a, double b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_fmodf,(float a, float b),(a,b),return)
 SDL_DYNAPI_PROC(double,SDL_log,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_logf,(float a),(a),return)
+SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_pow,(double a, double b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_powf,(float a, float b),(a,b),return)
+SDL_DYNAPI_PROC(double,SDL_round,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_roundf,(float a),(a),return)
+SDL_DYNAPI_PROC(long,SDL_lround,(double a),(a),return)
+SDL_DYNAPI_PROC(long,SDL_lroundf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_scalbn,(double a, int b),(a,b),return)
+SDL_DYNAPI_PROC(float,SDL_scalbnf,(float a, int b),(a,b),return)
 SDL_DYNAPI_PROC(double,SDL_sin,(double a),(a),return)
 SDL_DYNAPI_PROC(float,SDL_sinf,(float a),(a),return)
 SDL_DYNAPI_PROC(double,SDL_sqrt,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_sqrtf,(float a),(a),return)
+SDL_DYNAPI_PROC(double,SDL_tan,(double a),(a),return)
+SDL_DYNAPI_PROC(float,SDL_tanf,(float a),(a),return)
 SDL_DYNAPI_PROC(SDL_iconv_t,SDL_iconv_open,(const char *a, const char *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_iconv_close,(SDL_iconv_t a),(a),return)
 SDL_DYNAPI_PROC(size_t,SDL_iconv,(SDL_iconv_t a, const char **b, size_t *c, char **d, size_t *e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(char*,SDL_iconv_string,(const char *a, const char *b, const char *c, size_t d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurface,(int a, int b, Uint32 c),(a,b,c),return)
+SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurfaceFrom,(void *a, int b, int c, int d, Uint32 e),(a,b,c,d,e),return)
 SDL_DYNAPI_PROC(void,SDL_DestroySurface,(SDL_Surface *a),(a),)
 SDL_DYNAPI_PROC(int,SDL_SetSurfacePalette,(SDL_Surface *a, SDL_Palette *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_LockSurface,(SDL_Surface *a),(a),return)
@@ -455,7 +763,9 @@ SDL_DYNAPI_PROC(void,SDL_UnlockSurface,(SDL_Surface *a),(a),)
 SDL_DYNAPI_PROC(SDL_Surface*,SDL_LoadBMP_RW,(SDL_RWops *a, int b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_SaveBMP_RW,(SDL_Surface *a, SDL_RWops *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_SetSurfaceRLE,(SDL_Surface *a, int b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_SurfaceHasRLE,(SDL_Surface *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetSurfaceColorKey,(SDL_Surface *a, int b, Uint32 c),(a,b,c),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_SurfaceHasColorKey,(SDL_Surface *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetSurfaceColorKey,(SDL_Surface *a, Uint32 *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_SetSurfaceColorMod,(SDL_Surface *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_GetSurfaceColorMod,(SDL_Surface *a, Uint8 *b, Uint8 *c, Uint8 *d),(a,b,c,d),return)
@@ -465,16 +775,30 @@ SDL_DYNAPI_PROC(int,SDL_SetSurfaceBlendMode,(SDL_Surface *a, SDL_BlendMode b),(a
 SDL_DYNAPI_PROC(int,SDL_GetSurfaceBlendMode,(SDL_Surface *a, SDL_BlendMode *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_SetSurfaceClipRect,(SDL_Surface *a, const SDL_Rect *b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_GetSurfaceClipRect,(SDL_Surface *a, SDL_Rect *b),(a,b),)
+SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Surface*,SDL_ConvertSurface,(SDL_Surface *a, const SDL_PixelFormat *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Surface*,SDL_ConvertSurfaceFormat,(SDL_Surface *a, Uint32 b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_ConvertPixels,(int a, int b, Uint32 c, const void *d, int e, Uint32 f, void *g, int h),(a,b,c,d,e,f,g,h),return)
+SDL_DYNAPI_PROC(int,SDL_PremultiplyAlpha,(int a, int b, Uint32 c, const void *d, int e, Uint32 f, void *g, int h),(a,b,c,d,e,f,g,h),return)
 SDL_DYNAPI_PROC(int,SDL_FillSurfaceRect,(SDL_Surface *a, const SDL_Rect *b, Uint32 c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_FillSurfaceRects,(SDL_Surface *a, const SDL_Rect *b, int c, Uint32 d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_BlitSurface,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_BlitSurfaceUnchecked,(SDL_Surface *a, SDL_Rect *b, SDL_Surface *c, SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_SoftStretch,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(int,SDL_SoftStretchLinear,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_BlitSurfaceScaled,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, SDL_Rect *d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(int,SDL_BlitSurfaceUncheckedScaled,(SDL_Surface *a, SDL_Rect *b, SDL_Surface *c, SDL_Rect *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(void,SDL_SetYUVConversionMode,(SDL_YUV_CONVERSION_MODE a),(a),)
+SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionMode,(void),(),return)
+SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionModeForResolution,(int a, int b),(a,b),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_IsTablet,(void),(),return)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationWillTerminate,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationDidReceiveMemoryWarning,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationWillResignActive,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationDidEnterBackground,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationWillEnterForeground,(void),(),)
+SDL_DYNAPI_PROC(void,SDL_OnApplicationDidBecomeActive,(void),(),)
+SDL_DYNAPI_PROC(int,SDL_GetWindowWMInfo,(SDL_Window *a, SDL_SysWMinfo *b, Uint32 c),(a,b,c),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetThreadName,(SDL_Thread *a),(a),return)
 SDL_DYNAPI_PROC(SDL_threadID,SDL_ThreadID,(void),(),return)
 SDL_DYNAPI_PROC(SDL_threadID,SDL_GetThreadID,(SDL_Thread *a),(a),return)
@@ -484,14 +808,19 @@ SDL_DYNAPI_PROC(void,SDL_DetachThread,(SDL_Thread *a),(a),)
 SDL_DYNAPI_PROC(SDL_TLSID,SDL_TLSCreate,(void),(),return)
 SDL_DYNAPI_PROC(void*,SDL_TLSGet,(SDL_TLSID a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_TLSSet,(SDL_TLSID a, const void *b, void (SDLCALL *c)(void*)),(a,b,c),return)
+SDL_DYNAPI_PROC(void,SDL_TLSCleanup,(void),(),)
 SDL_DYNAPI_PROC(Uint64,SDL_GetTicks,(void),(),return)
+SDL_DYNAPI_PROC(Uint64,SDL_GetTicksNS,(void),(),return)
 SDL_DYNAPI_PROC(Uint64,SDL_GetPerformanceCounter,(void),(),return)
 SDL_DYNAPI_PROC(Uint64,SDL_GetPerformanceFrequency,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_Delay,(Uint32 a),(a),)
+SDL_DYNAPI_PROC(void,SDL_DelayNS,(Uint64 a),(a),)
 SDL_DYNAPI_PROC(SDL_TimerID,SDL_AddTimer,(Uint32 a, SDL_TimerCallback b, void *c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_RemoveTimer,(SDL_TimerID a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumTouchDevices,(void),(),return)
 SDL_DYNAPI_PROC(SDL_TouchID,SDL_GetTouchDevice,(int a),(a),return)
+SDL_DYNAPI_PROC(const char*,SDL_GetTouchName,(int a),(a),return)
+SDL_DYNAPI_PROC(SDL_TouchDeviceType,SDL_GetTouchDeviceType,(SDL_TouchID a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumTouchFingers,(SDL_TouchID a),(a),return)
 SDL_DYNAPI_PROC(SDL_Finger*,SDL_GetTouchFinger,(SDL_TouchID a, int b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_GetVersion,(SDL_version *a),(a),)
@@ -502,14 +831,20 @@ SDL_DYNAPI_PROC(const char*,SDL_GetCurrentVideoDriver,(void),(),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumVideoDisplays,(void),(),return)
 SDL_DYNAPI_PROC(const char*,SDL_GetDisplayName,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetDisplayBounds,(int a, SDL_Rect *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetDisplayUsableBounds,(int a, SDL_Rect *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetDisplayDPI,(int a, float *b, float *c, float *d),(a,b,c,d),return)
+SDL_DYNAPI_PROC(SDL_DisplayOrientation,SDL_GetDisplayOrientation,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetNumDisplayModes,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetDisplayMode,(int a, int b, SDL_DisplayMode *c),(a,b,c),return)
 SDL_DYNAPI_PROC(int,SDL_GetDesktopDisplayMode,(int a, SDL_DisplayMode *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GetCurrentDisplayMode,(int a, SDL_DisplayMode *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_DisplayMode*,SDL_GetClosestDisplayMode,(int a, const SDL_DisplayMode *b, SDL_DisplayMode *c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_GetDisplayIndexForPoint,(const SDL_Point *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_GetDisplayIndexForRect,(const SDL_Rect *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GetWindowDisplayIndex,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_SetWindowDisplayMode,(SDL_Window *a, const SDL_DisplayMode *b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GetWindowDisplayMode,(SDL_Window *a, SDL_DisplayMode *b),(a,b),return)
+SDL_DYNAPI_PROC(void*,SDL_GetWindowICCProfile,(SDL_Window *a, size_t *b),(a,b),return)
 SDL_DYNAPI_PROC(Uint32,SDL_GetWindowPixelFormat,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindow,(const char *a, int b, int c, int d, int e, Uint32 f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindowFrom,(const void *a),(a),return)
@@ -525,11 +860,15 @@ SDL_DYNAPI_PROC(void,SDL_SetWindowPosition,(SDL_Window *a, int b, int c),(a,b,c)
 SDL_DYNAPI_PROC(void,SDL_GetWindowPosition,(SDL_Window *a, int *b, int *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_SetWindowSize,(SDL_Window *a, int b, int c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_GetWindowSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
+SDL_DYNAPI_PROC(int,SDL_GetWindowBordersSize,(SDL_Window *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
+SDL_DYNAPI_PROC(void,SDL_GetWindowSizeInPixels,(SDL_Window *a, int *b, int *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_SetWindowMinimumSize,(SDL_Window *a, int b, int c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_GetWindowMinimumSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_SetWindowMaximumSize,(SDL_Window *a, int b, int c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_GetWindowMaximumSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_SetWindowBordered,(SDL_Window *a, SDL_bool b),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_SetWindowResizable,(SDL_Window *a, SDL_bool b),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_SetWindowAlwaysOnTop,(SDL_Window *a, SDL_bool b),(a,b),)
 SDL_DYNAPI_PROC(void,SDL_ShowWindow,(SDL_Window *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_HideWindow,(SDL_Window *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_RaiseWindow,(SDL_Window *a),(a),)
@@ -541,417 +880,48 @@ SDL_DYNAPI_PROC(SDL_Surface*,SDL_GetWindowSurface,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_UpdateWindowSurface,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_UpdateWindowSurfaceRects,(SDL_Window *a, const SDL_Rect *b, int c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_SetWindowGrab,(SDL_Window *a, SDL_bool b),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_SetWindowKeyboardGrab,(SDL_Window *a, SDL_bool b),(a,b),)
+SDL_DYNAPI_PROC(void,SDL_SetWindowMouseGrab,(SDL_Window *a, SDL_bool b),(a,b),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_GetWindowGrab,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetWindowKeyboardGrab,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(SDL_bool,SDL_GetWindowMouseGrab,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
+SDL_DYNAPI_PROC(int,SDL_SetWindowMouseRect,(SDL_Window *a, const SDL_Rect *b),(a,b),return)
+SDL_DYNAPI_PROC(const SDL_Rect*,SDL_GetWindowMouseRect,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetWindowOpacity,(SDL_Window *a, float b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GetWindowOpacity,(SDL_Window *a, float *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_SetWindowModalFor,(SDL_Window *a, SDL_Window *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_SetWindowInputFocus,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(int,SDL_SetWindowHitTest,(SDL_Window *a, SDL_HitTest b, void *c),(a,b,c),return)
+SDL_DYNAPI_PROC(int,SDL_FlashWindow,(SDL_Window *a, SDL_FlashOperation b),(a,b),return)
 SDL_DYNAPI_PROC(void,SDL_DestroyWindow,(SDL_Window *a),(a),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_IsScreenSaverEnabled,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_EnableScreenSaver,(void),(),)
 SDL_DYNAPI_PROC(void,SDL_DisableScreenSaver,(void),(),)
 SDL_DYNAPI_PROC(int,SDL_GL_LoadLibrary,(const char *a),(a),return)
 SDL_DYNAPI_PROC(void*,SDL_GL_GetProcAddress,(const char *a),(a),return)
+SDL_DYNAPI_PROC(void*,SDL_EGL_GetProcAddress,(const char *a),(a),return)
 SDL_DYNAPI_PROC(void,SDL_GL_UnloadLibrary,(void),(),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_GL_ExtensionSupported,(const char *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_GL_ResetAttributes,(void),(),)
 SDL_DYNAPI_PROC(int,SDL_GL_SetAttribute,(SDL_GLattr a, int b),(a,b),return)
 SDL_DYNAPI_PROC(int,SDL_GL_GetAttribute,(SDL_GLattr a, int *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_GLContext,SDL_GL_CreateContext,(SDL_Window *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GL_MakeCurrent,(SDL_Window *a, SDL_GLContext b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_GL_GetCurrentWindow,(void),(),return)
 SDL_DYNAPI_PROC(SDL_GLContext,SDL_GL_GetCurrentContext,(void),(),return)
+SDL_DYNAPI_PROC(SDL_EGLDisplay,SDL_EGL_GetCurrentEGLDisplay,(void),(),return)
+SDL_DYNAPI_PROC(SDL_EGLConfig,SDL_EGL_GetCurrentEGLConfig,(void),(),return)
+SDL_DYNAPI_PROC(SDL_EGLSurface,SDL_EGL_GetWindowEGLSurface,(SDL_Window *a),(a),return)
+SDL_DYNAPI_PROC(void,SDL_EGL_SetEGLAttributeCallbacks,(SDL_EGLAttribArrayCallback a, SDL_EGLIntArrayCallback b, SDL_EGLIntArrayCallback c),(a,b,c),)
 SDL_DYNAPI_PROC(void,SDL_GL_GetDrawableSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
 SDL_DYNAPI_PROC(int,SDL_GL_SetSwapInterval,(int a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_GL_GetSwapInterval,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_GL_SwapWindow,(SDL_Window *a),(a),)
 SDL_DYNAPI_PROC(void,SDL_GL_DeleteContext,(SDL_GLContext a),(a),)
-SDL_DYNAPI_PROC(int,SDL_vsscanf,(const char *a, const char *b, va_list c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_AddGamepadMappingsFromRW,(SDL_RWops *a, int b),(a,b),return)
-SDL_DYNAPI_PROC(void,SDL_GL_ResetAttributes,(void),(),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX,(void),(),return)
-SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetDefaultAssertionHandler,(void),(),return)
-SDL_DYNAPI_PROC(SDL_AssertionHandler,SDL_GetAssertionHandler,(void **a),(a),return)
-#if defined(__WIN32__) || defined(__WINGDK__)
-SDL_DYNAPI_PROC(SDL_bool,SDL_DXGIGetOutputInfo,(int a, int *b, int *c),(a,b,c),return)
-#endif
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsRenderClipEnabled,(SDL_Renderer *a),(a),return)
-#ifdef __WINRT__
-SDL_DYNAPI_PROC(const wchar_t*,SDL_WinRTGetFSPathUNICODE,(SDL_WinRT_Path a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_WinRTGetFSPathUTF8,(SDL_WinRT_Path a),(a),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_WarpMouseGlobal,(int a, int b),(a,b),return)
-SDL_DYNAPI_PROC(float,SDL_sqrtf,(float a),(a),return)
-SDL_DYNAPI_PROC(double,SDL_tan,(double a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_tanf,(float a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_CaptureMouse,(SDL_bool a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SetWindowHitTest,(SDL_Window *a, SDL_HitTest b, void *c),(a,b,c),return)
-SDL_DYNAPI_PROC(Uint32,SDL_GetGlobalMouseState,(int *a, int *b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX2,(void),(),return)
-SDL_DYNAPI_PROC(int,SDL_QueueAudio,(SDL_AudioDeviceID a, const void *b, Uint32 c),(a,b,c),return)
-SDL_DYNAPI_PROC(Uint32,SDL_GetQueuedAudioSize,(SDL_AudioDeviceID a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_ClearQueuedAudio,(SDL_AudioDeviceID a),(a),)
-SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
-#if defined(__WIN32__) || defined(__GDK__)
-SDL_DYNAPI_PROC(void,SDL_SetWindowsMessageHook,(SDL_WindowsMessageHook a, void *b),(a,b),)
-#endif
-SDL_DYNAPI_PROC(int,SDL_GetDisplayDPI,(int a, float *b, float *c, float *d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_JoystickPowerLevel,SDL_GetJoystickPowerLevel,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromInstanceID,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromInstanceID,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetDisplayUsableBounds,(int a, SDL_Rect *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetWindowBordersSize,(SDL_Window *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
-SDL_DYNAPI_PROC(int,SDL_SetWindowOpacity,(SDL_Window *a, float b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetWindowOpacity,(SDL_Window *a, float *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_SetWindowInputFocus,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SetWindowModalFor,(SDL_Window *a, SDL_Window *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_SetRenderIntegerScale,(SDL_Renderer *a, SDL_bool b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetRenderIntegerScale,(SDL_Renderer *a),(a),return)
-SDL_DYNAPI_PROC(Uint32,SDL_DequeueAudio,(SDL_AudioDeviceID a, void *b, Uint32 c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_SetWindowResizable,(SDL_Window *a, SDL_bool b),(a,b),)
-SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurface,(int a, int b, Uint32 c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateSurfaceFrom,(void *a, int b, int c, int d, Uint32 e),(a,b,c,d,e),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetHintBoolean,(const char *a, SDL_bool b),(a,b),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendor,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProduct,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersion,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendor,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProduct,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersion,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasNEON,(void),(),return)
-SDL_DYNAPI_PROC(int,SDL_GetNumGamepadMappings,(void),(),return)
-SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForIndex,(int a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetJoystickAxisInitialState,(SDL_Joystick *a, int b, Sint16 *c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickType,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_MemoryBarrierReleaseFunction,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_MemoryBarrierAcquireFunction,(void),(),)
-SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return)
-SDL_DYNAPI_PROC(void*,SDL_LoadFile_RW,(SDL_RWops *a, size_t *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return)
-SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return)
 SDL_DYNAPI_PROC(int,SDL_Vulkan_LoadLibrary,(const char *a),(a),return)
 SDL_DYNAPI_PROC(void*,SDL_Vulkan_GetVkGetInstanceProcAddr,(void),(),return)
 SDL_DYNAPI_PROC(void,SDL_Vulkan_UnloadLibrary,(void),(),)
 SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_GetInstanceExtensions,(SDL_Window *a, unsigned int *b, const char **c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_CreateSurface,(SDL_Window *a, VkInstance b, VkSurfaceKHR *c),(a,b,c),return)
 SDL_DYNAPI_PROC(void,SDL_Vulkan_GetDrawableSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
-SDL_DYNAPI_PROC(void,SDL_LockJoysticks,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_UnlockJoysticks,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_GetMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
-SDL_DYNAPI_PROC(int,SDL_SetMemoryFunctions,(SDL_malloc_func a, SDL_calloc_func b, SDL_realloc_func c, SDL_free_func d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_GetNumAllocations,(void),(),return)
-SDL_DYNAPI_PROC(SDL_AudioStream*,SDL_CreateAudioStream,(SDL_AudioFormat a, Uint8 b, int c, SDL_AudioFormat d, Uint8 e, int f),(a,b,c,d,e,f),return)
-SDL_DYNAPI_PROC(int,SDL_PutAudioStreamData,(SDL_AudioStream *a, const void *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_GetAudioStreamData,(SDL_AudioStream *a, void *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_ClearAudioStream,(SDL_AudioStream *a),(a),)
-SDL_DYNAPI_PROC(int,SDL_GetAudioStreamAvailable,(SDL_AudioStream *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_DestroyAudioStream,(SDL_AudioStream *a),(a),)
-SDL_DYNAPI_PROC(int,SDL_FlushAudioStream,(SDL_AudioStream *a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_acosf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_asinf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_atanf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_atan2f,(float a, float b),(a,b),return)
-SDL_DYNAPI_PROC(float,SDL_ceilf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_copysignf,(float a, float b),(a,b),return)
-SDL_DYNAPI_PROC(float,SDL_fabsf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_floorf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_logf,(float a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_powf,(float a, float b),(a,b),return)
-SDL_DYNAPI_PROC(float,SDL_scalbnf,(float a, int b),(a,b),return)
-SDL_DYNAPI_PROC(double,SDL_fmod,(double a, double b),(a,b),return)
-SDL_DYNAPI_PROC(float,SDL_fmodf,(float a, float b),(a,b),return)
-SDL_DYNAPI_PROC(void,SDL_SetYUVConversionMode,(SDL_YUV_CONVERSION_MODE a),(a),)
-SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionMode,(void),(),return)
-SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionModeForResolution,(int a, int b),(a,b),return)
-SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalLayer,(SDL_Renderer *a),(a),return)
-SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalCommandEncoder,(SDL_Renderer *a),(a),return)
-#ifdef __WINRT__
-SDL_DYNAPI_PROC(SDL_WinRT_DeviceFamily,SDL_WinRTGetDeviceFamily,(void),(),return)
-#endif
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return)
-#endif
-SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return)
-#ifdef __LINUX__
-SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return)
-#endif
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return)
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsChromebook,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsDeXMode,(void),(),return)
-SDL_DYNAPI_PROC(void,SDL_AndroidBackButton,(void),(),)
-#endif
-SDL_DYNAPI_PROC(double,SDL_exp,(double a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_expf,(float a),(a),return)
-SDL_DYNAPI_PROC(wchar_t*,SDL_wcsdup,(const wchar_t *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_RumbleGamepad,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_RumbleJoystick,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_Sensor*,SDL_OpenSensor,(SDL_SensorID a),(a),return)
-SDL_DYNAPI_PROC(SDL_Sensor*,SDL_GetSensorFromInstanceID,(SDL_SensorID a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetSensorName,(SDL_Sensor *a),(a),return)
-SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorType,(SDL_Sensor *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableType,(SDL_Sensor *a),(a),return)
-SDL_DYNAPI_PROC(SDL_SensorID,SDL_GetSensorInstanceID,(SDL_Sensor *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetSensorData,(SDL_Sensor *a, float *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_CloseSensor,(SDL_Sensor *a),(a),)
-SDL_DYNAPI_PROC(void,SDL_UpdateSensors,(void),(),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsTablet,(void),(),return)
-SDL_DYNAPI_PROC(SDL_DisplayOrientation,SDL_GetDisplayOrientation,(int a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_SurfaceHasColorKey,(SDL_Surface *a),(a),return)
-
-#ifdef SDL_CreateThreadWithStackSize
-#undef SDL_CreateThreadWithStackSize
-#endif
-
-#if defined(__WIN32__) || defined(__GDK__)
-SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadWithStackSize,(SDL_ThreadFunction a, const char *b, const size_t c, void *d, pfnSDL_CurrentBeginThread e, pfnSDL_CurrentEndThread f),(a,b,c,d,e,f),return)
-#else
-SDL_DYNAPI_PROC(SDL_Thread*,SDL_CreateThreadWithStackSize,(SDL_ThreadFunction a, const char *b, const size_t c, void *d),(a,b,c,d),return)
-#endif
-
-SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndex,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndex,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_RenderFlush,(SDL_Renderer *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_RenderPointF,(SDL_Renderer *a, float b, float c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RenderPointsF,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RenderLineF,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return)
-SDL_DYNAPI_PROC(int,SDL_RenderLinesF,(SDL_Renderer *a, const SDL_FPoint *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RenderRectF,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_RenderRectsF,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RenderFillRectF,(SDL_Renderer *a, const SDL_FRect *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_RenderFillRectsF,(SDL_Renderer *a, const SDL_FRect *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RenderTextureF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_RenderTextureRotatedF,(SDL_Renderer *a, SDL_Texture *b, const SDL_Rect *c, const SDL_FRect *d, const double e, const SDL_FPoint *f, const SDL_RendererFlip g),(a,b,c,d,e,f,g),return)
-SDL_DYNAPI_PROC(SDL_TouchDeviceType,SDL_GetTouchDeviceType,(SDL_TouchID a),(a),return)
-SDL_DYNAPI_PROC(size_t,SDL_SIMDGetAlignment,(void),(),return)
-SDL_DYNAPI_PROC(void*,SDL_SIMDAlloc,(const size_t a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_SIMDFree,(void *a),(a),)
-SDL_DYNAPI_PROC(Sint64,SDL_RWsize,(SDL_RWops *a),(a),return)
-SDL_DYNAPI_PROC(Sint64,SDL_RWseek,(SDL_RWops *a, Sint64 b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(Sint64,SDL_RWtell,(SDL_RWops *a),(a),return)
-SDL_DYNAPI_PROC(Sint64,SDL_RWread,(SDL_RWops *a, void *b, Sint64 c),(a,b,c),return)
-SDL_DYNAPI_PROC(Sint64,SDL_RWwrite,(SDL_RWops *a, const void *b, Sint64 c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_RWclose,(SDL_RWops *a),(a),return)
-SDL_DYNAPI_PROC(void*,SDL_LoadFile,(const char *a, size_t *b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_MetalView,SDL_Metal_CreateView,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_Metal_DestroyView,(SDL_MetalView a),(a),)
-SDL_DYNAPI_PROC(int,SDL_LockTextureToSurface,(SDL_Texture *a, const SDL_Rect *b, SDL_Surface **c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasARMSIMD,(void),(),return)
-SDL_DYNAPI_PROC(char*,SDL_strtokr,(char *a, const char *b, char **c),(a,b,c),return)
-SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_wcsncmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadType,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromPlayerIndex,(int a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_SetGamepadPlayerIndex,(SDL_Gamepad *a, int b),(a,b),)
-SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromPlayerIndex,(int a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_SetJoystickPlayerIndex,(SDL_Joystick *a, int b),(a,b),)
-SDL_DYNAPI_PROC(int,SDL_SetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetTextureScaleMode,(SDL_Texture *a, SDL_ScaleMode *b),(a,b),return)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationWillTerminate,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationDidReceiveMemoryWarning,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationWillResignActive,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationDidEnterBackground,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationWillEnterForeground,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_OnApplicationDidBecomeActive,(void),(),)
-#ifdef __IOS__
-SDL_DYNAPI_PROC(void,SDL_OnApplicationDidChangeStatusBarOrientation,(void),(),)
-#endif
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(int,SDL_GetAndroidSDKVersion,(void),(),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_isupper,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_islower,(int a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickID,SDL_AttachVirtualJoystick,(SDL_JoystickType a, int b, int c, int d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_DetachVirtualJoystick,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsJoystickVirtual,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualAxis,(SDL_Joystick *a, int b, Sint16 c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualButton,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_SetJoystickVirtualHat,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return)
-SDL_DYNAPI_PROC(char*,SDL_GetErrorMsg,(char *a, int b),(a,b),return)
-SDL_DYNAPI_PROC(void*,SDL_Metal_GetLayer,(SDL_MetalView a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_Metal_GetDrawableSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
-SDL_DYNAPI_PROC(double,SDL_trunc,(double a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_truncf,(float a),(a),return)
-SDL_DYNAPI_PROC(SDL_Locale*,SDL_GetPreferredLocales,(void),(),return)
-SDL_DYNAPI_PROC(void*,SDL_SIMDRealloc,(void *a, const size_t b),(a,b),return)
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(SDL_bool,SDL_AndroidRequestPermission,(const char *a),(a),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_OpenURL,(const char *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_SurfaceHasRLE,(SDL_Surface *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasLED,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SetGamepadLED,(SDL_Gamepad *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasLED,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SetJoystickLED,(SDL_Joystick *a, Uint8 b, Uint8 c, Uint8 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_RumbleGamepadTriggers,(SDL_Gamepad *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_RumbleJoystickTriggers,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadNumTouchpads,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadNumTouchpadFingers,(SDL_Gamepad *a, int b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadTouchpadFinger,(SDL_Gamepad *a, int b, int c, Uint8 *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
-SDL_DYNAPI_PROC(Uint32,SDL_crc32,(Uint32 a, const void *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadSerial,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetJoystickSerial,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasSensor,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_SetGamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b, SDL_bool c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsGamepadSensorEnabled,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadSensorData,(SDL_Gamepad *a, SDL_SensorType b, float *c, int d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_wcscasecmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_wcsncasecmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(double,SDL_round,(double a),(a),return)
-SDL_DYNAPI_PROC(float,SDL_roundf,(float a),(a),return)
-SDL_DYNAPI_PROC(long,SDL_lround,(double a),(a),return)
-SDL_DYNAPI_PROC(long,SDL_lroundf,(float a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_SoftStretchLinear,(SDL_Surface *a, const SDL_Rect *b, SDL_Surface *c, const SDL_Rect *d),(a,b,c,d),return)
-#if defined(__WIN32__) || defined(__WINGDK__)
-SDL_DYNAPI_PROC(ID3D11Device*,SDL_RenderGetD3D11Device,(SDL_Renderer *a),(a),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_UpdateNVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f),(a,b,c,d,e,f),return)
-SDL_DYNAPI_PROC(void,SDL_SetWindowKeyboardGrab,(SDL_Window *a, SDL_bool b),(a,b),)
-SDL_DYNAPI_PROC(void,SDL_SetWindowMouseGrab,(SDL_Window *a, SDL_bool b),(a,b),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetWindowKeyboardGrab,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetWindowMouseGrab,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isalpha,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isalnum,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isblank,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_iscntrl,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isxdigit,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_ispunct,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isprint,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_isgraph,(int a),(a),return)
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(int,SDL_AndroidShowToast,(const char *a, int b, int c, int d, int e),(a,b,c,d,e),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_GetAudioDeviceSpec,(int a, int b, SDL_AudioSpec *c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_TLSCleanup,(void),(),)
-SDL_DYNAPI_PROC(void,SDL_SetWindowAlwaysOnTop,(SDL_Window *a, SDL_bool b),(a,b),)
-SDL_DYNAPI_PROC(int,SDL_FlashWindow,(SDL_Window *a, SDL_FlashOperation b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_SendGamepadEffect,(SDL_Gamepad *a, const void *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_SendJoystickEffect,(SDL_Joystick *a, const void *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(float,SDL_GetGamepadSensorDataRate,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_SetTextureUserData,(SDL_Texture *a, void *b),(a,b),return)
-SDL_DYNAPI_PROC(void*,SDL_GetTextureUserData,(SDL_Texture *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_RenderGeometry,(SDL_Renderer *a, SDL_Texture *b, const SDL_Vertex *c, int d, const int *e, int f),(a,b,c,d,e,f),return)
-SDL_DYNAPI_PROC(int,SDL_RenderGeometryRaw,(SDL_Renderer *a, SDL_Texture *b, const float *c, int d, const SDL_Color *e, int f, const float *g, int h, int i, const void *j, int k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return)
-SDL_DYNAPI_PROC(int,SDL_SetRenderVSync,(SDL_Renderer *a, int b),(a,b),return)
-#if !SDL_DYNAPI_PROC_NO_VARARGS
-SDL_DYNAPI_PROC(int,SDL_asprintf,(char **a, SDL_PRINTF_FORMAT_STRING const char *b, ...),(a,b),return)
-#endif
-SDL_DYNAPI_PROC(int,SDL_vasprintf,(char **a, const char *b, va_list c),(a,b,c),return)
-SDL_DYNAPI_PROC(void*,SDL_GetWindowICCProfile,(SDL_Window *a, size_t *b),(a,b),return)
-#ifdef __LINUX__
-SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriorityAndPolicy,(Sint64 a, int b, int c),(a,b,c),return)
-#endif
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForButton,(SDL_Gamepad *a, SDL_GamepadButton b),(a,b),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadAppleSFSymbolsNameForAxis,(SDL_Gamepad *a, SDL_GamepadAxis b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_hid_init,(void),(),return)
-SDL_DYNAPI_PROC(int,SDL_hid_exit,(void),(),return)
-SDL_DYNAPI_PROC(Uint32,SDL_hid_device_change_count,(void),(),return)
-SDL_DYNAPI_PROC(SDL_hid_device_info*,SDL_hid_enumerate,(unsigned short a, unsigned short b),(a,b),return)
-SDL_DYNAPI_PROC(void,SDL_hid_free_enumeration,(SDL_hid_device_info *a),(a),)
-SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open,(unsigned short a, unsigned short b, const wchar_t *c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_hid_device*,SDL_hid_open_path,(const char *a, int b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_hid_write,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_read_timeout,(SDL_hid_device *a, unsigned char *b, size_t c, int d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_hid_read,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_set_nonblocking,(SDL_hid_device *a, int b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_hid_send_feature_report,(SDL_hid_device *a, const unsigned char *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_get_feature_report,(SDL_hid_device *a, unsigned char *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_hid_close,(SDL_hid_device *a),(a),)
-SDL_DYNAPI_PROC(int,SDL_hid_get_manufacturer_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_get_product_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_get_serial_number_string,(SDL_hid_device *a, wchar_t *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_hid_get_indexed_string,(SDL_hid_device *a, int b, wchar_t *c, size_t d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_SetWindowMouseRect,(SDL_Window *a, const SDL_Rect *b),(a,b),return)
-SDL_DYNAPI_PROC(const SDL_Rect*,SDL_GetWindowMouseRect,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_RenderWindowToLogical,(SDL_Renderer *a, int b, int c, float *d, float *e),(a,b,c,d,e),)
-SDL_DYNAPI_PROC(void,SDL_RenderLogicalToWindow,(SDL_Renderer *a, float b, float c, int *d, int *e),(a,b,c,d,e),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasRumble,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickHasRumbleTriggers,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasRumble,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GamepadHasRumbleTriggers,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_hid_ble_scan,(SDL_bool a),(a),)
-SDL_DYNAPI_PROC(int,SDL_PremultiplyAlpha,(int a, int b, Uint32 c, const void *d, int e, Uint32 f, void *g, int h),(a,b,c,d,e,f,g,h),return)
-#ifdef __ANDROID__
-SDL_DYNAPI_PROC(int,SDL_AndroidSendMessage,(Uint32 a, int b),(a,b),return)
-#endif
-SDL_DYNAPI_PROC(const char*,SDL_GetTouchName,(int a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_ClearComposition,(void),(),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_IsTextInputShown,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasRectIntersectionF,(const SDL_FRect *a, const SDL_FRect *b),(a,b),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectIntersectionF,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_GetRectUnionF,(const SDL_FRect *a, const SDL_FRect *b, SDL_FRect *c),(a,b,c),)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectEnclosingPointsF,(const SDL_FPoint *a, int b, const SDL_FRect *c, SDL_FRect *d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_GetRectAndLineIntersectionF,(const SDL_FRect *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return)
-SDL_DYNAPI_PROC(SDL_Window*,SDL_GetRenderWindow,(SDL_Renderer *a),(a),return)
-SDL_DYNAPI_PROC(void*,SDL_bsearch,(const void *a, const void *b, size_t c, size_t d, int (SDLCALL *e)(const void *, const void *)),(a,b,c,d,e),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPath,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPath,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickID,SDL_AttachVirtualJoystickEx,(const SDL_VirtualJoystickDesc *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadFirmwareVersion,(SDL_Gamepad *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickFirmwareVersion,(SDL_Joystick *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_GUIDToString,(SDL_GUID a, char *b, int c),(a,b,c),)
-SDL_DYNAPI_PROC(SDL_GUID,SDL_GUIDFromString,(const char *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasLSX,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasLASX,(void),(),return)
-#if defined(__WIN32__) || defined(__GDK__)
-SDL_DYNAPI_PROC(ID3D12Device*,SDL_RenderGetD3D12Device,(SDL_Renderer *a),(a),return)
-#endif
-SDL_DYNAPI_PROC(size_t,SDL_utf8strnlen,(const char *a, size_t b),(a,b),return)
-
-#if defined(__GDK__)
-SDL_DYNAPI_PROC(int,SDL_GDKGetTaskQueue,(XTaskQueueHandle *a),(a),return)
-#endif
-SDL_DYNAPI_PROC(void,SDL_GetOriginalMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
-SDL_DYNAPI_PROC(void,SDL_ResetKeyboard,(void),(),)
-SDL_DYNAPI_PROC(int,SDL_GetDefaultAudioInfo,(char **a, SDL_AudioSpec *b, int c),(a,b,c),return)
-SDL_DYNAPI_PROC(int,SDL_GetDisplayIndexForPoint,(const SDL_Point *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetDisplayIndexForRect,(const SDL_Rect *a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_ResetHint,(const char *a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_crc16,(Uint16 a, const void *b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(void,SDL_GetWindowSizeInPixels,(SDL_Window *a, int *b, int *c),(a,b,c),)
-SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDInfo,(SDL_JoystickGUID a, Uint16 *b, Uint16 *c, Uint16 *d, Uint16 *e),(a,b,c,d,e),)
-SDL_DYNAPI_PROC(int,SDL_SetPrimarySelectionText,(const char *a),(a),return)
-SDL_DYNAPI_PROC(char*,SDL_GetPrimarySelectionText,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasPrimarySelectionText,(void),(),return)
-SDL_DYNAPI_PROC(void,SDL_ResetHints,(void),(),)
-SDL_DYNAPI_PROC(char*,SDL_strcasestr,(const char *a, const char *b),(a,b),return)
-SDL_DYNAPI_PROC(void*,SDL_EGL_GetProcAddress,(const char *a),(a),return)
-SDL_DYNAPI_PROC(SDL_EGLDisplay,SDL_EGL_GetCurrentEGLDisplay,(void),(),return)
-SDL_DYNAPI_PROC(SDL_EGLConfig,SDL_EGL_GetCurrentEGLConfig,(void),(),return)
-SDL_DYNAPI_PROC(SDL_EGLSurface,SDL_EGL_GetWindowEGLSurface,(SDL_Window *a),(a),return)
-SDL_DYNAPI_PROC(void,SDL_EGL_SetEGLAttributeCallbacks,(SDL_EGLAttribArrayCallback a, SDL_EGLIntArrayCallback b, SDL_EGLIntArrayCallback c),(a,b,c),)
-#if defined(__GDK__)
-SDL_DYNAPI_PROC(void,SDL_GDKSuspendComplete,(void),(),)
-#endif
-SDL_DYNAPI_PROC(int,SDL_GetWindowWMInfo,(SDL_Window *a, SDL_SysWMinfo *b, Uint32 c),(a,b,c),return)
-SDL_DYNAPI_PROC(void*,SDL_memset4,(void *a, Uint32 b, size_t c),(a,b,c),return)
-SDL_DYNAPI_PROC(Uint64,SDL_GetTicksNS,(void),(),return)
-SDL_DYNAPI_PROC(void,SDL_DelayNS,(Uint64 a),(a),)
-SDL_DYNAPI_PROC(Uint8,SDL_GetEventState,(Uint32 a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetRenderDriver,(int a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_RunApp,(int a, char* b[], SDL_main_func c, void *d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(SDL_SensorID*,SDL_GetSensors,(int *a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetSensorInstanceName,(SDL_SensorID a),(a),return)
-SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorInstanceType,(SDL_SensorID a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetSensorInstanceNonPortableType,(SDL_SensorID a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetJoysticks,(int *a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstanceName,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstancePath,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetJoystickInstancePlayerIndex,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickInstanceGUID,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceVendor,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProduct,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProductVersion,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickInstanceType,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstanceName,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstancePath,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadInstanceType,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(char*,SDL_GetGamepadInstanceMapping,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasJoysticks,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasSensors,(void),(),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_HasGamepads,(void),(),return)
-SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GetGamepadInstancePlayerIndex,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetGamepadInstanceGUID,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceVendor,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProduct,(SDL_JoystickID a),(a),return)
-SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProductVersion,(SDL_JoystickID a),(a),return)